Files
memind/mindspace-page-tag.test.mjs
T
john b5a88d9746 fix(brand): require TKMind platform marker on wechat page delivery
Backfill missing platform-brand footer at serve time and block service-
account links when the HTML file omits data-mindspace-page-tag.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 14:15:42 +08:00

39 lines
1.6 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import {
MINDSPACE_PAGE_TAG_ATTR,
MINDSPACE_PAGE_TAG_PLATFORM_BRAND,
ensurePlatformBrandFooter,
ensurePlatformBrandPageTags,
normalizePlatformBrandHtml,
prepareHtmlPageBrandMarkers,
} from './mindspace-page-tag.mjs';
test('normalizePlatformBrandHtml rewrites tkmind.ai to tkmind.cn', () => {
const html = '<a href="mailto:contact@tkmind.ai">📧 contact@tkmind.ai</a>';
const result = normalizePlatformBrandHtml(html);
assert.match(result, /TKMind · 智趣/);
assert.doesNotMatch(result, /tkmind\.ai/i);
assert.doesNotMatch(result, /contact@tkmind\.cn/i);
});
test('ensurePlatformBrandPageTags adds platform-brand marker to contact line', () => {
const html = '<footer><p>📧 contact@tkmind.ai</p></footer>';
const result = ensurePlatformBrandPageTags(html);
assert.match(result, new RegExp(`${MINDSPACE_PAGE_TAG_ATTR}="${MINDSPACE_PAGE_TAG_PLATFORM_BRAND}"`));
assert.match(result, /TKMind · 智趣/);
});
test('prepareHtmlPageBrandMarkers keeps existing marker', () => {
const html = `<p ${MINDSPACE_PAGE_TAG_ATTR}="${MINDSPACE_PAGE_TAG_PLATFORM_BRAND}">TKMind · 智趣</p>`;
const result = prepareHtmlPageBrandMarkers(html);
assert.equal(result.match(new RegExp(MINDSPACE_PAGE_TAG_ATTR, 'g'))?.length, 1);
});
test('ensurePlatformBrandFooter appends brand line when marker is missing', () => {
const html = '<html><body><main>content</main></body></html>';
const result = ensurePlatformBrandFooter(html);
assert.match(result, /data-mindspace-page-tag="platform-brand"/);
assert.match(result, /TKMind · 智趣/);
});