import test from 'node:test'; import assert from 'node:assert/strict'; import { injectPublicFileShareButton } from './mindspace-public-share-widget.mjs'; test('injectPublicFileShareButton adds plaza entry and confirm dialog', () => { const result = injectPublicFileShareButton('

Hi

'); assert.match(result.html, /data-action="plaza"/); assert.match(result.html, /发布到 Plaza/); assert.match(result.html, /data-action="plaza-confirm"/); assert.match(result.html, /quick-plaza-from-public-html/); assert.match(result.html, /quick-plaza-from-public-html\/status/); assert.match(result.html, /data-plaza-view="already"/); assert.match(result.html, /已在广场发布/); assert.match(result.html, /data-mindspace-public-share-dialog-panel role="dialog"/); assert.doesNotMatch(result.html, /data-mindspace-public-share-dialog-panel"/); assert.match(result.html, /color:#fff !important/); assert.match(result.html, /apiErrorBody/); assert.match(result.html, /ALREADY_PUBLISHED/); assert.equal(result.scriptHashes.length, 1); }); test('injectPublicFileShareButton hides Plaza entry and dialog for non-owner viewers', () => { const result = injectPublicFileShareButton( '

Hi

', { isOwner: false }, ); assert.doesNotMatch(result.html, /