import assert from 'node:assert/strict';
import test from 'node:test';
import {
injectRobotsNoindex,
injectSeoTags,
resolveCanonicalUrl,
} from './mindspace-seo-tags.mjs';
test('injectRobotsNoindex adds robots meta tags once', () => {
const html = '
Demo';
const next = injectRobotsNoindex(html);
assert.match(next, /name="robots" content="noindex, nofollow"/);
assert.match(next, /name="googlebot" content="noindex, nofollow"/);
assert.equal(injectRobotsNoindex(next), next);
});
test('injectSeoTags adds canonical and description', () => {
const html = 'DemoHi
';
const next = injectSeoTags(html, {
origin: 'https://m.tkmind.cn',
pageUrl: 'https://m.tkmind.cn/u/john/pages/demo',
publication: { publicUrl: '/u/john/pages/demo' },
canonicalEnabled: true,
});
assert.match(next, /rel="canonical" href="https:\/\/m\.tkmind\.cn\/u\/john\/pages\/demo"/);
});
test('resolveCanonicalUrl prefers publication public url', () => {
assert.equal(
resolveCanonicalUrl({
publication: { publicUrl: '/u/john/pages/demo' },
origin: 'https://m.tkmind.cn',
}),
'https://m.tkmind.cn/u/john/pages/demo',
);
});