diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /testing/web-platform/tests/clipboard-apis | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/clipboard-apis')
-rw-r--r-- | testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html | 61 | ||||
-rw-r--r-- | testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html | 60 |
2 files changed, 0 insertions, 121 deletions
diff --git a/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html b/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html deleted file mode 100644 index 292d100b2f..0000000000 --- a/testing/web-platform/tests/clipboard-apis/async-svg-script-removal.https.html +++ /dev/null @@ -1,61 +0,0 @@ -<!doctype html> -<meta charset="utf-8"> -<title> - Async Clipboard write ([image/svg+xml ClipboardItem]) -> readSvg (and remove scripts) tests -</title> -<link rel="help" href="https://w3c.github.io/clipboard-apis/#async-clipboard-api"> -<body>Body needed for test_driver.click()</body> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/resources/testdriver.js"></script> -<script src="/resources/testdriver-vendor.js"></script> -<script src="resources/user-activation.js"></script> -<script> -'use strict'; -// This function removes extra spaces between tags in svg. For example, the -// following svg: "<svg> <g> </g> </svg>" would turn into this -// svg: "<svg> <g> </g> </svg>" -// We remove the extra spaces because in svg they are considered equivalent, -// but when we are comparing for equality the spaces make a difference. -function reformatSvg(svg) { - const parser = new DOMParser(); - const svgString = - parser.parseFromString(svg, 'text/html').documentElement.innerHTML; - const reformattedString = svgString.replace(/\>\s*\</g, '> <'); - return reformattedString; -} - -// The string must be concatenated in this way because the html parser -// will recognize a script tag even in quotes as a real script tag. By -// splitting it up in this way we avoid that error. -const svg_with_script = - `<svg> <script>const a = 5;</scr' + 'ipt> - <a href="javascript:alert(2)"> test </a> </svg>`; -const svg_without_script = - `<svg> </svg>`; -promise_test(async t => { - await test_driver.set_permission({name: 'clipboard-read'}, 'granted'); - await test_driver.set_permission({name: 'clipboard-write'}, 'granted'); - const blobInput = new Blob([svg_with_script], {type: 'image/svg+xml'}); - const clipboardItem = new ClipboardItem({'image/svg+xml': blobInput}); - await waitForUserActivation(); - await navigator.clipboard.write([clipboardItem]); - await waitForUserActivation(); - const clipboardItems = - await navigator.clipboard.read({type: 'image/svg+xml'}); - - const svg = clipboardItems[0]; - assert_equals(svg.types.length, 1); - assert_equals(svg.types[0], 'image/svg+xml'); - - const blobOutput = await svg.getType('image/svg+xml'); - assert_equals(blobOutput.type, 'image/svg+xml'); - - const blobText = await (new Response(blobOutput)).text(); - - const outputSvg = reformatSvg(blobText); - const inputSvg = reformatSvg(svg_without_script); - assert_equals(outputSvg, inputSvg); -}, 'Verify write and read clipboard with scripts removed given image/svg+xml: ' - + svg_with_script); -</script> diff --git a/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html b/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html deleted file mode 100644 index 42f6c547b2..0000000000 --- a/testing/web-platform/tests/clipboard-apis/async-write-svg-read-svg.https.html +++ /dev/null @@ -1,60 +0,0 @@ -<!doctype html> -<meta charset="utf-8"> -<title> - Async Clipboard write ([image/svg+xml ClipboardItem]) -> read and write svg tests -</title> -<link rel="help" href="https://w3c.github.io/clipboard-apis/#async-clipboard-api"> -<body>Body needed for test_driver.click()</body> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/resources/testdriver.js"></script> -<script src="/resources/testdriver-vendor.js"></script> -<script src="resources/user-activation.js"></script> -<script> -'use strict'; -// This function removes extra spaces between tags in svg. For example, the -// following html: "<svg> <g> </g> </svg>" would turn into this -// html: "<svg> <g> </g> </svg>" -// We remove the extra spaces because in svg they are considered equivalent, -// but when we are comparing for equality the spaces make a difference. -function reformatSvg(svg) { - const parser = new DOMParser(); - const svgString = - parser.parseFromString(svg, 'text/html').documentElement.innerHTML; - const reformattedString = svgString.replace(/\>\s*\</g, '> <'); - return reformattedString; -} - -async function readWriteTest(textInput) { - await test_driver.set_permission({name: 'clipboard-read'}, 'granted'); - await test_driver.set_permission({name: 'clipboard-write'}, 'granted'); - const blobInput = new Blob([textInput], {type: 'image/svg+xml'}); - const clipboardItem = new ClipboardItem({'image/svg+xml': blobInput}); - await waitForUserActivation(); - await navigator.clipboard.write([clipboardItem]); - await waitForUserActivation(); - const clipboardItems = - await navigator.clipboard.read({type: 'image/svg+xml'}); - - const svg = clipboardItems[0]; - assert_equals(svg.types.length, 1); - assert_equals(svg.types[0], 'image/svg+xml'); - - const blobOutput = await svg.getType('image/svg+xml'); - assert_equals(blobOutput.type, 'image/svg+xml'); - - const blobText = await (new Response(blobOutput)).text(); - const outputSvg = reformatSvg(blobText); - const inputSvg = reformatSvg(textInput); - assert_equals(outputSvg, inputSvg); -} -const testCases = ['<svg></svg>', - '<svg> <circle cx="50" cy="50" r="40" /> </svg>']; - -promise_test(async t => { - for (const testCase of testCases) { - await readWriteTest(testCase); - } -}, 'Verify read and write of some image/svg+xml content'); - -</script> |