fix: hide platform actions from long image exports
Memind CI / Test, build, and release guards (push) Successful in 1m26s

This commit is contained in:
john
2026-07-27 22:37:22 +08:00
parent aff6ddf9d3
commit 3de116d3e7
2 changed files with 51 additions and 0 deletions
+20
View File
@@ -1,7 +1,9 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import {
hideLongImageExportChrome,
isLongImageDownloadRequest,
LONG_IMAGE_EXPORT_SELECTORS,
LONG_IMAGE_EXPORT_STYLE,
} from './mindspace-long-image.mjs';
@@ -13,7 +15,25 @@ test('recognizes supported long-image download query values', () => {
test('long-image capture style hides platform page actions', () => {
assert.match(LONG_IMAGE_EXPORT_STYLE, /\[data-mindspace-public-share\]/);
assert.match(LONG_IMAGE_EXPORT_STYLE, /\[data-mindspace-public-share-dialog\]/);
assert.match(LONG_IMAGE_EXPORT_STYLE, /\.publication-share-fab/);
assert.match(LONG_IMAGE_EXPORT_STYLE, /\.publication-share-sheet/);
assert.match(LONG_IMAGE_EXPORT_STYLE, /display:\s*none\s*!important/);
assert.ok(LONG_IMAGE_EXPORT_SELECTORS.includes('[data-mindspace-public-share]'));
});
test('long-image capture actively hides injected platform chrome before screenshot', async () => {
const calls = [];
const page = {
async addStyleTag(options) {
calls.push(['style', options.content]);
},
async evaluate(_fn, selectors) {
calls.push(['evaluate', selectors]);
},
};
await hideLongImageExportChrome(page);
assert.deepEqual(calls[0][0], 'style');
assert.match(calls[0][1], /\[data-mindspace-public-share\]/);
assert.deepEqual(calls[1], ['evaluate', LONG_IMAGE_EXPORT_SELECTORS]);
});