feat: consolidate shared UI and harden browser authority for release
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { normalizeWysiwygImageUrl, normalizeWysiwygLinkUrl } from "../src/components/wysiwygEditorUrls";
|
||||
import { isWysiwygDocumentUpdate } from "../src/components/wysiwygEditorUpdates";
|
||||
|
||||
function assertEqual(actual: unknown, expected: unknown, message: string): void {
|
||||
if (actual !== expected) {
|
||||
@@ -20,3 +21,8 @@ assertEqual(normalizeWysiwygImageUrl("cid:campaign-banner"), "cid:campaign-banne
|
||||
assertEqual(normalizeWysiwygImageUrl("data:image/png;base64,iVBORw0KGgo="), "data:image/png;base64,iVBORw0KGgo=", "raster data images are accepted");
|
||||
assertEqual(normalizeWysiwygImageUrl("data:image/svg+xml;base64,PHN2Zz4="), null, "active SVG data images are rejected");
|
||||
assertEqual(normalizeWysiwygImageUrl("javascript:alert(1)"), null, "script image sources are rejected");
|
||||
|
||||
assertEqual(isWysiwygDocumentUpdate({ docChanged: false }), false, "mount/editability updates do not dirty loaded content");
|
||||
assertEqual(isWysiwygDocumentUpdate({ docChanged: false }, [{ docChanged: false }]), false, "selection-only updates do not dirty loaded content");
|
||||
assertEqual(isWysiwygDocumentUpdate({ docChanged: true }), true, "typing and formatting publish document edits");
|
||||
assertEqual(isWysiwygDocumentUpdate({ docChanged: false }, [{ docChanged: true }]), true, "appended document edits are not lost");
|
||||
|
||||
Reference in New Issue
Block a user