import assert from 'node:assert/strict'; import test from 'node:test'; import { parsePushSubscriptionSecretCode, PUSH_SUBSCRIPTION_SECRET_CODES, } from './push-subscription-secret-codes.mjs'; test('parsePushSubscriptionSecretCode matches morning subscribe code', () => { assert.deepEqual(parsePushSubscriptionSecretCode('美丽心情'), { kind: 'morning_subscribe' }); assert.deepEqual(parsePushSubscriptionSecretCode(' 美丽 心情 '), { kind: 'morning_subscribe' }); }); test('parsePushSubscriptionSecretCode matches news immediate code', () => { assert.deepEqual(parsePushSubscriptionSecretCode('新闻早报'), { kind: 'news_immediate' }); assert.deepEqual(parsePushSubscriptionSecretCode(' 新闻 早报 '), { kind: 'news_immediate' }); }); test('parsePushSubscriptionSecretCode ignores partial or unrelated text', () => { assert.equal(parsePushSubscriptionSecretCode('美丽'), null); assert.equal(parsePushSubscriptionSecretCode('2'), null); assert.equal(parsePushSubscriptionSecretCode('取消新闻早报'), null); assert.equal(parsePushSubscriptionSecretCode(PUSH_SUBSCRIPTION_SECRET_CODES.morningSubscribe + '呀'), null); });