Mark createParserOption tests non-tentative - #61260
Community-TC (pull_request)
Verify that all tests affected by a pull request are stable when executed in firefox.
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2026-08-05T09:56:42.544Z
Resolved: 2026-08-05T09:59:53.980Z
Task Execution Time: 3 minutes, 11 seconds, 436 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: SfQPMLQ_SjuPHx86VL-n2A
RunId: 0
Artifacts
- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
WPT Command: python3 ./wpt run --channel=nightly --verify --verify-no-chaos-mode --verify-repeat-loop=0 --verify-repeat-restart=10 --github-checks-text-file=/home/test/artifacts/checkrun.md --affected base_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --verify-log-full --no-headless --binary=/home/test/build/firefox/firefox firefox
[taskcluster 2026-08-05 09:56:42.615Z] Task ID: SfQPMLQ_SjuPHx86VL-n2A
[taskcluster 2026-08-05 09:56:42.615Z] Worker ID: 1800250306955562686
[taskcluster 2026-08-05 09:56:42.615Z] Worker Group: us-east4-b
[taskcluster 2026-08-05 09:56:42.615Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2026-08-05 09:56:42.615Z] Worker Pool: proj-wpt/ci
[taskcluster 2026-08-05 09:56:42.615Z] Worker Version: 46.1.0
[taskcluster 2026-08-05 09:56:42.615Z] Public IP: 35.230.186.216
[taskcluster 2026-08-05 09:56:42.615Z] Hostname: proj-wpt-ci-pim1aodutho37g6-wcanlg
[taskcluster 2026-08-05 09:56:43.640Z] === Task Starting ===
+ '[' '' ']'
+ '[' -d /etc/profile.d ']'
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/01-locale-fix.sh ']'
+ . /etc/profile.d/01-locale-fix.sh
+++ /usr/bin/locale-check C.UTF-8
++ eval
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/apps-bin-path.sh ']'
+ . /etc/profile.d/apps-bin-path.sh
...(122449 lines hidden)...
1:48.79 INFO | | OK | |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `ShadowRoot: createParserOptions can override runScripts` | PASS | |
1:48.79 INFO | `ShadowRoot: createParserOptions cannot change runScripts from false to true` | PASS | |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: createParserOptions works after createHTML` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `ShadowRoot: createParserOptions cannot add unsafe elements to safe HTML setting` | PASS | |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.setHTMLUnsafe: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.79 INFO | `ShadowRoot.innerHTML: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.innerHTML: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.79 INFO | `ShadowRoot.beforebegin: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.beforebegin: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.79 INFO | `ShadowRoot.afterend: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.79 INFO | `ShadowRoot.afterend: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.setHTMLUnsafe: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.innerHTML: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.innerHTML: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.innerHTML: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.innerHTML: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.innerHTML: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.innerHTML: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.innerHTML: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.innerHTML: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.innerHTML: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.outerHTML: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.outerHTML: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.outerHTML: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.outerHTML: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.outerHTML: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.outerHTML: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.outerHTML: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.outerHTML: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.outerHTML: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.createContextualFragment: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.afterbegin: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.afterbegin: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.afterbegin: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.afterbegin: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.afterbegin: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.afterbegin: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.afterbegin: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.afterbegin: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.afterbegin: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforeend: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforeend: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforeend: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforeend: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.beforeend: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforeend: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforeend: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforeend: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforeend: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforebegin: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforebegin: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforebegin: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.79 INFO | `Element.beforebegin: createParserOptions can remove a sanitizer` | PASS | |
1:48.79 INFO | `Element.beforebegin: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforebegin: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.79 INFO | `Element.beforebegin: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.beforebegin: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.beforebegin: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.afterend: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element.afterend: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element.afterend: createParserOptions can override a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element.afterend: createParserOptions can remove a sanitizer` | PASS | |
1:48.80 INFO | `Element.afterend: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.afterend: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.afterend: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.afterend: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.afterend: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions can inject a sanitizer config` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions can inject a sanitizer` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions can override a sanitizer config` | FAIL | `assert_not_equals: got disallowed value null` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions can remove a sanitizer` | FAIL | `assert_not_equals: got disallowed value null` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions returning null fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions returning undefined fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions returning 0 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions returning 123 fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element.parseHTMLUnsafe: createParserOptions returning "foo" fails` | FAIL | `assert_throws_js: function "() => {\n get_root(\n node,\n method,\n "<div id='allowed'><span id=forbidden></span></div>",\n );\n }" did not throw` |
1:48.80 INFO | `Element: createParserOptions can override runScripts` | PASS | |
1:48.80 INFO | `Element: createParserOptions cannot change runScripts from false to true` | PASS | |
1:48.80 INFO | `Element: createContextualFragment with createParserOptions(runScripts=false) does not run scripts` | FAIL | `assert_false: expected false got true` |
1:48.80 INFO | `Element: createContextualFragment runs scripts by default` | PASS | |
1:48.80 INFO | `Element.setHTMLUnsafe: createParserOptions works after createHTML` | FAIL | `assert_equals: expected null but got Element node <span id="forbidden"></span>` |
1:48.80 INFO | `Element: createParserOptions cannot add unsafe elements to safe HTML setting` | PASS | |
1:48.80 INFO | `Element.setHTMLUnsafe: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.setHTMLUnsafe: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.innerHTML: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.innerHTML: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.outerHTML: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.outerHTML: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.createContextualFragment: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.createContextualFragment: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.afterbegin: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.afterbegin: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.beforeend: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.beforeend: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.beforebegin: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.beforebegin: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO | `Element.afterend: exception in createParserOptions is rethrown` | FAIL | `assert_throws_js: function "() => {\n run_method(node, method, "test string");\n }" did not throw` |
1:48.80 INFO | `Element.afterend: exception in createHTML prevents createParserOptions from running` | PASS | |
1:48.80 INFO
1:48.80 INFO ::: Running tests in a loop with restarts 10 times : PASS
1:48.80 INFO :::
1:48.80 INFO ::: Test verification PASS
1:48.80 INFO :::
[taskcluster 2026-08-05 09:59:52.237Z] === Task Finished ===
[taskcluster 2026-08-05 09:59:52.634Z] Successful task run with exit code: 0 completed in 190.019 seconds