diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2018-05-01 13:29:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-01 13:29:42 -0400 |
commit | 245dcc2118c88f7b51d65c124a85d74dd356a77a (patch) | |
tree | 96553a19391c1b8c1890e39111f94e65c8cfd659 | |
parent | 44cd8c0a7be61498aad7fda601751c6b4800168e (diff) | |
parent | 75286ca848b938a36f1f2cab7a754671e96d4b82 (diff) | |
download | servo-245dcc2118c88f7b51d65c124a85d74dd356a77a.tar.gz servo-245dcc2118c88f7b51d65c124a85d74dd356a77a.zip |
Auto merge of #20725 - servo-wpt-sync:wpt_update_30-04-2018, r=jdm
Sync WPT with upstream (30-04-2018)
Automated downstream sync of changes from upstream as of 30-04-2018.
[no-wpt-sync]
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20725)
<!-- Reviewable:end -->
274 files changed, 5754 insertions, 2845 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index f620be9e011..c9e1fa74b2e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -15601,6 +15601,18 @@ {} ] ], + "service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html": [ + [ + "/service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html", + {} + ] + ], + "service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html": [ + [ + "/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html", + {} + ] + ], "service-workers/service-worker/fetch-event-within-sw-manual.https.html": [ [ "/service-workers/service-worker/fetch-event-within-sw-manual.https.html", @@ -49575,6 +49587,30 @@ {} ] ], + "css/CSS2/floats/new-fc-beside-adjoining-float.html": [ + [ + "/css/CSS2/floats/new-fc-beside-adjoining-float.html", + [ + [ + "/css/reference/ref-filled-green-200px-square.html", + "==" + ] + ], + {} + ] + ], + "css/CSS2/floats/new-fc-separates-from-float.html": [ + [ + "/css/CSS2/floats/new-fc-separates-from-float.html", + [ + [ + "/css/reference/ref-filled-green-200px-square.html", + "==" + ] + ], + {} + ] + ], "css/CSS2/floats/zero-width-floats.html": [ [ "/css/CSS2/floats/zero-width-floats.html", @@ -100555,18 +100591,6 @@ {} ] ], - "css/css-backgrounds/background-rounded-image-clip.html": [ - [ - "/css/css-backgrounds/background-rounded-image-clip.html", - [ - [ - "/css/css-backgrounds/reference/background-rounded-image-clip.html", - "==" - ] - ], - {} - ] - ], "css/css-backgrounds/background-size-002.html": [ [ "/css/css-backgrounds/background-size-002.html", @@ -113383,6 +113407,18 @@ {} ] ], + "css/css-flexbox/percentage-size-subitems-001.html": [ + [ + "/css/css-flexbox/percentage-size-subitems-001.html", + [ + [ + "/css/css-flexbox/reference/percentage-size-subitems-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-flexbox/percentage-widths-001.html": [ [ "/css/css-flexbox/percentage-widths-001.html", @@ -113787,6 +113823,18 @@ {} ] ], + "css/css-fonts/font-display/font-display-preload.html": [ + [ + "/css/css-fonts/font-display/font-display-preload.html", + [ + [ + "/css/css-fonts/font-display/font-display-preload-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-fonts/font-display/font-display.html": [ [ "/css/css-fonts/font-display/font-display.html", @@ -117531,6 +117579,18 @@ {} ] ], + "css/css-grid/grid-items/percentage-size-subitems-001.html": [ + [ + "/css/css-grid/grid-items/percentage-size-subitems-001.html", + [ + [ + "/css/css-grid/grid-items/percentage-size-subitems-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-grid/grid-model/display-grid.html": [ [ "/css/css-grid/grid-model/display-grid.html", @@ -123255,6 +123315,30 @@ {} ] ], + "css/css-position/hypothetical-box-scroll-parent.html": [ + [ + "/css/css-position/hypothetical-box-scroll-parent.html", + [ + [ + "/css/css-position/hypothetical-box-scroll-parent-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-position/hypothetical-box-scroll-viewport.html": [ + [ + "/css/css-position/hypothetical-box-scroll-viewport.html", + [ + [ + "/css/css-position/hypothetical-box-scroll-viewport-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-position/position-relative-table-tbody-left-absolute-child.html": [ [ "/css/css-position/position-relative-table-tbody-left-absolute-child.html", @@ -128131,6 +128215,30 @@ {} ] ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html": [ + [ + "/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html", + [ + [ + "/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html": [ + [ + "/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html", + [ + [ + "/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html": [ [ "/css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-vertical-rl.html", @@ -160343,6 +160451,18 @@ {} ] ], + "css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html": [ + [ + "/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html", + [ + [ + "/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-writing-modes/svg-aliasing-001.html": [ [ "/css/css-writing-modes/svg-aliasing-001.html", @@ -182143,6 +182263,142 @@ {} ] ], + "infrastructure/reftest/green-ref.html": [ + [ + "/infrastructure/reftest/green-ref.html", + [ + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest.https.html": [ + [ + "/infrastructure/reftest/reftest.https.html", + [ + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_and_fail.html": [ + [ + "/infrastructure/reftest/reftest_and_fail.html", + [ + [ + "/infrastructure/reftest/reftest_and_fail_0-ref.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_match.html": [ + [ + "/infrastructure/reftest/reftest_match.html", + [ + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_match_fail.html": [ + [ + "/infrastructure/reftest/reftest_match_fail.html", + [ + [ + "/infrastructure/reftest/red.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_mismatch.html": [ + [ + "/infrastructure/reftest/reftest_mismatch.html", + [ + [ + "/infrastructure/reftest/red.html", + "!=" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_mismatch_fail.html": [ + [ + "/infrastructure/reftest/reftest_mismatch_fail.html", + [ + [ + "/infrastructure/reftest/green.html", + "!=" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_or_0.html": [ + [ + "/infrastructure/reftest/reftest_or_0.html", + [ + [ + "/infrastructure/reftest/red.html", + "==" + ], + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_ref_timeout.html": [ + [ + "/infrastructure/reftest/reftest_ref_timeout.html", + [ + [ + "/infrastructure/reftest/reftest_ref_timeout-ref.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_timeout.html": [ + [ + "/infrastructure/reftest/reftest_timeout.html", + [ + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_wait_0.html": [ + [ + "/infrastructure/reftest/reftest_wait_0.html", + [ + [ + "/infrastructure/reftest/green.html", + "==" + ] + ], + {} + ] + ], "mathml/presentation-markup/spaces/space-2.html": [ [ "/mathml/presentation-markup/spaces/space-2.html", @@ -186812,6 +187068,78 @@ ], {} ] + ], + "infrastructure/reftest/reftest_and_fail_0-ref.html": [ + [ + "/infrastructure/reftest/reftest_and_fail_0-ref.html", + [ + [ + "/infrastructure/reftest/red.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_cycle.html": [ + [ + "/infrastructure/reftest/reftest_cycle.html", + [ + [ + "/infrastructure/reftest/reftest_cycle_0-ref.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_cycle_0-ref.html": [ + [ + "/infrastructure/reftest/reftest_cycle_0-ref.html", + [ + [ + "/infrastructure/reftest/reftest_cycle_1-ref.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_cycle_1-ref.html": [ + [ + "/infrastructure/reftest/reftest_cycle_1-ref.html", + [ + [ + "/infrastructure/reftest/reftest_cycle.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_cycle_fail.html": [ + [ + "/infrastructure/reftest/reftest_cycle_fail.html", + [ + [ + "/infrastructure/reftest/reftest_cycle_fail_0-ref.html", + "==" + ] + ], + {} + ] + ], + "infrastructure/reftest/reftest_cycle_fail_0-ref.html": [ + [ + "/infrastructure/reftest/reftest_cycle_fail_0-ref.html", + [ + [ + "/infrastructure/reftest/reftest_cycle_fail.html", + "!=" + ] + ], + {} + ] ] }, "stub": { @@ -192037,6 +192365,11 @@ {} ] ], + "client-hints/accept_ch_malformed_header.https.html.headers": [ + [ + {} + ] + ], "client-hints/echo_client_hints_received.py": [ [ {} @@ -215287,21 +215620,11 @@ {} ] ], - "cookie-store/resources/delete_cookies.js": [ - [ - {} - ] - ], "cookie-store/resources/document_cookie.js": [ [ {} ] ], - "cookie-store/resources/get_set_get_all.js": [ - [ - {} - ] - ], "cookie-store/resources/http_cookie_and_set_cookie_headers.js": [ [ {} @@ -238607,11 +238930,6 @@ {} ] ], - "css/css-backgrounds/reference/background-rounded-image-clip.html": [ - [ - {} - ] - ], "css/css-backgrounds/reference/background-size-002-ref.html": [ [ {} @@ -240957,6 +241275,11 @@ {} ] ], + "css/css-flexbox/reference/percentage-size-subitems-001-ref.html": [ + [ + {} + ] + ], "css/css-flexbox/reference/ttwf-reftest-flex-align-content-center-ref.html": [ [ {} @@ -241337,6 +241660,11 @@ {} ] ], + "css/css-fonts/font-display/font-display-preload-ref.html": [ + [ + {} + ] + ], "css/css-fonts/font-display/font-display-ref.html": [ [ {} @@ -249872,6 +250200,11 @@ {} ] ], + "css/css-grid/grid-items/percentage-size-subitems-001-ref.html": [ + [ + {} + ] + ], "css/css-grid/grid-items/ref-filled-green-100px-square-image.html": [ [ {} @@ -250062,6 +250395,11 @@ {} ] ], + "css/css-images/parsing/resources/parsing-testcommon.js": [ + [ + {} + ] + ], "css/css-images/support/1x1-green.gif": [ [ {} @@ -251817,6 +252155,16 @@ {} ] ], + "css/css-position/hypothetical-box-scroll-parent-ref.html": [ + [ + {} + ] + ], + "css/css-position/hypothetical-box-scroll-viewport-ref.html": [ + [ + {} + ] + ], "css/css-position/position-relative-table-left-ref.html": [ [ {} @@ -253987,6 +254335,16 @@ {} ] ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html": [ + [ + {} + ] + ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html": [ + [ + {} + ] + ], "css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html": [ [ {} @@ -262577,6 +262935,11 @@ {} ] ], + "css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html": [ + [ + {} + ] + ], "css/css-writing-modes/support/100x100-lime.png": [ [ {} @@ -274017,6 +274380,16 @@ {} ] ], + "fetch/api/request/resources/hello.txt": [ + [ + {} + ] + ], + "fetch/api/request/resources/request-reset-attributes-worker.js": [ + [ + {} + ] + ], "fetch/api/resources/authentication.py": [ [ {} @@ -287567,6 +287940,11 @@ {} ] ], + "infrastructure/OWNERS": [ + [ + {} + ] + ], "infrastructure/README.md": [ [ {} @@ -287617,16 +287995,71 @@ {} ] ], + "infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini": [ + [ + {} + ] + ], "infrastructure/metadata/infrastructure/expected-fail/failing-test.html.ini": [ [ {} ] ], + "infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/reftest/reftest_match_fail.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/reftest/reftest_mismatch_fail.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/reftest/reftest_ref_timeout.html.ini": [ + [ + {} + ] + ], + "infrastructure/metadata/infrastructure/reftest/reftest_timeout.html.ini": [ + [ + {} + ] + ], "infrastructure/reftest-wait-ref.html": [ [ {} ] ], + "infrastructure/reftest/green.html": [ + [ + {} + ] + ], + "infrastructure/reftest/red.html": [ + [ + {} + ] + ], + "infrastructure/reftest/reftest_ref_timeout-ref.html": [ + [ + {} + ] + ], "infrastructure/webdriver/tests/conftest.py": [ [ {} @@ -287757,6 +288190,11 @@ {} ] ], + "interfaces/fetch.idl": [ + [ + {} + ] + ], "interfaces/filter-effects.idl": [ [ {} @@ -293887,6 +294325,11 @@ {} ] ], + "service-workers/cache-storage/resources/cache-keys-attributes-for-service-worker.js": [ + [ + {} + ] + ], "service-workers/cache-storage/resources/common-worker.js": [ [ {} @@ -294837,6 +295280,11 @@ {} ] ], + "service-workers/service-worker/resources/install-worker.html": [ + [ + {} + ] + ], "service-workers/service-worker/resources/interfaces-idls.js": [ [ {} @@ -300872,11 +301320,6 @@ {} ] ], - "xhr/abort-during-open.js": [ - [ - {} - ] - ], "xhr/folder.txt": [ [ {} @@ -301367,11 +301810,6 @@ {} ] ], - "xhr/send-send.js": [ - [ - {} - ] - ], "xhr/xmlhttprequest-sync-block-defer-scripts-subframe.html": [ [ {} @@ -310942,6 +311380,12 @@ {} ] ], + "client-hints/accept_ch_malformed_header.https.html": [ + [ + "/client-hints/accept_ch_malformed_header.https.html", + {} + ] + ], "clipboard-apis/async-interfaces.https.html": [ [ "/clipboard-apis/async-interfaces.https.html", @@ -313390,6 +313834,12 @@ {} ] ], + "cookie-store/cookieStore_delete_basic.tentative.window.js": [ + [ + "/cookie-store/cookieStore_delete_basic.tentative.window.html", + {} + ] + ], "cookie-store/cookieStore_event_arguments.tenative.window.js": [ [ "/cookie-store/cookieStore_event_arguments.tenative.window.html", @@ -313486,18 +313936,6 @@ {} ] ], - "cookie-store/delete_cookies.tentative.html": [ - [ - "/cookie-store/delete_cookies.tentative.html", - {} - ] - ], - "cookie-store/delete_cookies.tentative.https.html": [ - [ - "/cookie-store/delete_cookies.tentative.https.html", - {} - ] - ], "cookie-store/document_cookie.tentative.html": [ [ "/cookie-store/document_cookie.tentative.html", @@ -313516,18 +313954,6 @@ {} ] ], - "cookie-store/get_set_get_all.tentative.html": [ - [ - "/cookie-store/get_set_get_all.tentative.html", - {} - ] - ], - "cookie-store/get_set_get_all.tentative.https.html": [ - [ - "/cookie-store/get_set_get_all.tentative.https.html", - {} - ] - ], "cookie-store/http_cookie_and_set_cookie_headers.tentative.html": [ [ "/cookie-store/http_cookie_and_set_cookie_headers.tentative.html", @@ -313540,6 +313966,12 @@ {} ] ], + "cookie-store/httponly_cookies.window.js": [ + [ + "/cookie-store/httponly_cookies.window.html", + {} + ] + ], "cookie-store/idlharness.tentative.html": [ [ "/cookie-store/idlharness.tentative.html", @@ -316744,6 +317176,78 @@ {} ] ], + "css/css-images/parsing/gradient-position-invalid.html": [ + [ + "/css/css-images/parsing/gradient-position-invalid.html", + {} + ] + ], + "css/css-images/parsing/gradient-position-valid.html": [ + [ + "/css/css-images/parsing/gradient-position-valid.html", + {} + ] + ], + "css/css-images/parsing/image-orientation-invalid.html": [ + [ + "/css/css-images/parsing/image-orientation-invalid.html", + {} + ] + ], + "css/css-images/parsing/image-orientation-valid.html": [ + [ + "/css/css-images/parsing/image-orientation-valid.html", + {} + ] + ], + "css/css-images/parsing/image-rendering-invalid.html": [ + [ + "/css/css-images/parsing/image-rendering-invalid.html", + {} + ] + ], + "css/css-images/parsing/image-rendering-valid.html": [ + [ + "/css/css-images/parsing/image-rendering-valid.html", + {} + ] + ], + "css/css-images/parsing/image-resolution-invalid.html": [ + [ + "/css/css-images/parsing/image-resolution-invalid.html", + {} + ] + ], + "css/css-images/parsing/image-resolution-valid.html": [ + [ + "/css/css-images/parsing/image-resolution-valid.html", + {} + ] + ], + "css/css-images/parsing/object-fit-invalid.html": [ + [ + "/css/css-images/parsing/object-fit-invalid.html", + {} + ] + ], + "css/css-images/parsing/object-fit-valid.html": [ + [ + "/css/css-images/parsing/object-fit-valid.html", + {} + ] + ], + "css/css-images/parsing/object-position-invalid.html": [ + [ + "/css/css-images/parsing/object-position-invalid.html", + {} + ] + ], + "css/css-images/parsing/object-position-valid.html": [ + [ + "/css/css-images/parsing/object-position-valid.html", + {} + ] + ], "css/css-layout-api/at-supports-rule.https.html": [ [ "/css/css-layout-api/at-supports-rule.https.html", @@ -318040,6 +318544,12 @@ {} ] ], + "css/css-syntax/declarations-trim-whitespace.html": [ + [ + "/css/css-syntax/declarations-trim-whitespace.html", + {} + ] + ], "css/css-syntax/ident-three-code-points.html": [ [ "/css/css-syntax/ident-three-code-points.html", @@ -328454,9 +328964,9 @@ {} ] ], - "feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.sub.html": [ + "feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.html": [ [ - "/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.sub.html", + "/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.html", {} ] ], @@ -329088,12 +329598,6 @@ {} ] ], - "fetch/api/headers/headers-idl.html": [ - [ - "/fetch/api/headers/headers-idl.html", - {} - ] - ], "fetch/api/headers/headers-normalize.html": [ [ "/fetch/api/headers/headers-normalize.html", @@ -329122,6 +329626,24 @@ {} ] ], + "fetch/api/idl.any.js": [ + [ + "/fetch/api/idl.any.html", + {} + ], + [ + "/fetch/api/idl.any.sharedworker.html", + {} + ], + [ + "/fetch/api/idl.any.worker.html", + {} + ], + [ + "/fetch/api/idl.https.any.serviceworker.html", + {} + ] + ], "fetch/api/policies/csp-blocked-worker.html": [ [ "/fetch/api/policies/csp-blocked-worker.html", @@ -329426,12 +329948,6 @@ {} ] ], - "fetch/api/request/request-idl.html": [ - [ - "/fetch/api/request/request-idl.html", - {} - ] - ], "fetch/api/request/request-init-001.sub.html": [ [ "/fetch/api/request/request-init-001.sub.html", @@ -329464,6 +329980,12 @@ {} ] ], + "fetch/api/request/request-reset-attributes.https.html": [ + [ + "/fetch/api/request/request-reset-attributes.https.html", + {} + ] + ], "fetch/api/request/request-structure.html": [ [ "/fetch/api/request/request-structure.html", @@ -329530,12 +330052,6 @@ {} ] ], - "fetch/api/response/response-idl.html": [ - [ - "/fetch/api/response/response-idl.html", - {} - ] - ], "fetch/api/response/response-init-001.html": [ [ "/fetch/api/response/response-init-001.html", @@ -330900,12 +331416,6 @@ {} ] ], - "html/browsers/history/the-history-interface/history_pushstate_url.html": [ - [ - "/html/browsers/history/the-history-interface/history_pushstate_url.html", - {} - ] - ], "html/browsers/history/the-history-interface/history_replacestate.html": [ [ "/html/browsers/history/the-history-interface/history_replacestate.html", @@ -332836,6 +333346,12 @@ {} ] ], + "html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [ + [ + "/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.html", + {} + ] + ], "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js": [ [ "/html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.html", @@ -337262,6 +337778,12 @@ {} ] ], + "html/semantics/forms/form-submission-0/constructing-form-data-set.html": [ + [ + "/html/semantics/forms/form-submission-0/constructing-form-data-set.html", + {} + ] + ], "html/semantics/forms/form-submission-0/form-data-set-usv.html": [ [ "/html/semantics/forms/form-submission-0/form-data-set-usv.html", @@ -342588,6 +343110,12 @@ {} ] ], + "infrastructure/browsers/firefox/prefs.html": [ + [ + "/infrastructure/browsers/firefox/prefs.html", + {} + ] + ], "infrastructure/expected-fail/failing-test.html": [ [ "/infrastructure/expected-fail/failing-test.html", @@ -354668,12 +355196,6 @@ {} ] ], - "payment-request/PaymentCurrencyAmount/currencySystem-member.https.html": [ - [ - "/payment-request/PaymentCurrencyAmount/currencySystem-member.https.html", - {} - ] - ], "payment-request/PaymentItem/type_member.https.html": [ [ "/payment-request/PaymentItem/type_member.https.html", @@ -364120,6 +364642,18 @@ {} ] ], + "server-timing/navigation_timing_idl.html": [ + [ + "/server-timing/navigation_timing_idl.html", + {} + ] + ], + "server-timing/resource_timing_idl.html": [ + [ + "/server-timing/resource_timing_idl.html", + {} + ] + ], "server-timing/server_timing_header-parsing.html": [ [ "/server-timing/server_timing_header-parsing.html", @@ -364164,6 +364698,12 @@ } ] ], + "service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html": [ + [ + "/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html", + {} + ] + ], "service-workers/cache-storage/serviceworker/cache-keys.https.html": [ [ "/service-workers/cache-storage/serviceworker/cache-keys.https.html", @@ -365440,6 +365980,12 @@ {} ] ], + "service-workers/service-worker/update-result.https.html": [ + [ + "/service-workers/service-worker/update-result.https.html", + {} + ] + ], "service-workers/service-worker/update.https.html": [ [ "/service-workers/service-worker/update.https.html", @@ -369174,6 +369720,12 @@ {} ] ], + "webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html": [ + [ + "/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html", + {} + ] + ], "webaudio/the-audio-api/the-audiobuffer-interface/idl-test.html": [ [ "/webaudio/the-audio-api/the-audiobuffer-interface/idl-test.html", @@ -375320,15 +375872,13 @@ {} ] ], - "xhr/abort-during-open.htm": [ + "xhr/abort-during-open.any.js": [ [ - "/xhr/abort-during-open.htm", + "/xhr/abort-during-open.any.html", {} - ] - ], - "xhr/abort-during-open.worker.js": [ + ], [ - "/xhr/abort-during-open.worker.html", + "/xhr/abort-during-open.any.worker.html", {} ] ], @@ -376656,15 +377206,13 @@ {} ] ], - "xhr/send-send.htm": [ + "xhr/send-send.any.js": [ [ - "/xhr/send-send.htm", + "/xhr/send-send.any.html", {} - ] - ], - "xhr/send-send.worker.js": [ + ], [ - "/xhr/send-send.worker.html", + "/xhr/send-send.any.worker.html", {} ] ], @@ -396450,7 +396998,7 @@ "support" ], "./.taskcluster.yml": [ - "60dd14af458ca42626ec3f489e243b402fa87e1f", + "55bc5218ac0aeecadb401ec84f037ad62aa48399", "support" ], "./.travis.yml": [ @@ -396482,7 +397030,7 @@ "support" ], "./lint.whitelist": [ - "93f2328f5f3d43122505f201ddcb53c8d3d231bf", + "64e7ead5a7fa09f59be4dac4ccb5a1e7bf3cb4fc", "support" ], "./serve.py": [ @@ -407253,6 +407801,14 @@ "25cd8622db940411b0e8eb39921e6086916e4f36", "support" ], + "client-hints/accept_ch_malformed_header.https.html": [ + "d0c116ce2a1f8d775bb8d9b800eae05f0bee12f9", + "testharness" + ], + "client-hints/accept_ch_malformed_header.https.html.headers": [ + "e57611a23dbd0763e1d318af602f05a2593b149e", + "support" + ], "client-hints/echo_client_hints_received.py": [ "a6cf24dc7d02b044a27813f50737bb3aff4af8bf", "support" @@ -427537,6 +428093,10 @@ "f33ce9a975c759ce6da8a5caa371ca026dd537c4", "testharness" ], + "cookie-store/cookieStore_delete_basic.tentative.window.js": [ + "c0a5c01ffcdd3755eb3db3dc4a6ec398fd2aba37", + "testharness" + ], "cookie-store/cookieStore_event_arguments.tenative.window.js": [ "a61074b6062928c29a83e0f7d456fdce9e3a3d47", "testharness" @@ -427601,14 +428161,6 @@ "4d53aaecbf9fea2865ca6492bc69b2ec3a47af79", "testharness" ], - "cookie-store/delete_cookies.tentative.html": [ - "9ad9854eb07172eab8103a4131baf0817a926e16", - "testharness" - ], - "cookie-store/delete_cookies.tentative.https.html": [ - "69d05ab73a4692a08aa33ac20aa43cd1f6bb4e52", - "testharness" - ], "cookie-store/document_cookie.tentative.html": [ "23916c5325b2c98875eac4ab7291622b44974daf", "testharness" @@ -427621,14 +428173,6 @@ "179f3ffe69715f9767ec2d2ef661c429fef52bc6", "testharness" ], - "cookie-store/get_set_get_all.tentative.html": [ - "89c72f73d511ab3510653baebb7c77aab6441f35", - "testharness" - ], - "cookie-store/get_set_get_all.tentative.https.html": [ - "e2164c6e423724be2f91d47c0fa4931944ebff4f", - "testharness" - ], "cookie-store/http_cookie_and_set_cookie_headers.tentative.html": [ "7fb04dc519bafed5f35493f65664b51e23131a1d", "testharness" @@ -427637,6 +428181,10 @@ "2ccfc03ad6fedb063e2cd3ff9726b8d482ab5cf0", "testharness" ], + "cookie-store/httponly_cookies.window.js": [ + "29d9c0bfaa9aa3e7115758731156dbeca9e736dc", + "testharness" + ], "cookie-store/idlharness.tentative.html": [ "2a588a0b80a3cee80af52b9109770fe8ec17becd", "testharness" @@ -427678,27 +428226,19 @@ "testharness" ], "cookie-store/resources/cookie-test-helpers.js": [ - "09f5e60fc4b96a0cdb51b69a1c622c3898ad5568", + "930479693e3f0d6a32d1297b5da04c36ffc1be0e", "support" ], "cookie-store/resources/cookie_helper.py": [ "4b95a4012e36cacceb6737f751e99634bd7326b9", "support" ], - "cookie-store/resources/delete_cookies.js": [ - "f698e4dcc887b7e6d231fa0e8aa2aba58c3bda73", - "support" - ], "cookie-store/resources/document_cookie.js": [ - "b34ad56a2afd7f52c52dd0777b15eac2d77c4856", - "support" - ], - "cookie-store/resources/get_set_get_all.js": [ - "235f22721a73a617d0b14068c8e639e93232526a", + "3524f8f7fcd21d44f3566d7e0b86f5097613db2d", "support" ], "cookie-store/resources/http_cookie_and_set_cookie_headers.js": [ - "12e0d0f889bbc298e47c2450b20df0fe86ffb566", + "4217debc054a7c2ce7cf87f8b09959f143c2099f", "support" ], "cookie-store/resources/no_name_and_no_value.js": [ @@ -427714,7 +428254,7 @@ "support" ], "cookie-store/resources/ordering.js": [ - "822567b7eb113c809379dff5b62a2e24c9e9e171", + "583b20c4f4427710710e813e96fd7888c33a6a4e", "support" ], "cookie-store/serviceworker_cookieStore_arguments.js": [ @@ -429322,7 +429862,7 @@ "support" ], "css/.gitignore": [ - "3f645ca3bf6a77220d48e3e07b6dc3e1653d883c", + "4f3d84d9b91809b0e1b0dd976931d4e46004be3a", "support" ], "css/.htaccess": [ @@ -447741,6 +448281,14 @@ "7287e2ce42cab8fda1f63e97c98b664f0b49e9fb", "reftest" ], + "css/CSS2/floats/new-fc-beside-adjoining-float.html": [ + "f378062671d9de538e54c7dba552c2deab57baa4", + "reftest" + ], + "css/CSS2/floats/new-fc-separates-from-float.html": [ + "357427f1d71d7137c1ba4c386ae25acc7712928e", + "reftest" + ], "css/CSS2/floats/zero-space-between-floats-001.html": [ "59cd6c4ac06a611570a3ec21bac7289345b184f7", "testharness" @@ -488889,10 +489437,6 @@ "36050bffda9382cfd978dc82a2f0244a535a6a46", "support" ], - "css/css-backgrounds/background-rounded-image-clip.html": [ - "1f3a33ee141f0bf0186875d376bc95414db8dd18", - "reftest" - ], "css/css-backgrounds/background-size-001.html": [ "7cf677bf25a1fcac569bd0accd28dd66e6060a1b", "testharness" @@ -491269,10 +491813,6 @@ "1141a4c270ace715755b9b8352dab9baffca27c4", "support" ], - "css/css-backgrounds/reference/background-rounded-image-clip.html": [ - "0f98f9c82627977b11cde5f7c8ba536104cccdd2", - "support" - ], "css/css-backgrounds/reference/background-size-002-ref.html": [ "33d8850f315bedabb7024031b091a14177034c1d", "support" @@ -497761,6 +498301,10 @@ "210a01e299109975376cef799599967709758481", "reftest" ], + "css/css-flexbox/percentage-size-subitems-001.html": [ + "61dd606542937054a7e405dbafe860e9dcb24775", + "reftest" + ], "css/css-flexbox/percentage-widths-001-ref.html": [ "a139951dbeb1676b7add9a43d154595dc2e9859b", "support" @@ -497885,6 +498429,10 @@ "6373725b24ea14339e917284610a8e6f911570a6", "support" ], + "css/css-flexbox/reference/percentage-size-subitems-001-ref.html": [ + "eb39f554808c8ddff41ef6720df23a95010bf038", + "support" + ], "css/css-flexbox/reference/ttwf-reftest-flex-align-content-center-ref.html": [ "497c4dcc25d582efbfd927caf10a561433a615a6", "support" @@ -498337,12 +498885,20 @@ "9fbf0c808f338c5d668554ab62f10cfe0ca93c91", "testharness" ], + "css/css-fonts/font-display/font-display-preload-ref.html": [ + "5e27d8a3211beccce4e8822e5f49267ed7a72ffa", + "support" + ], + "css/css-fonts/font-display/font-display-preload.html": [ + "d0b61c7ad749c9db74dd3268800f13cb16137666", + "reftest" + ], "css/css-fonts/font-display/font-display-ref.html": [ "26fcc2758c649ce922397cd1c4aa862bdbf1e6a0", "support" ], "css/css-fonts/font-display/font-display.html": [ - "46e883b5b615b2aa8ba7e8eff3eb197f64614df2", + "aed82b64751022903531c88bbd5934557ebece24", "reftest" ], "css/css-fonts/font-face-unicode-range-2.html": [ @@ -507593,6 +508149,14 @@ "ca7e5d89d56f33291e83647bef188205bf01ef84", "reftest" ], + "css/css-grid/grid-items/percentage-size-subitems-001-ref.html": [ + "5d6652ce5649d15ecdeac623fea3541f5271be2a", + "support" + ], + "css/css-grid/grid-items/percentage-size-subitems-001.html": [ + "0321c064b4d450f243c8c99032e5d006ee47d1b4", + "reftest" + ], "css/css-grid/grid-items/ref-filled-green-100px-square-image.html": [ "bf155407f749404c00c2cb31e4b6999044a781e2", "support" @@ -507993,6 +508557,58 @@ "9b528f92e662c345e3ab6f7ad5502b97dc77f79f", "support" ], + "css/css-images/parsing/gradient-position-invalid.html": [ + "5bae73095070f46bc8f38a58fb3808d473d60058", + "testharness" + ], + "css/css-images/parsing/gradient-position-valid.html": [ + "b939e0d37a56ee607a4b7b4c59721c8facabb049", + "testharness" + ], + "css/css-images/parsing/image-orientation-invalid.html": [ + "d73028ae4b50467e1a04a80c9b0a33a1f195ba5b", + "testharness" + ], + "css/css-images/parsing/image-orientation-valid.html": [ + "07a4e4f0d471c1482ec55c1237c39791590158e8", + "testharness" + ], + "css/css-images/parsing/image-rendering-invalid.html": [ + "b053afe022c8928c8c18dc4e2dbba3c7224fe8c1", + "testharness" + ], + "css/css-images/parsing/image-rendering-valid.html": [ + "ee2bd095839ad643e8e1fc4e9924d11ee8befc22", + "testharness" + ], + "css/css-images/parsing/image-resolution-invalid.html": [ + "f48b7620d2e486815c51c616ddfa211739921dd4", + "testharness" + ], + "css/css-images/parsing/image-resolution-valid.html": [ + "b5306320fe0ab963bfcd81874616d19866d9fea6", + "testharness" + ], + "css/css-images/parsing/object-fit-invalid.html": [ + "30ce0f8f7a0b3d71c2c9347bfff588024f3f298d", + "testharness" + ], + "css/css-images/parsing/object-fit-valid.html": [ + "ffbe081c87d23c18001dfd1835675801bb8c7ea2", + "testharness" + ], + "css/css-images/parsing/object-position-invalid.html": [ + "20d721601fc3f13c6136cf01d41a9dd0372b865e", + "testharness" + ], + "css/css-images/parsing/object-position-valid.html": [ + "3c9d9c61b0d80d46e939349b46e222dbd35aa454", + "testharness" + ], + "css/css-images/parsing/resources/parsing-testcommon.js": [ + "b5cc6f7c0c7729328bbbc45ec2a8147dae8d8668", + "support" + ], "css/css-images/support/1x1-green.gif": [ "a3c674d4bdde016ea98db01141b2584c67526e4a", "support" @@ -511297,6 +511913,22 @@ "8e916c531505de282f4d01170addf7f413a4c818", "support" ], + "css/css-position/hypothetical-box-scroll-parent-ref.html": [ + "6f0eb6083a94389653b5037ab18d04237eb4ec81", + "support" + ], + "css/css-position/hypothetical-box-scroll-parent.html": [ + "5294f5513621dac35533e9133c09743ec8c2b66c", + "reftest" + ], + "css/css-position/hypothetical-box-scroll-viewport-ref.html": [ + "b85b15c076ef7309f59ef88472e2a1f473a4db4b", + "support" + ], + "css/css-position/hypothetical-box-scroll-viewport.html": [ + "397ca48cd4d5d40ad6458401cbc029cc965305bd", + "reftest" + ], "css/css-position/position-relative-table-left-ref.html": [ "044d07924d19f223eaa43950f9e9197d267e6be8", "support" @@ -515841,6 +516473,10 @@ "abadfe4da5dc6adc4e40700e84674ec84fc6d744", "testharness" ], + "css/css-syntax/declarations-trim-whitespace.html": [ + "4e95ed2655816b40c437af2846bf4b513e527f0b", + "testharness" + ], "css/css-syntax/ident-three-code-points.html": [ "7ce37259edc09da4e36f40c026ac76f33d829720", "testharness" @@ -515949,10 +516585,26 @@ "1d62418c7d244062887ab4237b254ce92121a32c", "reftest" ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html": [ + "6e351eb38a72f6e6d67b73bcae030da73b7034d9", + "support" + ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html": [ + "b8a7f312ff67da23ed7fc212b27f78ae712eec21", + "reftest" + ], "css/css-tables/height-distribution/percentage-sizing-of-table-cell-children.html": [ "55a759d84f38e6adf0f091c9c0ecaa69060cb51a", "testharness" ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html": [ + "44b8eefa18e5c99f034b997c40a5245d5b8d8497", + "support" + ], + "css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html": [ + "9f50c6aacca1d1c5a8ad5814b92566aae707cebd", + "reftest" + ], "css/css-tables/height-distribution/td-different-subpixel-padding-in-same-row-ref.html": [ "2bb8a26451a23ebcf548ad147d301ea5d9603c25", "support" @@ -537689,6 +538341,14 @@ "2543ef7b6e41b2b0614c32167f4e0a85319dae0c", "reftest" ], + "css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html": [ + "59177963e949b6c60b3e919f87de243a5ca24522", + "support" + ], + "css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html": [ + "c558b746bdc80a28371146de9a54ba4822e91088", + "reftest" + ], "css/css-writing-modes/support/100x100-lime.png": [ "b02fc2d0ad1d95a2aeb6011022e63928841b183f", "support" @@ -539510,7 +540170,7 @@ "support" ], "css/cssom-view/scroll-behavior-smooth.html": [ - "966ebff69f91c0ea92f4bc2f943df9ef9dc3bcf9", + "92b15db94769eccd94ee5b43b233b49ca66f2b9c", "testharness" ], "css/cssom-view/scroll-no-layout-box.html": [ @@ -553042,7 +553702,7 @@ "testharness" ], "dom/nodes/Document-constructor.html": [ - "638599e01c32e6566a4c445c8042e5b129ca60f5", + "f759f6b51f3c8324cdf040724f849820ad6fd54a", "testharness" ], "dom/nodes/Document-contentType/contentType/contenttype_bmp.html": [ @@ -557265,7 +557925,7 @@ "2ae1da8e026e63625a6168b842303cc156963ced", "support" ], - "feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.sub.html": [ + "feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.html": [ "fe6000c242c73c81b5fc3c227f7703299fea455c", "testharness" ], @@ -557709,10 +558369,6 @@ "71dc2b17b89ab6ec65f775cb6d1cab02808c0bc6", "testharness" ], - "fetch/api/headers/headers-idl.html": [ - "42dc60a28c86ef378a8aa614f411f13bae0a081a", - "testharness" - ], "fetch/api/headers/headers-normalize.html": [ "6ccdfba06f9a8692029d72ef81aee16a1996ca01", "testharness" @@ -557729,6 +558385,10 @@ "d4c5932358e07e927c5931c304ea37faa7d528ea", "testharness" ], + "fetch/api/idl.any.js": [ + "a911dfb5cd57f4a23f3641187697ad91a064edfe", + "testharness" + ], "fetch/api/policies/csp-blocked-worker.html": [ "f4f80fee9df57af84ec792bbfcd6da0d497a25e0", "testharness" @@ -557966,7 +558626,7 @@ "testharness" ], "fetch/api/request/destination/fetch-destination.https.html": [ - "5b7276e8a10bf91ee7d2a92917176b8e62c3255d", + "29e22bbe11b501fa354e90dde671f5f500fcaab3", "testharness" ], "fetch/api/request/destination/resources/dummy": [ @@ -558105,10 +558765,6 @@ "ca4f2d4b881202dc965ac13a06609ac6a2684ffc", "testharness" ], - "fetch/api/request/request-idl.html": [ - "679ff0c44a0ece1c480f5296e738b7a15f4c79cb", - "testharness" - ], "fetch/api/request/request-init-001.sub.html": [ "49bc4349b4e7a85d88cacd54227355aa986535f1", "testharness" @@ -558129,8 +558785,12 @@ "e6c2afd6cef41d358016d4d021b7c3e0e1185704", "testharness" ], + "fetch/api/request/request-reset-attributes.https.html": [ + "132b917c77c61230f7c5e84c3c9cafe4d1f0b565", + "testharness" + ], "fetch/api/request/request-structure.html": [ - "b01d5ae0d56c22d2b86e0efd2cf64ac938770b11", + "2af02f3ecf8449c91f2f1d28effc3478a4bfc235", "testharness" ], "fetch/api/request/request-type-attribute-historical.html": [ @@ -558141,6 +558801,14 @@ "3cd7d5191fe33b2f2dab571a4b006d8332fdf42e", "support" ], + "fetch/api/request/resources/hello.txt": [ + "f572d396fae9206628714fb2ce00f72e94f2258f", + "support" + ], + "fetch/api/request/resources/request-reset-attributes-worker.js": [ + "cde1835ecc64d416df0a25a8cdd1d2bcc3f38431", + "support" + ], "fetch/api/request/url-encoding.html": [ "1f8a8e00c5c1ba5ae9995ca6561801479b487b3a", "testharness" @@ -558289,10 +558957,6 @@ "06489e75d56cbbdbfee903bea7e39c549310ba3e", "testharness" ], - "fetch/api/response/response-idl.html": [ - "d94cfadf60dc146f80f7c1dc9937d7841600f9ef", - "testharness" - ], "fetch/api/response/response-init-001.html": [ "a45bf860ad19e31ff95c3add7b6f4ad7c0573254", "testharness" @@ -561105,10 +561769,6 @@ "8add09b76d8662f4343188a1ac36fe71fd4a225d", "testharness" ], - "html/browsers/history/the-history-interface/history_pushstate_url.html": [ - "d5e1649c88102f27da5fe1ac16715cfee7f70f84", - "testharness" - ], "html/browsers/history/the-history-interface/history_replacestate.html": [ "91cf4970bfa565ee8b846582bdbe608d38902fe7", "testharness" @@ -561670,7 +562330,7 @@ "support" ], "html/browsers/offline/browser-state/navigator_online_event-manual.https.html": [ - "6ad5311783547501b80d05eea9b7a414348b151a", + "0128e846b64f2f06d72300aaa089d1e9c13faa7f", "manual" ], "html/browsers/offline/browser-state/navigator_online_online.https.html": [ @@ -563425,6 +564085,10 @@ "a2a5acc9dfe53c7482eeaa4be3a4819238f8e120", "testharness" ], + "html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js": [ + "1e1c656e1d19c9c459faf16327e099a4c9e13872", + "testharness" + ], "html/dom/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt": [ "8d06cea05d408d70c59b1dbc5df3bda374d869a4", "support" @@ -573841,6 +574505,10 @@ "da39a3ee5e6b4b0d3255bfef95601890afd80709", "support" ], + "html/semantics/forms/form-submission-0/constructing-form-data-set.html": [ + "28ddddb0e685b6de4bb1270afdd791865d6bb787", + "testharness" + ], "html/semantics/forms/form-submission-0/contains.json": [ "5cb7e225df89561a1137933615b93c9912444006", "support" @@ -579313,6 +579981,10 @@ "4e33f8928d27bd64a96d72c32de08ebd483ab888", "support" ], + "infrastructure/OWNERS": [ + "aaf9297460eae343b6ebfe3bbf9a2b0677740f5e", + "support" + ], "infrastructure/README.md": [ "17caa93b8e495a096e26ffcfc229cecca453a644", "support" @@ -579381,6 +580053,10 @@ "e7549e915a809b48cac816dacdd7a9bbf476b596", "support" ], + "infrastructure/browsers/firefox/prefs.html": [ + "32cd95068c1f207719e75f27144ebe74eb7a9c75", + "testharness" + ], "infrastructure/expected-fail/failing-test.html": [ "c832afb4826fd43d2fcc4f5e3fd6a773a6ee35f0", "testharness" @@ -579389,10 +580065,42 @@ "0f536ac59a959769966d56c5a546f9f2c2557e97", "support" ], + "infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [ + "29d2053e55e60d4e8a15def3a96a3501db03ec54", + "support" + ], + "infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini": [ + "073cc56d2a4655779b55cf543a27ce1daded5936", + "support" + ], "infrastructure/metadata/infrastructure/expected-fail/failing-test.html.ini": [ "7eecbfc4845e6befe54b0f007d587a1a003993dc", "support" ], + "infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini": [ + "b6c1fe38e610a8ffaf843c0c0b791c65fe6d5145", + "support" + ], + "infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini": [ + "36720a54c9121d83c2f42150be8249442f8d4006", + "support" + ], + "infrastructure/metadata/infrastructure/reftest/reftest_match_fail.html.ini": [ + "30338e0d6c39e1ae6150a109166e598330cc467f", + "support" + ], + "infrastructure/metadata/infrastructure/reftest/reftest_mismatch_fail.html.ini": [ + "49250363a779c7f544ce20808c479ed21dfccf34", + "support" + ], + "infrastructure/metadata/infrastructure/reftest/reftest_ref_timeout.html.ini": [ + "a243788611107b6c2d228c1c793e1b966a91187d", + "support" + ], + "infrastructure/metadata/infrastructure/reftest/reftest_timeout.html.ini": [ + "8afb2d014ce4d04b79388feac15416215095b47f", + "support" + ], "infrastructure/reftest-wait-ref.html": [ "62552ac6981fc0c7aca84983569717eb2990a31e", "support" @@ -579401,6 +580109,86 @@ "1a291b68cdf6edcfc28a2ff22e294e8e8ebc0c42", "reftest" ], + "infrastructure/reftest/green-ref.html": [ + "13751835b881c199844f514e773df112385a9e13", + "reftest" + ], + "infrastructure/reftest/green.html": [ + "e698bcd7504f6c9fe04f3a15b5b948ae0fec856e", + "support" + ], + "infrastructure/reftest/red.html": [ + "9563fe27abd39ec6dab17ab599215a69b2324982", + "support" + ], + "infrastructure/reftest/reftest.https.html": [ + "b1c85b1eead1885a0fe977e95641b94fa3d6b726", + "reftest" + ], + "infrastructure/reftest/reftest_and_fail.html": [ + "641b3d7927737e81ccc480ab6e994a06dc4bd3cf", + "reftest" + ], + "infrastructure/reftest/reftest_and_fail_0-ref.html": [ + "52ab7ba703c4dc25a7435344b57c2dc6eef08571", + "reftest_node" + ], + "infrastructure/reftest/reftest_cycle.html": [ + "1775b919ba7e5dc9e44935ace5d53ec25453c7f9", + "reftest_node" + ], + "infrastructure/reftest/reftest_cycle_0-ref.html": [ + "b6faf401dde43e8afcad1278f6243b6b9c484893", + "reftest_node" + ], + "infrastructure/reftest/reftest_cycle_1-ref.html": [ + "7bbd342c126d2e445b83c89df98b3bf43884fa79", + "reftest_node" + ], + "infrastructure/reftest/reftest_cycle_fail.html": [ + "6acd776b1c04a8b069bd8f7bbc5bd001b7cd9d0a", + "reftest_node" + ], + "infrastructure/reftest/reftest_cycle_fail_0-ref.html": [ + "ca6da32889313e85ac1da20ceba8f38cbae50c45", + "reftest_node" + ], + "infrastructure/reftest/reftest_match.html": [ + "dd0dacd73566a26aed0fb6764d7c1a18b504c2d2", + "reftest" + ], + "infrastructure/reftest/reftest_match_fail.html": [ + "b45099526551022cd6ebc834981bd4abebc1d6ac", + "reftest" + ], + "infrastructure/reftest/reftest_mismatch.html": [ + "6eb987daabbbacbba7c5bffa7edbd57c8534cc80", + "reftest" + ], + "infrastructure/reftest/reftest_mismatch_fail.html": [ + "e5343dc9300974de71f96f0c736b2ff4e5920848", + "reftest" + ], + "infrastructure/reftest/reftest_or_0.html": [ + "1beaea5c2f84162bc279a9eb3d5861e509ac61b3", + "reftest" + ], + "infrastructure/reftest/reftest_ref_timeout-ref.html": [ + "da36ed75287ab3f4a92a32f82fea7084e3599a2b", + "support" + ], + "infrastructure/reftest/reftest_ref_timeout.html": [ + "be5bd98927dbda42fd41dfb3e696a2866746cd59", + "reftest" + ], + "infrastructure/reftest/reftest_timeout.html": [ + "280c5719094807cb8d80d706585c0dea586b1cd8", + "reftest" + ], + "infrastructure/reftest/reftest_wait_0.html": [ + "7c39501c8a2ddcd9ee0405af1df84e259205ab04", + "reftest" + ], "infrastructure/server/secure-context.https.any.js": [ "6f246bdc6d67a92a6518870542c20d2f8b2b5f5d", "testharness" @@ -579549,6 +580337,10 @@ "cba4a18b5a6b69c467067dc4a7ac7449f39be6a1", "support" ], + "interfaces/fetch.idl": [ + "b84c0af66b1bc37170021af455f85d5b5c0f01b2", + "support" + ], "interfaces/filter-effects.idl": [ "901c6d05e91de736ae1d627eca584e5c024786fa", "support" @@ -579566,7 +580358,7 @@ "support" ], "interfaces/geometry.idl": [ - "9aae8525ee6b27797783495e8d918892ee857a78", + "c757c625c0f5df3d677b5646bef04ac7075dbb64", "support" ], "interfaces/gyroscope.idl": [ @@ -588510,7 +589302,7 @@ "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html": [ - "9be6477f482c1d8613aadfa665f405019233c4cd", + "8dafe883a6f52b66e528fcb6a86c72a147f8cf9d", "testharness" ], "offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.html": [ @@ -589393,10 +590185,6 @@ "1a2bf6b62a5021eec649c0919a35574779e30d09", "manual" ], - "payment-request/PaymentCurrencyAmount/currencySystem-member.https.html": [ - "7bfce9810c1afdc53a99fa0036c472f6cfbe5deb", - "testharness" - ], "payment-request/PaymentItem/type_member.https.html": [ "5568f96eac7b0ebf1d91d468bb30b9eaa8b1a9f0", "testharness" @@ -598813,6 +599601,14 @@ "661cf7f329590a89aa2644a102a10d1ba34feb75", "testharness" ], + "server-timing/navigation_timing_idl.html": [ + "191f42a92f0ac135de816275920e54fa50065b15", + "testharness" + ], + "server-timing/resource_timing_idl.html": [ + "eba493537f5d156b4fb074e24787e522ea3c7971", + "testharness" + ], "server-timing/resources/blue.png": [ "7de5cdb5ad04ac365430b3b5f5ba01d2ba57ea23", "support" @@ -599502,7 +600298,7 @@ "support" ], "server-timing/server_timing_header-parsing.html": [ - "bde9c39ce610bd7178800f92f3181bef3cd55918", + "10f756bbf749b7ad8f7c6eb4efe752ee79c44b4a", "testharness" ], "server-timing/test_server_timing.html": [ @@ -599529,6 +600325,10 @@ "0ddb4f1cf84729ed673295719ec58a3e5d600a12", "support" ], + "service-workers/cache-storage/resources/cache-keys-attributes-for-service-worker.js": [ + "27d9ec7d86fcdb50e892321283d36143c5066461", + "support" + ], "service-workers/cache-storage/resources/common-worker.js": [ "7683f075e231ee17b3909f5cf96d727908823577", "support" @@ -599609,6 +600409,10 @@ "6484fca817f556be3ffead18f162649c0fbfba30", "testharness" ], + "service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html": [ + "ce03773200d0dc76199b0ea5353bc44be4e86793", + "testharness" + ], "service-workers/cache-storage/serviceworker/cache-keys.https.html": [ "c1f638bea1f897b086ce403b7a87fe4fd7b77b25", "testharness" @@ -599993,6 +600797,14 @@ "00c90429203c85ae8f10a6a6604cdf9619524f06", "testharness" ], + "service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html": [ + "9f69732ecf50608ea2695e2fb348d8dff6df6791", + "manual" + ], + "service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html": [ + "109c975e4c31e5e880b3308967c05623a76aacb4", + "manual" + ], "service-workers/service-worker/fetch-event-network-error.https.html": [ "07b81a0af207ee0723a9abae90e49482701f8935", "testharness" @@ -600050,7 +600862,7 @@ "testharness" ], "service-workers/service-worker/fetch-event.https.html": [ - "1a7e0410ef0e486738ca7c76542c2612228d5bd2", + "cf2d0ef7275fd08bd0fbd2dde4c8c4ee4a2452d6", "testharness" ], "service-workers/service-worker/fetch-frame-resource.https.html": [ @@ -600810,7 +601622,7 @@ "support" ], "service-workers/service-worker/resources/fetch-event-test-worker.js": [ - "bba096216d8fbca6d4ddb6b7e9352a095a5e5db8", + "2cd3893314f0296b4c8260f250cc87b570c7d692", "support" ], "service-workers/service-worker/resources/fetch-event-within-sw-worker.js": [ @@ -601005,6 +601817,10 @@ "fd486a19472f142bbd2909929a67ac3d39adc845", "support" ], + "service-workers/service-worker/resources/install-worker.html": [ + "0f2d441a80fb4641af35ad851e86690b7c02d1f7", + "support" + ], "service-workers/service-worker/resources/interfaces-idls.js": [ "2d3ae3bdd1be17a2871aa3af2009daaacf43d3db", "support" @@ -601613,6 +602429,10 @@ "aac5705d6844e4a33200418504adb57053a45be2", "testharness" ], + "service-workers/service-worker/update-result.https.html": [ + "06741e887be9746d7354394f74c054dd920d1b60", + "testharness" + ], "service-workers/service-worker/update.https.html": [ "d55da98b05b5885084474ebdbabdf6c0998f8bca", "testharness" @@ -608750,7 +609570,7 @@ "testharness" ], "web-animations/interfaces/KeyframeEffect/setKeyframes.html": [ - "a346e0e004010a6f51e06ffd30d0b6eddd45421d", + "c5c631ef4e728ea5f40f14ad5590e4836068f361", "testharness" ], "web-animations/interfaces/KeyframeEffect/target.html": [ @@ -609145,6 +609965,10 @@ "da39a3ee5e6b4b0d3255bfef95601890afd80709", "support" ], + "webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html": [ + "34d9e7ccb333ce23c838126a4e84918321292d33", + "testharness" + ], "webaudio/the-audio-api/the-audiobuffer-interface/idl-test.html": [ "0ef05c242d8f987d521c0e9ce474d0f9a46bee28", "testharness" @@ -609958,7 +610782,7 @@ "wdspec" ], "webdriver/tests/cookies/get_named_cookie.py": [ - "e6e265f417d17b4c9d349fbe9aa9fe3923dcfea0", + "a3116e826f4db0221224ccb9a0e0d71ecb1f9a85", "wdspec" ], "webdriver/tests/document_handling/page_source.py": [ @@ -609970,7 +610794,7 @@ "support" ], "webdriver/tests/element_click/bubbling.py": [ - "dde7ca3d7b8ee65222af0044f07087d3b0725bb9", + "67d9b7aeb95132759d28696cdcc60a279ccb702a", "wdspec" ], "webdriver/tests/element_click/select.py": [ @@ -610382,7 +611206,7 @@ "testharness" ], "webmessaging/message-channels/close.html": [ - "f5e17f831c797f2dac4fc5f75e09c5bb79288a5f", + "bcfac9e222374a485ed23433513012733551dafe", "testharness" ], "webmessaging/message-channels/worker.html": [ @@ -611066,115 +611890,115 @@ "support" ], "websockets/Close-1000-reason.any.js": [ - "232e2286e3a5d8017a4da0d6800af6f955e802be", + "c73946ea1fd8c159de394e2275d58f7c7ca5f20c", "testharness" ], "websockets/Close-1000.any.js": [ - "9aacd24847225cc15883bc97fe6083b1bce87585", + "e5084bdfe6473d7f980e841f3c943c16955af48e", "testharness" ], "websockets/Close-Reason-124Bytes.any.js": [ - "8fa6ced38fcc2199953370eefcb5007999d8f294", + "a9bc7a9db95787e5169df6b17fcf1fff2feba610", "testharness" ], "websockets/Close-reason-unpaired-surrogates.any.js": [ - "11a06fcb4b623667e880fa1b8410a0bceb158d13", + "e633954d64c77a2d7018592491cc4c8e06951db1", "testharness" ], "websockets/Close-undefined.any.js": [ - "e83fdcf0a96ff04974ab87cf103f1c6aa0da816d", + "4c3eb3b1fb0f2b5a86778473790b4ad01ba7913d", "testharness" ], "websockets/Create-Secure-extensions-empty.any.js": [ - "29649e1db7331a95da9f62b19d31bc072ee6fe81", + "8a9fa5df9c663bc03ea4a3c95a07ed03716c4d03", "testharness" ], "websockets/Create-Secure-url-with-space.any.js": [ - "06ac8bf7174529557116aade3a716a340e9d1500", + "7bb26f1f8a0508aa5e63e13a3944069ed4f664c0", "testharness" ], "websockets/Create-Secure-valid-url-array-protocols.any.js": [ - "242bf917d9ac4dcf6f11a8a9d1b597f956a4ef9e", + "5f03fbef258dceab738c9bab5a27b9e76d54cfd3", "testharness" ], "websockets/Create-Secure-valid-url-binaryType-blob.any.js": [ - "d0129913180eb49c7836672274386b26e1a26c09", + "64f5fdb17f8c8def458c6758e44ad5ec36fa64da", "testharness" ], "websockets/Create-Secure-valid-url-protocol-setCorrectly.any.js": [ - "e12b21a173d36dc1ecf06317f99e3dab212e5f53", + "f4ce408dcfb8df678635d9f47238ff3c37052297", "testharness" ], "websockets/Create-Secure-valid-url-protocol-string.any.js": [ - "34690bcf8232fe3ea672325af804e40025263fd5", + "9e257d2bf6e91198a1dc68d638505cdee5d861c9", "testharness" ], "websockets/Create-Secure-valid-url.any.js": [ - "c88bfec8807165df66fe07c9f45e84c4ce407a27", + "82d84cd25acb8ff4c5d821d19ee399dd8eeeeb54", "testharness" ], "websockets/Create-Secure-verify-url-set-non-default-port.any.js": [ - "3d5c48e01b37a39e47b9192e30d38d21d7278326", + "30d65805f43d04019390c3cc44be510cb6940f50", "testharness" ], "websockets/Create-asciiSep-protocol-string.any.js": [ - "b0778289d527b2a580788d91415ea70ca329caa2", + "1923df0d3f148f95ed38c58c800994dbda645cf6", "testharness" ], "websockets/Create-blocked-port.any.js": [ - "b2fba708f014738eee1efcceeb4c396ebf5ca5e8", + "e09fb109af886f9f85a7ba94556158e0d8a19a52", "testharness" ], "websockets/Create-invalid-urls.any.js": [ - "a61ec657e6b8e81b7ea3fd196f1553cf001c0b51", + "f856b70ef0d75e488dbf2d8f1e7d4f782f33ba66", "testharness" ], "websockets/Create-non-absolute-url.any.js": [ - "43a74d73fe628dce359ae02a549ac6eebde63c04", + "19ba28b0d4398943fdc99136015086822923ee8b", "testharness" ], "websockets/Create-nonAscii-protocol-string.any.js": [ - "7354ded8647d934361f297eac82e6c35c332e3de", + "25f712f43f31a6af798beb1a42d0192c33a8bb32", "testharness" ], "websockets/Create-on-worker-shutdown.any.js": [ - "44ebfd931d7db3e79dcd6c4869809d6812b6d3ec", + "a3770c937d8c97584cc380b21c1fb56a8db44c43", "testharness" ], "websockets/Create-protocol-with-space.any.js": [ - "0952d876349721a3ce7d8f444310265b56714e31", + "758bd4553fffbe2be5772fa7899ed47df124d233", "testharness" ], "websockets/Create-protocols-repeated-case-insensitive.any.js": [ - "119f105406ffd23d5e061907dfd05a033ab063a6", + "9849c576fc21afd75e890d258e511c85b7716c31", "testharness" ], "websockets/Create-protocols-repeated.any.js": [ - "7d9693702e2c00b5ad4f5f20ced8ee6d4f5b995e", + "25d5a390c53ba31893c9a4e38b865bdf129226d1", "testharness" ], "websockets/Create-valid-url-array-protocols.any.js": [ - "ef97eccc11ffd79158008ccbe5a883cc71e0bb2e", + "1e91ac9f1a048fddfa12cfd00a7f8f05df7dc55a", "testharness" ], "websockets/Create-valid-url-protocol-empty.any.js": [ - "0a373bbf19d2632d56ae7a798b628a2590544625", + "895ef38f0243b76b7cf82105bc33aac09ab8d692", "testharness" ], "websockets/Create-valid-url-protocol.any.js": [ - "7781737cf28ba7d96fdbf5db96c461b3f1b784ca", + "8771222d6b7f90890c17770d4848d5ac339d8fbd", "testharness" ], "websockets/Create-valid-url.any.js": [ - "5fd613b75c784f6c8c3f73775701afc132460167", + "bf76962a23369386bfe330df6643f157907bae1c", "testharness" ], "websockets/Create-verify-url-set-non-default-port.any.js": [ - "395dcc95796f3208ef4c70f02f3b9ef968f52ad9", + "48d6c6bcafe581b4ad6a958fdfd78cd1804e603b", "testharness" ], "websockets/Create-wrong-scheme.any.js": [ - "972ee46955f31fa402fcd0c83e528f2a803cad5b", + "d304ef9fac5ff9fe0ed78f3afd5705587dd126b4", "testharness" ], "websockets/OWNERS": [ @@ -611186,171 +612010,171 @@ "support" ], "websockets/Secure-Close-1000-reason.any.js": [ - "fbca7237aa1fcd8d93e61f1a25ce54e42ef947fe", + "8221d0691dc86d29a7dee193e20513c00ea46b00", "testharness" ], "websockets/Secure-Close-1000-verify-code.any.js": [ - "218c68a257e21c5f60dcf2d92e418e48955586a6", + "4e2249b7acb742493f6a9d55f4fd56a9d3cf63d1", "testharness" ], "websockets/Secure-Close-1000.any.js": [ - "c6c4580f1b8da8e1ad36cb143601495362bfd508", + "4f63153e506021917ce40a1d4a5c53e13d6c3ef4", "testharness" ], "websockets/Secure-Close-1005-verify-code.any.js": [ - "f0bf3684d5aeb48bd86fba2c02efd9f8190181f5", + "580df1d1e6e8f66b0bbc71f6c5d4990ff3b02c41", "testharness" ], "websockets/Secure-Close-1005.any.js": [ - "e23e64eccd5a030e894f09ffe798d3ddb67de995", + "339ba6a21ca5d866e495b795f231a9daee82a8fb", "testharness" ], "websockets/Secure-Close-2999-reason.any.js": [ - "683f82a05bac2622bda9f6a45d78174d49451541", + "c2bf627158d2ec8451e422361c63120483ac9111", "testharness" ], "websockets/Secure-Close-3000-reason.any.js": [ - "2d7d21e6e694f95493b6bb29af9e917b5bc87c3e", + "fa6643162dcb0625e334e30bfc5c37366642a7b5", "testharness" ], "websockets/Secure-Close-3000-verify-code.any.js": [ - "163a79159ada3cfb3ace3198b6e4374b9d46478a", + "b3c3d45983381ae71812a11b9c40f68025eaf952", "testharness" ], "websockets/Secure-Close-4999-reason.any.js": [ - "fce275a67d48f16dd383e4a1e40c9aae20604d56", + "84aa123efd5eabf160fd177da8660902cca41bac", "testharness" ], "websockets/Secure-Close-Reason-124Bytes.any.js": [ - "f92ea585dd90a6e2a7d60c1199aa55c053e1d0fd", + "0f105f09a7ac90e83cf84c2bfc1d9a7aaab8ec95", "testharness" ], "websockets/Secure-Close-Reason-Unpaired-surrogates.any.js": [ - "8d8499fe89fb9391011851d02a2a1cc87f3091d5", + "7ba712430ddc2ff7186f22f5b0f6137861344422", "testharness" ], "websockets/Secure-Close-onlyReason.any.js": [ - "094f560d486ed7d46c583f8412b27d4aa472cf3c", + "2ce5d4482f03c8ba76c2cd47bd3c817640420fee", "testharness" ], "websockets/Secure-Close-readyState-Closed.any.js": [ - "38acc8f3a4469183285601cf9345a924488e45c9", + "50ca1c7d19b7f857c85efd876a1813d55c7bae1f", "testharness" ], "websockets/Secure-Close-readyState-Closing.any.js": [ - "aded4a277b4c64b8c3ded0a4f4b0779d08b3cea6", + "6dff428424d3b91c431a858435ce9336a091d734", "testharness" ], "websockets/Secure-Close-server-initiated-close.any.js": [ - "1d87d57a4d15f4b811a2c420af673365a107b407", + "50d25f9ff3866cc534114ac2b709c01e9e40dce5", "testharness" ], "websockets/Secure-Close-undefined.any.js": [ - "3e508273245b39ea92e0cf3ab9d593627520368b", + "79ea9f2a46dda082fb368ac11d04176310a5186f", "testharness" ], "websockets/Secure-Send-65K-data.any.js": [ - "d104efed7f007b3f7de3caae01fe806e1c530880", + "4d237d1718c1a6befe7a437abeeccf6fd5c0bec9", "testharness" ], "websockets/Secure-Send-binary-65K-arraybuffer.any.js": [ - "e9266889aee0cdfcf086582583ed93a14f6385b3", + "166093627308dc67db01f49d124d2ec5645a7d17", "testharness" ], "websockets/Secure-Send-binary-arraybuffer.any.js": [ - "cc091b222b393d6d909362c156e8eaa72152188f", + "3675bebc4bc0b714eed1d68bed8aa71d3d480749", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-float32.any.js": [ - "59517667216000d2478a85b1d7b055cebf4a754b", + "06f1ec6d8d9c460c1c4adb7b621645cbad6bd298", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-float64.any.js": [ - "b7ae95fa2dd0ab49debc4d6642a419ee4a7f35ce", + "603b86abe929f38d560944602bbb1e14ce335ce3", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-int32.any.js": [ - "4ef004ec08824b203f6cbdc975389a9dff654cb0", + "6b53dfeab2b33c534a658b44979af0e91adae204", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-uint16-offset-length.any.js": [ - "c781ce38ea37f957d4d137736030b966721631f0", + "b43580e7e84b5a413a2fabf0b8c166c1a46320b5", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-uint32-offset.any.js": [ - "39cea2900157e85cf65872050800d0ea7d466a55", + "353ad1ce837ae296cbb9704e6455f43d37c9dfb8", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-uint8-offset-length.any.js": [ - "e106db1dc4ca7a06fa774be241095e4e6deb60e8", + "97da4f658e030ac313bca0d1a0bd1bbb886453bd", "testharness" ], "websockets/Secure-Send-binary-arraybufferview-uint8-offset.any.js": [ - "8f9e231fe07f0ed7e567f24c534333cfb9cb32fb", + "050785f65ee4929b693b2f10c13b686a40dd1ef1", "testharness" ], "websockets/Secure-Send-binary-blob.any.js": [ - "a1a21715d21201d6fad1f0335a5ea0e51e31cd1b", + "9f87909c3a863306a0000934f92a8878a4ab90e9", "testharness" ], "websockets/Secure-Send-data.any.js": [ - "b10e32b6d25283cfe95d00a142b389610b646862", + "26b24fae3ecfcc5c54e0369994aa5cbea35b8aa2", "testharness" ], "websockets/Secure-Send-null.any.js": [ - "eb112f60b553a387ac8a27f53b58e96afa4de1aa", + "f1890361335c1aabc1e169b95ee23bcd35196394", "testharness" ], "websockets/Secure-Send-paired-surrogates.any.js": [ - "aa67cb57c54847413d87f367d49079e92a0062a8", + "2ceb927d3e4252b58759e38f1462be8f0b8b7009", "testharness" ], "websockets/Secure-Send-unicode-data.any.js": [ - "f745957aac340a3125bb70548063dd16ed681ead", + "fe879468ca28a2b9dc74a2eb863905885f33d472", "testharness" ], "websockets/Secure-Send-unpaired-surrogates.any.js": [ - "44db96d250737541d81b85c16bfc13814b213ef9", + "0a04efcfafd84ceb1686dc41ef5ddabff3ff0fe9", "testharness" ], "websockets/Send-0byte-data.any.js": [ - "2c21aa13b8ce7b4baf94ef0bb8b583be9608e10e", + "547a4daeef60c2e509a8ab136e5f6e6e839691bc", "testharness" ], "websockets/Send-65K-data.any.js": [ - "4ef718a1e4211c5e96c7ef54568ced94a05fc0ff", + "f1f9b1da0de2910fba3ab0b2f27ccd6ecbf58e96", "testharness" ], "websockets/Send-Unpaired-Surrogates.any.js": [ - "565ec0feb15b7e71df3be3fd8b5ec049cd40b43d", + "cdf08b6708090bbff835f1e240736b5e594c2594", "testharness" ], "websockets/Send-before-open.any.js": [ - "8a3f6d4560e087962406377082b5be13851adfec", + "a782a3a149e527c1d298fe06ad14a75d74936483", "testharness" ], "websockets/Send-binary-65K-arraybuffer.any.js": [ - "6ef670a54495dec8beb8f64cf94316b2a02d7a0e", + "ce3e5fb8d8e090654984f32730abbd83d21ddc29", "testharness" ], "websockets/Send-binary-arraybuffer.any.js": [ - "68e1aea078f7f9584727a59e2e6b4de3c65dc124", + "8c11cfdbe0538787e9511ca083909c1b081dc0b2", "testharness" ], "websockets/Send-binary-arraybufferview-int16-offset.any.js": [ - "4e3e87ed3db6af233a42eaa701922447a12db386", + "719a0982190474eaa21d39ea62377a9edbfd8868", "testharness" ], "websockets/Send-binary-arraybufferview-int8.any.js": [ - "03b5defa1ec4c48b91f70b49cc6ea97a405c71b2", + "a7ab13227f528bb95a6d50ab34b78722222a253d", "testharness" ], "websockets/Send-binary-blob.any.js": [ - "04e9e6a6bf04008e30687723bf9ffcfdc44096c1", + "1a72e7872cc281cc371bf5d458a2f7e7c8982eb1", "testharness" ], "websockets/Send-data.any.js": [ - "91c1ceaacb5851b9b440d07788a8eef33d2d6005", + "dfbfbdf8355b48f87d33eecc057ef5ace354c427", "testharness" ], "websockets/Send-data.worker.js": [ @@ -611358,15 +612182,15 @@ "testharness" ], "websockets/Send-null.any.js": [ - "ebffe5099f644882956b1625f9017622a2f1f05f", + "2a7f3263f2485b7fd55b0a760a7f8a7ecea450a1", "testharness" ], "websockets/Send-paired-surrogates.any.js": [ - "196a425e64e9ec7d4e40bb72723abc349d3ed929", + "cc69d672f6a5d73600f4907382ae6ddee8c082e6", "testharness" ], "websockets/Send-unicode-data.any.js": [ - "5408066bfb2939cf2e6c2ce5f03dd0fb86c17e60", + "4c23d6be59d3f08645664e5b6ca3b856dd130f22", "testharness" ], "websockets/binary/001.html": [ @@ -611386,11 +612210,11 @@ "testharness" ], "websockets/binaryType-wrong-value.any.js": [ - "2dd693107e5bf29112bd3d08b45c6eccb081569e", + "81270d4f5bf218b58bbd399dacfb228d0722a127", "testharness" ], "websockets/close-invalid.any.js": [ - "d50557d4578f2d96080748315dcc8ffc7d6b7485", + "0e3c8c4c1220bc98b1d086eccb1a6596b5255291", "testharness" ], "websockets/closing-handshake/002.html": [ @@ -611410,7 +612234,7 @@ "support" ], "websockets/constructor.any.js": [ - "657960be0311f8859d64d69bfba00ffd493e135f", + "92fc1ff4b09dfc7cf045d7f278b435a4b5977da8", "testharness" ], "websockets/constructor/001.html": [ @@ -611526,7 +612350,7 @@ "support" ], "websockets/eventhandlers.any.js": [ - "ca5ba116d24a47d5903d1d76333fc7ae2da68cb0", + "7e46185674a47f12277346635469fa73df4f8606", "testharness" ], "websockets/extended-payload-length.html": [ @@ -616645,16 +617469,8 @@ "d536b0f1b6cd251a3ee1812501bf60e25130b543", "testharness" ], - "xhr/abort-during-open.htm": [ - "bc528083ac09ef3666eb07d294bc2b48dc142791", - "testharness" - ], - "xhr/abort-during-open.js": [ - "f46bf95a38cc79fe499f4990457fcf1eaa193068", - "support" - ], - "xhr/abort-during-open.worker.js": [ - "94180bce348fa9fd3826a8993d701936141b8b0b", + "xhr/abort-during-open.any.js": [ + "8b86a0c9cb405aa6bbc934cc99e3bdc0d5e23d85", "testharness" ], "xhr/abort-during-unsent.htm": [ @@ -617941,16 +618757,8 @@ "3e1788b46878b452f4417eb72dc16b80bcbad46c", "testharness" ], - "xhr/send-send.htm": [ - "8090983cb88c47209dd3e8a22883434401811985", - "testharness" - ], - "xhr/send-send.js": [ - "c802b56486b0967c4ede9d15dc64a546a627ef4a", - "support" - ], - "xhr/send-send.worker.js": [ - "f2de076a4fd8e7987aeb57b8f7cc44706d0cfa88", + "xhr/send-send.any.js": [ + "2c667c5a4901d91b491c34c90d57cd01eb37a7b3", "testharness" ], "xhr/send-sync-blocks-async.htm": [ diff --git a/tests/wpt/metadata/css/CSS2/floats/new-fc-beside-adjoining-float.html.ini b/tests/wpt/metadata/css/CSS2/floats/new-fc-beside-adjoining-float.html.ini new file mode 100644 index 00000000000..042b5c8181a --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/new-fc-beside-adjoining-float.html.ini @@ -0,0 +1,2 @@ +[new-fc-beside-adjoining-float.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/new-fc-separates-from-float.html.ini b/tests/wpt/metadata/css/CSS2/floats/new-fc-separates-from-float.html.ini new file mode 100644 index 00000000000..75f0028b81a --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/new-fc-separates-from-float.html.ini @@ -0,0 +1,2 @@ +[new-fc-separates-from-float.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/background-size-025.html.ini b/tests/wpt/metadata/css/css-backgrounds/background-size-025.html.ini new file mode 100644 index 00000000000..4143512af62 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/background-size-025.html.ini @@ -0,0 +1,2 @@ +[background-size-025.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/percentage-size-subitems-001.html.ini b/tests/wpt/metadata/css/css-flexbox/percentage-size-subitems-001.html.ini new file mode 100644 index 00000000000..737426ab549 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/percentage-size-subitems-001.html.ini @@ -0,0 +1,2 @@ +[percentage-size-subitems-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/font-display/font-display-preload.html.ini b/tests/wpt/metadata/css/css-fonts/font-display/font-display-preload.html.ini new file mode 100644 index 00000000000..c48b125c49d --- /dev/null +++ b/tests/wpt/metadata/css/css-fonts/font-display/font-display-preload.html.ini @@ -0,0 +1,2 @@ +[font-display-preload.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini index 9dd1e41db13..8462217d346 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini @@ -323,3 +323,6 @@ [Matching font-style: 'oblique 21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] expected: FAIL + [Descriptor mathcing priority: Style has higher priority than weight] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html.ini index ce924174648..db1ad73a768 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/font-parse-numeric-stretch-style-weight.html.ini @@ -1,5 +1,4 @@ [font-parse-numeric-stretch-style-weight.html] - [Valid value 100 matches 100 for weight in @font-face.] expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-stretch.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-stretch.html.ini index 3412ec0c36c..ed3f777dc72 100644 --- a/tests/wpt/metadata/css/css-fonts/variations/font-stretch.html.ini +++ b/tests/wpt/metadata/css/css-fonts/variations/font-stretch.html.ini @@ -1,5 +1,4 @@ [font-stretch.html] - [@getComputedStyle: 1e9% - huge legal percentage] expected: FAIL diff --git a/tests/wpt/metadata/css/css-images/parsing/gradient-position-invalid.html.ini b/tests/wpt/metadata/css/css-images/parsing/gradient-position-invalid.html.ini new file mode 100644 index 00000000000..3b7cc7d1d16 --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/gradient-position-invalid.html.ini @@ -0,0 +1,25 @@ +[gradient-position-invalid.html] + [e.style['background-image'\] = "radial-gradient(at center left 1px, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at center top 2px, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at right 3% center, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at left 4px top, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at right top 5px, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at bottom 6% center, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at bottom 7% left, red, blue)" should not set the property value] + expected: FAIL + + [e.style['background-image'\] = "radial-gradient(at bottom right 8%, red, blue)" should not set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/image-orientation-invalid.html.ini b/tests/wpt/metadata/css/css-images/parsing/image-orientation-invalid.html.ini new file mode 100644 index 00000000000..6336724c635 --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/image-orientation-invalid.html.ini @@ -0,0 +1,28 @@ +[image-orientation-invalid.html] + [e.style['image-orientation'\] = "auto" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "none" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "0" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "0 flip" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "0deg from-image" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "flip 0deg" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "flip from-image" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "from-image 0deg" should not set the property value] + expected: FAIL + + [e.style['image-orientation'\] = "from-image flip" should not set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/image-orientation-valid.html.ini b/tests/wpt/metadata/css/css-images/parsing/image-orientation-valid.html.ini new file mode 100644 index 00000000000..4eb18a63cba --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/image-orientation-valid.html.ini @@ -0,0 +1,4 @@ +[image-orientation-valid.html] + [e.style['image-orientation'\] = "flip" should set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/image-rendering-valid.html.ini b/tests/wpt/metadata/css/css-images/parsing/image-rendering-valid.html.ini new file mode 100644 index 00000000000..d577cd8f20f --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/image-rendering-valid.html.ini @@ -0,0 +1,7 @@ +[image-rendering-valid.html] + [e.style['image-rendering'\] = "smooth" should set the property value] + expected: FAIL + + [e.style['image-rendering'\] = "high-quality" should set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/image-resolution-invalid.html.ini b/tests/wpt/metadata/css/css-images/parsing/image-resolution-invalid.html.ini new file mode 100644 index 00000000000..d20b6a85fd2 --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/image-resolution-invalid.html.ini @@ -0,0 +1,16 @@ +[image-resolution-invalid.html] + [e.style['image-resolution'\] = "auto" should not set the property value] + expected: FAIL + + [e.style['image-resolution'\] = "100%" should not set the property value] + expected: FAIL + + [e.style['image-resolution'\] = "2" should not set the property value] + expected: FAIL + + [e.style['image-resolution'\] = "3dpi snap from-image" should not set the property value] + expected: FAIL + + [e.style['image-resolution'\] = "from-image snap 4dppx" should not set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/object-fit-invalid.html.ini b/tests/wpt/metadata/css/css-images/parsing/object-fit-invalid.html.ini new file mode 100644 index 00000000000..9df443d9ec4 --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/object-fit-invalid.html.ini @@ -0,0 +1,16 @@ +[object-fit-invalid.html] + [e.style['object-fit'\] = "auto" should not set the property value] + expected: FAIL + + [e.style['object-fit'\] = "contain cover" should not set the property value] + expected: FAIL + + [e.style['object-fit'\] = "fill scale-down" should not set the property value] + expected: FAIL + + [e.style['object-fit'\] = "contain fill" should not set the property value] + expected: FAIL + + [e.style['object-fit'\] = "cover none" should not set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/object-position-invalid.html.ini b/tests/wpt/metadata/css/css-images/parsing/object-position-invalid.html.ini new file mode 100644 index 00000000000..a6b7292a4af --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/object-position-invalid.html.ini @@ -0,0 +1,37 @@ +[object-position-invalid.html] + [e.style['object-position'\] = "auto" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "1px 2px 3px" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "left right" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom 10% top 20%" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "center left 1px" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "center top 2px" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "right 3% center" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "left 4px top" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "right top 5px" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom 6% center" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom 7% left" should not set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom right 8%" should not set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-images/parsing/object-position-valid.html.ini b/tests/wpt/metadata/css/css-images/parsing/object-position-valid.html.ini new file mode 100644 index 00000000000..df6b365d30d --- /dev/null +++ b/tests/wpt/metadata/css/css-images/parsing/object-position-valid.html.ini @@ -0,0 +1,22 @@ +[object-position-valid.html] + [e.style['object-position'\] = "10%" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom 10% right 20%" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "bottom right" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "center left" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "left" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "top" should set the property value] + expected: FAIL + + [e.style['object-position'\] = "top center" should set the property value] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-text/astral-bidi/adlam-anti-ref.html.ini b/tests/wpt/metadata/css/css-text/astral-bidi/adlam-anti-ref.html.ini index 9b2cdade18e..6c003765cca 100644 --- a/tests/wpt/metadata/css/css-text/astral-bidi/adlam-anti-ref.html.ini +++ b/tests/wpt/metadata/css/css-text/astral-bidi/adlam-anti-ref.html.ini @@ -1,3 +1,2 @@ [adlam-anti-ref.html] - expected: - if os == "mac": FAIL + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/astral-bidi/cypriot-anti-ref.html.ini b/tests/wpt/metadata/css/css-text/astral-bidi/cypriot-anti-ref.html.ini index c9a7054423d..ee5080fa97d 100644 --- a/tests/wpt/metadata/css/css-text/astral-bidi/cypriot-anti-ref.html.ini +++ b/tests/wpt/metadata/css/css-text/astral-bidi/cypriot-anti-ref.html.ini @@ -1,3 +1,2 @@ [cypriot-anti-ref.html] - expected: - if os == "mac": FAIL + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini index e1a609649d6..08d8292ecc4 100644 --- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini @@ -3,3 +3,9 @@ [scroll-behavior: smooth on DIV element] expected: FAIL + [Instant scrolling while doing history navigation.] + expected: TIMEOUT + + [Smooth scrolling while doing history navigation.] + expected: NOTRUN + diff --git a/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini deleted file mode 100644 index d86bc27bc9a..00000000000 --- a/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Document-constructor.html] - type: testharness - [new Document(): URL parsing] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/api/headers/headers-idl.html.ini b/tests/wpt/metadata/fetch/api/headers/headers-idl.html.ini deleted file mode 100644 index a302e07f15d..00000000000 --- a/tests/wpt/metadata/fetch/api/headers/headers-idl.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[headers-idl.html] - type: testharness - [Testing Symbol.iterator property of iterable interface Headers] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/api/idl.any.js.ini b/tests/wpt/metadata/fetch/api/idl.any.js.ini new file mode 100644 index 00000000000..07becda3091 --- /dev/null +++ b/tests/wpt/metadata/fetch/api/idl.any.js.ini @@ -0,0 +1,19 @@ +[idl.any.worker.html] + [Untitled] + expected: FAIL + + +[idl.any.html] + [Untitled] + expected: FAIL + + +[idl.any.sharedworker.html] + [Untitled] + expected: FAIL + + +[idl.https.any.serviceworker.html] + [Untitled] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/api/request/request-idl.html.ini b/tests/wpt/metadata/fetch/api/request/request-idl.html.ini deleted file mode 100644 index f233e7214f9..00000000000 --- a/tests/wpt/metadata/fetch/api/request/request-idl.html.ini +++ /dev/null @@ -1,32 +0,0 @@ -[request-idl.html] - type: testharness - [Request interface: operation arrayBuffer()] - expected: FAIL - - [Request interface: operation blob()] - expected: FAIL - - [Request interface: operation formData()] - expected: FAIL - - [Request interface: operation json()] - expected: FAIL - - [Request interface: operation text()] - expected: FAIL - - [Request interface: new Request("") must inherit property "arrayBuffer" with the proper type (14)] - expected: FAIL - - [Request interface: attribute body] - expected: FAIL - - [Request interface: new Request("") must inherit property "body" with the proper type (13)] - expected: FAIL - - [Request interface: new Request("") must inherit property "arrayBuffer" with the proper type (15)] - expected: FAIL - - [Request interface: new Request("") must inherit property "body" with the proper type] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/api/request/request-reset-attributes.https.html.ini b/tests/wpt/metadata/fetch/api/request/request-reset-attributes.https.html.ini new file mode 100644 index 00000000000..9530f90dd12 --- /dev/null +++ b/tests/wpt/metadata/fetch/api/request/request-reset-attributes.https.html.ini @@ -0,0 +1,4 @@ +[request-reset-attributes.https.html] + [Untitled] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/api/response/response-idl.html.ini b/tests/wpt/metadata/fetch/api/response/response-idl.html.ini deleted file mode 100644 index e0eb81482e9..00000000000 --- a/tests/wpt/metadata/fetch/api/response/response-idl.html.ini +++ /dev/null @@ -1,44 +0,0 @@ -[response-idl.html] - type: testharness - [Response interface: attribute body] - expected: FAIL - - [Response interface: operation arrayBuffer()] - expected: FAIL - - [Response interface: operation blob()] - expected: FAIL - - [Response interface: operation formData()] - expected: FAIL - - [Response interface: operation json()] - expected: FAIL - - [Response interface: operation text()] - expected: FAIL - - [Response interface: new Response() must inherit property "body" with the proper type (8)] - expected: FAIL - - [Response interface: new Response() must inherit property "body" with the proper type (9)] - expected: FAIL - - [Response interface: attribute trailer] - expected: FAIL - - [Response interface: new Response() must inherit property "trailer" with the proper type (8)] - expected: FAIL - - [Response interface: new Response() must inherit property "body" with the proper type (10)] - expected: FAIL - - [Response interface: new Response() must inherit property "arrayBuffer" with the proper type (12)] - expected: FAIL - - [Response interface: new Response() must inherit property "trailer" with the proper type] - expected: FAIL - - [Response interface: new Response() must inherit property "body" with the proper type] - expected: FAIL - diff --git a/tests/wpt/metadata/html/dom/elements/global-attributes/dir_auto-N-EN.html.ini b/tests/wpt/metadata/html/dom/elements/global-attributes/dir_auto-N-EN.html.ini new file mode 100644 index 00000000000..019363e9530 --- /dev/null +++ b/tests/wpt/metadata/html/dom/elements/global-attributes/dir_auto-N-EN.html.ini @@ -0,0 +1,2 @@ +[dir_auto-N-EN.html] + expected: FAIL diff --git a/tests/wpt/metadata/html/dom/self-origin.sub.html.ini b/tests/wpt/metadata/html/dom/self-origin.sub.html.ini index 805d0aa634d..053ca2c72ed 100644 --- a/tests/wpt/metadata/html/dom/self-origin.sub.html.ini +++ b/tests/wpt/metadata/html/dom/self-origin.sub.html.ini @@ -16,9 +16,6 @@ [Should have the right origin for sandboxed iframe] expected: NOTRUN - [We should have the right origin for our page] - expected: FAIL - [about:blank subframe origins] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 559c27de134..d0913a41225 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -172,63 +172,63 @@ [XHTML img usemap="http://example.org/#garbage-before-hash-id"] expected: FAIL - [HTML (quirks) IMG usemap="no-hash-name"] + [XHTML img usemap="no-hash-name"] expected: FAIL - [HTML (quirks) IMG usemap="no-hash-id"] + [XHTML img usemap="no-hash-id"] expected: FAIL - [HTML (quirks) IMG usemap="hash-last#"] + [XHTML img usemap="hash-last#"] expected: FAIL - [HTML (quirks) IMG usemap=""] + [XHTML img usemap=""] expected: FAIL - [HTML (quirks) IMG usemap="#"] + [XHTML img usemap="#"] expected: FAIL - [HTML (quirks) IMG usemap="#percent-escape-name-%41"] + [XHTML img usemap="#percent-escape-name-%41"] expected: FAIL - [HTML (quirks) IMG usemap="#percent-escape-id-%41"] + [XHTML img usemap="#percent-escape-id-%41"] expected: FAIL - [HTML (quirks) IMG usemap="#no-such-map"] + [XHTML img usemap="#no-such-map"] expected: FAIL - [HTML (quirks) IMG usemap="#different-CASE-name"] + [XHTML img usemap="#different-CASE-name"] expected: FAIL - [HTML (quirks) IMG usemap="#different-CASE-id"] + [XHTML img usemap="#different-CASE-id"] expected: FAIL - [XHTML img usemap="no-hash-name"] + [HTML (standards) IMG usemap="no-hash-name"] expected: FAIL - [XHTML img usemap="no-hash-id"] + [HTML (standards) IMG usemap="no-hash-id"] expected: FAIL - [XHTML img usemap="hash-last#"] + [HTML (standards) IMG usemap="hash-last#"] expected: FAIL - [XHTML img usemap=""] + [HTML (standards) IMG usemap=""] expected: FAIL - [XHTML img usemap="#"] + [HTML (standards) IMG usemap="#"] expected: FAIL - [XHTML img usemap="#percent-escape-name-%41"] + [HTML (standards) IMG usemap="#percent-escape-name-%41"] expected: FAIL - [XHTML img usemap="#percent-escape-id-%41"] + [HTML (standards) IMG usemap="#percent-escape-id-%41"] expected: FAIL - [XHTML img usemap="#no-such-map"] + [HTML (standards) IMG usemap="#no-such-map"] expected: FAIL - [XHTML img usemap="#different-CASE-name"] + [HTML (standards) IMG usemap="#different-CASE-name"] expected: FAIL - [XHTML img usemap="#different-CASE-id"] + [HTML (standards) IMG usemap="#different-CASE-id"] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/constructing-form-data-set.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/constructing-form-data-set.html.ini new file mode 100644 index 00000000000..6de08d39d43 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/constructing-form-data-set.html.ini @@ -0,0 +1,7 @@ +[constructing-form-data-set.html] + [FormData constructor always produces UTF-8 _charset_ value.] + expected: FAIL + + [_charset_ control sets the expected encoding name.] + expected: FAIL + diff --git a/tests/wpt/metadata/xhr/abort-during-open.any.js.ini b/tests/wpt/metadata/xhr/abort-during-open.any.js.ini new file mode 100644 index 00000000000..db9cfa6ab19 --- /dev/null +++ b/tests/wpt/metadata/xhr/abort-during-open.any.js.ini @@ -0,0 +1,9 @@ +[abort-during-open.any.worker.html] + [XMLHttpRequest: abort() during OPEN] + expected: FAIL + + +[abort-during-open.any.html] + [XMLHttpRequest: abort() during OPEN] + expected: FAIL + diff --git a/tests/wpt/metadata/xhr/abort-during-open.htm.ini b/tests/wpt/metadata/xhr/abort-during-open.htm.ini deleted file mode 100644 index eac211dc538..00000000000 --- a/tests/wpt/metadata/xhr/abort-during-open.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[abort-during-open.htm] - type: testharness - [XMLHttpRequest: abort() during OPEN] - expected: FAIL - diff --git a/tests/wpt/metadata/xhr/abort-during-open.worker.js.ini b/tests/wpt/metadata/xhr/abort-during-open.worker.js.ini deleted file mode 100644 index de95cce12e0..00000000000 --- a/tests/wpt/metadata/xhr/abort-during-open.worker.js.ini +++ /dev/null @@ -1,5 +0,0 @@ -[abort-during-open.worker.html] - type: testharness - [Untitled] - expected: FAIL - diff --git a/tests/wpt/web-platform-tests/.taskcluster.yml b/tests/wpt/web-platform-tests/.taskcluster.yml index 0d5c1744bda..11109a544a0 100644 --- a/tests/wpt/web-platform-tests/.taskcluster.yml +++ b/tests/wpt/web-platform-tests/.taskcluster.yml @@ -15,9 +15,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 1 6"] + \ chrome reftest 1 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -33,9 +33,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 2 6"] + \ chrome reftest 2 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -51,9 +51,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 3 6"] + \ chrome reftest 3 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -69,9 +69,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 4 6"] + \ chrome reftest 4 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -87,9 +87,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 5 6"] + \ chrome reftest 5 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -105,9 +105,81 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome reftest 6 6"] + \ chrome reftest 6 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-reftest-7, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome reftest 7 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-reftest-8, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome reftest 8 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-reftest-9, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome reftest 9 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-reftest-10, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome reftest 10 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -125,7 +197,7 @@ tasks: \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome wdspec 1 1"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -141,9 +213,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 1 12"] + \ chrome testharness 1 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -159,9 +231,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 2 12"] + \ chrome testharness 2 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -177,9 +249,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 3 12"] + \ chrome testharness 3 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -195,9 +267,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 4 12"] + \ chrome testharness 4 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -213,9 +285,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 5 12"] + \ chrome testharness 5 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -231,9 +303,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 6 12"] + \ chrome testharness 6 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -249,9 +321,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 7 12"] + \ chrome testharness 7 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -267,9 +339,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 8 12"] + \ chrome testharness 8 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -285,9 +357,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 9 12"] + \ chrome testharness 9 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -303,9 +375,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 10 12"] + \ chrome testharness 10 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -321,9 +393,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 11 12"] + \ chrome testharness 11 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -339,9 +411,63 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ chrome testharness 12 12"] + \ chrome testharness 12 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-testharness-13, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome testharness 13 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-testharness-14, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome testharness 14 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-chrome-dev-testharness-15, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ chrome testharness 15 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -357,9 +483,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 1 6"] + \ firefox reftest 1 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -375,9 +501,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 2 6"] + \ firefox reftest 2 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -393,9 +519,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 3 6"] + \ firefox reftest 3 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -411,9 +537,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 4 6"] + \ firefox reftest 4 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -429,9 +555,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 5 6"] + \ firefox reftest 5 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -447,9 +573,81 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox reftest 6 6"] + \ firefox reftest 6 10"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-reftest-7, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox reftest 7 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-reftest-8, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox reftest 8 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-reftest-9, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox reftest 9 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-reftest-10, owner: '{{ event.head.user.email + }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox reftest 10 10"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -467,7 +665,7 @@ tasks: \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox wdspec 1 1"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -483,9 +681,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 1 12"] + \ firefox testharness 1 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -501,9 +699,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 2 12"] + \ firefox testharness 2 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -519,9 +717,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 3 12"] + \ firefox testharness 3 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -537,9 +735,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 4 12"] + \ firefox testharness 4 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -555,9 +753,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 5 12"] + \ firefox testharness 5 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -573,9 +771,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 6 12"] + \ firefox testharness 6 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -591,9 +789,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 7 12"] + \ firefox testharness 7 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -609,9 +807,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 8 12"] + \ firefox testharness 8 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -627,9 +825,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 9 12"] + \ firefox testharness 9 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -645,9 +843,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 10 12"] + \ firefox testharness 10 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -663,9 +861,9 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 11 12"] + \ firefox testharness 11 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' - extra: @@ -681,9 +879,63 @@ tasks: \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ \ &&\n git config advice.detachedHead false &&\n git\ \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ - \ firefox testharness 12 12"] + \ firefox testharness 12 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-testharness-13, owner: '{{ + event.head.user.email }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox testharness 13 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-testharness-14, owner: '{{ + event.head.user.email }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox testharness 14 15"] + image: harjgam/web-platform-tests:0.6 + maxRunTime: 7200 + provisionerId: '{{ taskcluster.docker.provisionerId }}' + workerType: '{{ taskcluster.docker.workerType }}' +- extra: + github: + branches: [master] + events: [push] + metadata: {description: '', name: wpt-firefox-nightly-testharness-15, owner: '{{ + event.head.user.email }}', source: '{{ event.head.repo.url }}'} + payload: + artifacts: + public/results: {path: /home/test/artifacts, type: directory} + command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \ + \ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\ + \ &&\n git config advice.detachedHead false &&\n git\ + \ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\ + \ firefox testharness 15 15"] image: harjgam/web-platform-tests:0.6 - maxRunTime: 5400 + maxRunTime: 7200 provisionerId: '{{ taskcluster.docker.provisionerId }}' workerType: '{{ taskcluster.docker.workerType }}' version: 0 diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html b/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html new file mode 100644 index 00000000000..3de78b7cff8 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html @@ -0,0 +1,23 @@ +<html> +<body> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> + +promise_test(t => { + return fetch("/client-hints/echo_client_hints_received.py").then(r => { + assert_equals(r.status, 200) + // Verify that the browser does not include client hints in the headers + // since Accept-CH is malformed (includes whitespace between attributes + // instead of comma). + assert_false(r.headers.has("device-memory-received"), "device-memory-received"); + assert_false(r.headers.has("dpr-received"), "dpr-received"); + assert_false(r.headers.has("viewport-width-received"), "viewport-width-received"); + }); +}, "Accept-CH header test"); + +</script> + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers b/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers new file mode 100644 index 00000000000..6d23758273b --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/accept_ch_malformed_header.https.html.headers @@ -0,0 +1 @@ +Accept-CH: device-memory dpr
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.window.js new file mode 100644 index 00000000000..8a3f7ed66da --- /dev/null +++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.window.js @@ -0,0 +1,10 @@ +'use strict'; + +promise_test(async testCase => { + const p = cookieStore.delete('cookie-name'); + assert_true(p instanceof Promise, + 'cookieStore.delete() returns a promise'); + const result = await p; + assert_equals(result, undefined, + 'cookieStore.delete() promise resolves to undefined'); +}, 'cookieStore.delete return type is Promise<void>'); diff --git a/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.html b/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.html deleted file mode 100644 index 9fa0ee4ff13..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Async Cookies: delete cookies</title> -<meta name="help" href="https://github.com/WICG/cookie-store/"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/cookie-test-helpers.js"></script> -<script src="resources/delete_cookies.js"></script> diff --git a/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.https.html deleted file mode 100644 index 192f79be599..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/delete_cookies.tentative.https.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Async Cookies: delete cookies (HTTPS)</title> -<meta name="help" href="https://github.com/WICG/cookie-store/"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/cookie-test-helpers.js"></script> -<script src="resources/delete_cookies.js"></script> diff --git a/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.html b/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.html deleted file mode 100644 index a88d032bcac..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Async Cookies: get, set, getAll</title> -<meta name="help" href="https://github.com/WICG/cookie-store/"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/cookie-test-helpers.js"></script> -<script src="resources/get_set_get_all.js"></script> diff --git a/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.https.html deleted file mode 100644 index 1769b166ecb..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/get_set_get_all.tentative.https.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Async Cookies: get, set, getAll (HTTPS)</title> -<meta name="help" href="https://github.com/WICG/cookie-store/"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="resources/cookie-test-helpers.js"></script> -<script src="resources/get_set_get_all.js"></script> diff --git a/tests/wpt/web-platform-tests/cookie-store/httponly_cookies.window.js b/tests/wpt/web-platform-tests/cookie-store/httponly_cookies.window.js new file mode 100644 index 00000000000..01239aec58f --- /dev/null +++ b/tests/wpt/web-platform-tests/cookie-store/httponly_cookies.window.js @@ -0,0 +1,47 @@ +// META: script=resources/cookie-test-helpers.js + +'use strict'; + +cookie_test(async t => { + let eventPromise = observeNextCookieChangeEvent(); + await setCookieStringHttp('HTTPONLY-cookie=value; path=/; httponly'); + assert_equals( + await getCookieString(), + undefined, + 'HttpOnly cookie we wrote using HTTP in cookie jar' + + ' is invisible to script'); + assert_equals( + await getCookieStringHttp(), + 'HTTPONLY-cookie=value', + 'HttpOnly cookie we wrote using HTTP in HTTP cookie jar'); + + await setCookieStringHttp('HTTPONLY-cookie=new-value; path=/; httponly'); + assert_equals( + await getCookieString(), + undefined, + 'HttpOnly cookie we overwrote using HTTP in cookie jar' + + ' is invisible to script'); + assert_equals( + await getCookieStringHttp(), + 'HTTPONLY-cookie=new-value', + 'HttpOnly cookie we overwrote using HTTP in HTTP cookie jar'); + + eventPromise = observeNextCookieChangeEvent(); + await setCookieStringHttp( + 'HTTPONLY-cookie=DELETED; path=/; max-age=0; httponly'); + assert_equals( + await getCookieString(), + undefined, + 'Empty cookie jar after HTTP cookie-clearing using max-age=0'); + assert_equals( + await getCookieStringHttp(), + undefined, + 'Empty HTTP cookie jar after HTTP cookie-clearing using max-age=0'); + + // HTTPONLY cookie changes should not have been observed; perform + // a dummy change to verify that nothing else was queued up. + await cookieStore.set('TEST', 'dummy'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'TEST', value: 'dummy'}]}, + 'HttpOnly cookie deletion was not observed'); +}, 'HttpOnly cookies are not observed'); diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/cookie-test-helpers.js b/tests/wpt/web-platform-tests/cookie-store/resources/cookie-test-helpers.js index 20f67e3f876..178947ad6ec 100644 --- a/tests/wpt/web-platform-tests/cookie-store/resources/cookie-test-helpers.js +++ b/tests/wpt/web-platform-tests/cookie-store/resources/cookie-test-helpers.js @@ -11,41 +11,6 @@ const kIsUnsecured = location.protocol !== 'https:'; const kCookieHelperCgi = 'resources/cookie_helper.py'; -// Async wrapper for an async function or promise that is expected -// reject in an unsecured (non-https:) context and work in a secured -// (https:) context. -// -// Parameters: -// -// - testCase: (TestCase) test case context -// - code: (Error class or number) expected rejection type in unsecured context -// - promise: (thenable) test code -// - message: (optional; string) message to forward to promise_rejects in -// unsecured context -async function promise_rejects_when_unsecured( - testCase, - code, - promise, - message = 'Feature unavailable from unsecured contexts') { - if (kIsUnsecured) - await promise_rejects(testCase, code, promise, message); - else await promise; -}; - -// Converts a list of cookie records {name, value} to [name=]value; ... as -// seen in Cookie: and document.cookie. -// -// Parameters: -// - cookies: (array of {name, value}) records to convert -// -// Returns a string serializing the records, or undefined if no records were -// given. -function cookieString(cookies) { - return cookies.length ? cookies.map(( - {name, value}) => (name ? (name + '=') : '') + value).join('; ') : - undefined; -} - // Approximate async equivalent to the document.cookie getter but with // important differences: optional additional getAll arguments are // forwarded, and an empty cookie jar returns undefined. @@ -56,7 +21,11 @@ function cookieString(cookies) { // using parsed cookie jar contents and also allows expectations to be // written more compactly. async function getCookieString(...args) { - return cookieString(await cookieStore.getAll(...args)); + const cookies = await cookieStore.getAll(...args); + return cookies.length + ? cookies.map(({name, value}) => + (name ? (name + '=') : '') + value).join('; ') + : undefined; } // Approximate async equivalent to the document.cookie getter but from @@ -240,31 +209,18 @@ async function verifyCookieChangeEvent(eventPromise, expected, description) { async function cookie_test(func, description) { // Wipe cookies used by tests before and after the test. - async function deleteTestCookies() { - await cookieStore.delete(''); - await cookieStore.delete('TEST'); - await cookieStore.delete('META-🍪'); - await cookieStore.delete('DOCUMENT-🍪'); - await cookieStore.delete('HTTP-🍪'); - await setCookieStringHttp( - 'HTTPONLY-🍪=DELETED; path=/; max-age=0; httponly'); - if (!kIsUnsecured) { - await cookieStore.delete('__Host-COOKIENAME'); - await cookieStore.delete('__Host-1🍪'); - await cookieStore.delete('__Host-2🌟'); - await cookieStore.delete('__Host-3🌱'); - await cookieStore.delete('__Host-unordered1🍪'); - await cookieStore.delete('__Host-unordered2🌟'); - await cookieStore.delete('__Host-unordered3🌱'); - } + async function deleteAllCookies() { + (await cookieStore.getAll()).forEach(({name, value}) => { + cookieStore.delete(name); + }); } return promise_test(async t => { - await deleteTestCookies(); + await deleteAllCookies(); try { return await func(t); } finally { - await deleteTestCookies(); + await deleteAllCookies(); } }, description); } diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/delete_cookies.js b/tests/wpt/web-platform-tests/cookie-store/resources/delete_cookies.js deleted file mode 100644 index 21adadbda9c..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/resources/delete_cookies.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -cookie_test(async testCase => { - // TODO: This test doesn't create cookies and doesn't assert - // the behavior of delete(). Improve or remove it. - - await cookieStore.delete(''); - await cookieStore.delete('TEST'); - await cookieStore.delete('META-🍪'); - await cookieStore.delete('DOCUMENT-🍪'); - await cookieStore.delete('HTTP-🍪'); - - await setCookieStringHttp( - 'HTTPONLY-🍪=DELETED; path=/; max-age=0; httponly'); - - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-COOKIENAME')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-1🍪')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-2🌟')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-3🌱')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-unordered1🍪')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-unordered2🌟')); - await promise_rejects_when_unsecured( - testCase, - new TypeError(), - cookieStore.delete('__Host-unordered3🌱')); -}, 'Test cookieStore.delete'); diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/document_cookie.js b/tests/wpt/web-platform-tests/cookie-store/resources/document_cookie.js index 1809b883501..980347f1d18 100644 --- a/tests/wpt/web-platform-tests/cookie-store/resources/document_cookie.js +++ b/tests/wpt/web-platform-tests/cookie-store/resources/document_cookie.js @@ -2,25 +2,43 @@ cookie_test(async t => { let eventPromise = observeNextCookieChangeEvent(); - await setCookieStringDocument('DOCUMENT-🍪=🔵; path=/'); + await setCookieStringDocument('DOCUMENT-cookie=value; path=/'); assert_equals( await getCookieString(), - 'DOCUMENT-🍪=🔵', + 'DOCUMENT-cookie=value', 'Cookie we wrote using document.cookie in cookie jar'); assert_equals( await getCookieStringHttp(), - 'DOCUMENT-🍪=🔵', + 'DOCUMENT-cookie=value', 'Cookie we wrote using document.cookie in HTTP cookie jar'); assert_equals( await getCookieStringDocument(), - 'DOCUMENT-🍪=🔵', + 'DOCUMENT-cookie=value', 'Cookie we wrote using document.cookie in document.cookie'); await verifyCookieChangeEvent( - eventPromise, {changed: [{name: 'DOCUMENT-🍪', value: '🔵'}]}, + eventPromise, {changed: [{name: 'DOCUMENT-cookie', value: 'value'}]}, 'Cookie we wrote using document.cookie is observed'); eventPromise = observeNextCookieChangeEvent(); - await setCookieStringDocument('DOCUMENT-🍪=DELETED; path=/; max-age=0'); + await setCookieStringDocument('DOCUMENT-cookie=new-value; path=/'); + assert_equals( + await getCookieString(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using document.cookie in cookie jar'); + assert_equals( + await getCookieStringHttp(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using document.cookie in HTTP cookie jar'); + assert_equals( + await getCookieStringDocument(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using document.cookie in document.cookie'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'DOCUMENT-cookie', value: 'new-value'}]}, + 'Cookie we overwrote using document.cookie is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await setCookieStringDocument('DOCUMENT-cookie=DELETED; path=/; max-age=0'); assert_equals( await getCookieString(), undefined, @@ -37,7 +55,103 @@ cookie_test(async t => { 'Empty document.cookie cookie jar after document.cookie' + ' cookie-clearing using max-age=0'); await verifyCookieChangeEvent( + eventPromise, {deleted: [{name: 'DOCUMENT-cookie'}]}, + 'Deletion observed after document.cookie cookie-clearing' + + ' using max-age=0'); +}, 'document.cookie set/overwrite/delete observed by CookieStore'); + +cookie_test(async t => { + let eventPromise = observeNextCookieChangeEvent(); + await cookieStore.set('DOCUMENT-cookie', 'value'); + assert_equals( + await getCookieString(), + 'DOCUMENT-cookie=value', + 'Cookie we wrote using CookieStore in cookie jar'); + assert_equals( + await getCookieStringHttp(), + 'DOCUMENT-cookie=value', + 'Cookie we wrote using CookieStore in HTTP cookie jar'); + assert_equals( + await getCookieStringDocument(), + 'DOCUMENT-cookie=value', + 'Cookie we wrote using CookieStore in document.cookie'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'DOCUMENT-cookie', value: 'value'}]}, + 'Cookie we wrote using CookieStore is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await cookieStore.set('DOCUMENT-cookie', 'new-value'); + assert_equals( + await getCookieString(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using CookieStore in cookie jar'); + assert_equals( + await getCookieStringHttp(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using CookieStore in HTTP cookie jar'); + assert_equals( + await getCookieStringDocument(), + 'DOCUMENT-cookie=new-value', + 'Cookie we overwrote using CookieStore in document.cookie'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'DOCUMENT-cookie', value: 'new-value'}]}, + 'Cookie we overwrote using CookieStore is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await cookieStore.delete('DOCUMENT-cookie'); + assert_equals( + await getCookieString(), + undefined, + 'Empty cookie jar after CookieStore delete'); + assert_equals( + await getCookieStringHttp(), + undefined, + 'Empty HTTP cookie jar after CookieStore delete'); + assert_equals( + await getCookieStringDocument(), + undefined, + 'Empty document.cookie cookie jar after CookieStore delete'); + await verifyCookieChangeEvent( + eventPromise, {deleted: [{name: 'DOCUMENT-cookie'}]}, + 'Deletion observed after CookieStore delete'); +}, 'CookieStore set/overwrite/delete observed by document.cookie'); + + +cookie_test(async t => { + let eventPromise = observeNextCookieChangeEvent(); + await setCookieStringDocument('DOCUMENT-🍪=🔵; path=/'); + assert_equals( + await getCookieString(), + 'DOCUMENT-🍪=🔵', + 'Cookie we wrote using document.cookie in cookie jar'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'DOCUMENT-🍪', value: '🔵'}]}, + 'Cookie we wrote using document.cookie is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await setCookieStringDocument('DOCUMENT-🍪=DELETED; path=/; max-age=0'); + assert_equals( + await getCookieString(), + undefined, + 'Empty cookie jar after document.cookie' + + ' cookie-clearing using max-age=0'); + await verifyCookieChangeEvent( eventPromise, {deleted: [{name: 'DOCUMENT-🍪'}]}, 'Deletion observed after document.cookie cookie-clearing' + ' using max-age=0'); -}, 'Verify interoperability of document.cookie with other APIs.'); +}, 'CookieStore agrees with document.cookie on encoding non-ASCII cookies'); + + +cookie_test(async t => { + await cookieStore.set('DOCUMENT-🍪', '🔵'); + assert_equals( + await getCookieStringDocument(), + 'DOCUMENT-🍪=🔵', + 'Cookie we wrote using CookieStore in document.cookie'); + + await cookieStore.delete('DOCUMENT-🍪'); + assert_equals( + await getCookieStringDocument(), + undefined, + 'Empty cookie jar after CookieStore delete'); +}, 'document.cookie agrees with CookieStore on encoding non-ASCII cookies'); diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/get_set_get_all.js b/tests/wpt/web-platform-tests/cookie-store/resources/get_set_get_all.js deleted file mode 100644 index 7c9a094d3e8..00000000000 --- a/tests/wpt/web-platform-tests/cookie-store/resources/get_set_get_all.js +++ /dev/null @@ -1,74 +0,0 @@ -'use strict'; - -cookie_test(async t => { - let eventPromise = observeNextCookieChangeEvent(); - await cookieStore.set('TEST', 'value0'); - assert_equals( - await getCookieString(), - 'TEST=value0', - 'Cookie jar contains only cookie we set'); - assert_equals( - await getCookieStringHttp(), - 'TEST=value0', - 'HTTP cookie jar contains only cookie we set'); - await verifyCookieChangeEvent( - eventPromise, - {changed: [{name: 'TEST', value: 'value0'}]}, - 'Observed value that was set'); - - eventPromise = observeNextCookieChangeEvent(); - await cookieStore.set('TEST', 'value'); - assert_equals( - await getCookieString(), - 'TEST=value', - 'Cookie jar contains only cookie we overwrote'); - await verifyCookieChangeEvent( - eventPromise, - {changed: [{name: 'TEST', value: 'value'}]}, - 'Observed value that was overwritten'); - - let allCookies = await cookieStore.getAll(); - assert_equals( - allCookies[0].name, - 'TEST', - 'First entry in allCookies should be named TEST'); - assert_equals( - allCookies[0].value, - 'value', - 'First entry in allCookies should have value "value"'); - assert_equals( - allCookies.length, - 1, - 'Only one cookie should exist in allCookies'); - let firstCookie = await cookieStore.get(); - assert_equals( - firstCookie.name, - 'TEST', - 'First cookie should be named TEST'); - assert_equals( - firstCookie.value, - 'value', - 'First cookie should have value "value"'); - let allCookies_TEST = await cookieStore.getAll('TEST'); - assert_equals( - allCookies_TEST[0].name, - 'TEST', - 'First entry in allCookies_TEST should be named TEST'); - assert_equals( - allCookies_TEST[0].value, - 'value', - 'First entry in allCookies_TEST should have value "value"'); - assert_equals( - allCookies_TEST.length, - 1, - 'Only one cookie should exist in allCookies_TEST'); - let firstCookie_TEST = await cookieStore.get('TEST'); - assert_equals( - firstCookie_TEST.name, - 'TEST', - 'First TEST cookie should be named TEST'); - assert_equals( - firstCookie_TEST.value, - 'value', - 'First TEST cookie should have value "value"'); -}, 'Get/set/get all cookies in store'); diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/http_cookie_and_set_cookie_headers.js b/tests/wpt/web-platform-tests/cookie-store/resources/http_cookie_and_set_cookie_headers.js index 73534c743ce..0fcf6b60429 100644 --- a/tests/wpt/web-platform-tests/cookie-store/resources/http_cookie_and_set_cookie_headers.js +++ b/tests/wpt/web-platform-tests/cookie-store/resources/http_cookie_and_set_cookie_headers.js @@ -2,21 +2,35 @@ cookie_test(async t => { let eventPromise = observeNextCookieChangeEvent(); - await setCookieStringHttp('HTTP-🍪=🔵; path=/'); + await setCookieStringHttp('HTTP-cookie=value; path=/'); assert_equals( await getCookieString(), - 'HTTP-🍪=🔵', + 'HTTP-cookie=value', 'Cookie we wrote using HTTP in cookie jar'); assert_equals( await getCookieStringHttp(), - 'HTTP-🍪=🔵', + 'HTTP-cookie=value', 'Cookie we wrote using HTTP in HTTP cookie jar'); await verifyCookieChangeEvent( - eventPromise, {changed: [{name: 'HTTP-🍪', value: '🔵'}]}, + eventPromise, {changed: [{name: 'HTTP-cookie', value: 'value'}]}, 'Cookie we wrote using HTTP is observed'); eventPromise = observeNextCookieChangeEvent(); - await setCookieStringHttp('HTTP-🍪=DELETED; path=/; max-age=0'); + await setCookieStringHttp('HTTP-cookie=new-value; path=/'); + assert_equals( + await getCookieString(), + 'HTTP-cookie=new-value', + 'Cookie we overwrote using HTTP in cookie jar'); + assert_equals( + await getCookieStringHttp(), + 'HTTP-cookie=new-value', + 'Cookie we overwrote using HTTP in HTTP cookie jar'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'HTTP-cookie', value: 'new-value'}]}, + 'Cookie we overwrote using HTTP is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await setCookieStringHttp('HTTP-cookie=DELETED; path=/; max-age=0'); assert_equals( await getCookieString(), undefined, @@ -26,72 +40,149 @@ cookie_test(async t => { undefined, 'Empty HTTP cookie jar after HTTP cookie-clearing using max-age=0'); await verifyCookieChangeEvent( - eventPromise, {deleted: [{name: 'HTTP-🍪'}]}, + eventPromise, {deleted: [{name: 'HTTP-cookie'}]}, 'Deletion observed after HTTP cookie-clearing using max-age=0'); - await cookieStore.delete('HTTP-🍪'); -}, 'Interoperability of HTTP Set-Cookie: with other APIs'); +}, 'HTTP set/overwrite/delete observed in CookieStore'); + cookie_test(async t => { let eventPromise = observeNextCookieChangeEvent(); - await setCookieStringHttp('HTTPONLY-🍪=🔵; path=/; httponly'); + await setCookieStringHttp('HTTP-🍪=🔵; path=/'); assert_equals( await getCookieString(), - undefined, - 'HttpOnly cookie we wrote using HTTP in cookie jar' + - ' is invisible to script'); - assert_equals( - await getCookieStringHttp(), - 'HTTPONLY-🍪=🔵', - 'HttpOnly cookie we wrote using HTTP in HTTP cookie jar'); + 'HTTP-🍪=🔵', + 'Cookie we wrote using HTTP in cookie jar'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'HTTP-🍪', value: '🔵'}]}, + 'Cookie we wrote using HTTP is observed'); eventPromise = observeNextCookieChangeEvent(); - await setCookieStringHttp( - 'HTTPONLY-🍪=DELETED; path=/; max-age=0; httponly'); + await setCookieStringHttp('HTTP-🍪=DELETED; path=/; max-age=0'); assert_equals( await getCookieString(), undefined, - 'Empty cookie jar after HTTP cookie-clearing using max-age=0'); + 'Empty cookie jar after HTTP cookie-clearing using max-age=0'); + await verifyCookieChangeEvent( + eventPromise, {deleted: [{name: 'HTTP-🍪'}]}, + 'Deletion observed after HTTP cookie-clearing using max-age=0'); + +}, 'CookieStore agreed with HTTP headers agree on encoding non-ASCII cookies'); + + +cookie_test(async t => { + let eventPromise = observeNextCookieChangeEvent(); + await cookieStore.set('TEST', 'value0'); assert_equals( - await getCookieStringHttp(), - undefined, - 'Empty HTTP cookie jar after HTTP cookie-clearing using max-age=0'); + await getCookieString(), + 'TEST=value0', + 'Cookie jar contains only cookie we set'); + assert_equals( + await getCookieStringHttp(), + 'TEST=value0', + 'HTTP cookie jar contains only cookie we set'); + await verifyCookieChangeEvent( + eventPromise, + {changed: [{name: 'TEST', value: 'value0'}]}, + 'Observed value that was set'); - // HTTPONLY cookie changes should not have been observed; perform - // a dummy change to verify that nothing else was queued up. - await cookieStore.set('TEST', 'dummy'); + eventPromise = observeNextCookieChangeEvent(); + await cookieStore.set('TEST', 'value'); + assert_equals( + await getCookieString(), + 'TEST=value', + 'Cookie jar contains only cookie we set'); + assert_equals( + await getCookieStringHttp(), + 'TEST=value', + 'HTTP cookie jar contains only cookie we set'); await verifyCookieChangeEvent( - eventPromise, {changed: [{name: 'TEST', value: 'dummy'}]}, - 'HttpOnly cookie deletion was not observed'); -}, 'HttpOnly cookies are not observed'); + eventPromise, + {changed: [{name: 'TEST', value: 'value'}]}, + 'Observed value that was overwritten'); + + eventPromise = observeNextCookieChangeEvent(); + await cookieStore.delete('TEST'); + assert_equals( + await getCookieString(), + undefined, + 'Cookie jar does not contain cookie we deleted'); + assert_equals( + await getCookieStringHttp(), + undefined, + 'HTTP cookie jar does not contain cookie we deleted'); + await verifyCookieChangeEvent( + eventPromise, + {deleted: [{name: 'TEST'}]}, + 'Observed cookie that was deleted'); +}, 'CookieStore set/overwrite/delete observed in HTTP headers'); + + +cookie_test(async t => { + await cookieStore.set('🍪', '🔵'); + assert_equals( + await getCookieStringHttp(), + '🍪=🔵', + 'HTTP cookie jar contains only cookie we set'); + + await cookieStore.delete('🍪'); + assert_equals( + await getCookieStringHttp(), + undefined, + 'HTTP cookie jar does not contain cookie we deleted'); +}, 'HTTP headers agreed with CookieStore on encoding non-ASCII cookies'); + cookie_test(async t => { // Non-UTF-8 byte sequences cause the Set-Cookie to be dropped. let eventPromise = observeNextCookieChangeEvent(); await setCookieBinaryHttp( - unescape(encodeURIComponent('HTTP-🍪=🔵')) + '\xef\xbf\xbd; path=/'); + unescape(encodeURIComponent('HTTP-cookie=value')) + '\xef\xbf\xbd; path=/'); assert_equals( await getCookieString(), - 'HTTP-🍪=🔵\ufffd', + 'HTTP-cookie=value\ufffd', 'Binary cookie we wrote using HTTP in cookie jar'); assert_equals( await getCookieStringHttp(), - 'HTTP-🍪=🔵\ufffd', + 'HTTP-cookie=value\ufffd', 'Binary cookie we wrote using HTTP in HTTP cookie jar'); assert_equals( decodeURIComponent(escape(await getCookieBinaryHttp())), - 'HTTP-🍪=🔵\ufffd', + 'HTTP-cookie=value\ufffd', 'Binary cookie we wrote in binary HTTP cookie jar'); assert_equals( await getCookieBinaryHttp(), - unescape(encodeURIComponent('HTTP-🍪=🔵')) + '\xef\xbf\xbd', + unescape(encodeURIComponent('HTTP-cookie=value')) + '\xef\xbf\xbd', 'Binary cookie we wrote in binary HTTP cookie jar'); await verifyCookieChangeEvent( - eventPromise, {changed: [{name: 'HTTP-🍪', value: '🔵\ufffd'}]}, + eventPromise, {changed: [{name: 'HTTP-cookie', value: 'value\ufffd'}]}, 'Binary cookie we wrote using HTTP is observed'); eventPromise = observeNextCookieChangeEvent(); await setCookieBinaryHttp( - unescape(encodeURIComponent('HTTP-🍪=DELETED; path=/; max-age=0'))); + unescape(encodeURIComponent('HTTP-cookie=new-value')) + '\xef\xbf\xbd; path=/'); + assert_equals( + await getCookieString(), + 'HTTP-cookie=new-value\ufffd', + 'Binary cookie we overwrote using HTTP in cookie jar'); + assert_equals( + await getCookieStringHttp(), + 'HTTP-cookie=new-value\ufffd', + 'Binary cookie we overwrote using HTTP in HTTP cookie jar'); + assert_equals( + decodeURIComponent(escape(await getCookieBinaryHttp())), + 'HTTP-cookie=new-value\ufffd', + 'Binary cookie we overwrote in binary HTTP cookie jar'); + assert_equals( + await getCookieBinaryHttp(), + unescape(encodeURIComponent('HTTP-cookie=new-value')) + '\xef\xbf\xbd', + 'Binary cookie we overwrote in binary HTTP cookie jar'); + await verifyCookieChangeEvent( + eventPromise, {changed: [{name: 'HTTP-cookie', value: 'new-value\ufffd'}]}, + 'Binary cookie we overwrote using HTTP is observed'); + + eventPromise = observeNextCookieChangeEvent(); + await setCookieBinaryHttp( + unescape(encodeURIComponent('HTTP-cookie=DELETED; path=/; max-age=0'))); assert_equals( await getCookieString(), undefined, @@ -107,6 +198,6 @@ cookie_test(async t => { 'Empty binary HTTP cookie jar after' + ' binary HTTP cookie-clearing using max-age=0'); await verifyCookieChangeEvent( - eventPromise, {deleted: [{name: 'HTTP-🍪'}]}, + eventPromise, {deleted: [{name: 'HTTP-cookie'}]}, 'Deletion observed after binary HTTP cookie-clearing using max-age=0'); -}, 'Binary HTTP cookies'); +}, 'Binary HTTP set/overwrite/delete observed in CookieStore'); diff --git a/tests/wpt/web-platform-tests/cookie-store/resources/ordering.js b/tests/wpt/web-platform-tests/cookie-store/resources/ordering.js index 884361b9df0..86babd95edb 100644 --- a/tests/wpt/web-platform-tests/cookie-store/resources/ordering.js +++ b/tests/wpt/web-platform-tests/cookie-store/resources/ordering.js @@ -1,40 +1,38 @@ 'use strict'; -// TODO(jsbell): Does this test really need simple origin ('__Host-') cookies? - cookie_test(async t => { - await cookieStore.set('__Host-1🍪', '🔵cookie-value1🔴'); - await cookieStore.set('__Host-2🌟', '🌠cookie-value2🌠'); - await cookieStore.set('__Host-3🌱', '🔶cookie-value3🔷'); + await cookieStore.set('ordered-1', 'cookie-value1'); + await cookieStore.set('ordered-2', 'cookie-value2'); + await cookieStore.set('ordered-3', 'cookie-value3'); // NOTE: this assumes no concurrent writes from elsewhere; it also // uses three separate cookie jar read operations where a single getAll // would be more efficient, but this way the CookieStore does the filtering // for us. - const matchingValues = await Promise.all([ '1🍪', '2🌟', '3🌱' ].map( - async suffix => (await cookieStore.get('__Host-' + suffix)).value)); + const matchingValues = await Promise.all(['1', '2', '3'].map( + async suffix => (await cookieStore.get('ordered-' + suffix)).value)); const actual = matchingValues.join(';'); - const expected = '🔵cookie-value1🔴;🌠cookie-value2🌠;🔶cookie-value3🔷'; + const expected = 'cookie-value1;cookie-value2;cookie-value3'; assert_equals(actual, expected); }, 'Set three simple origin session cookies sequentially and ensure ' + 'they all end up in the cookie jar in order.'); cookie_test(async t => { await Promise.all([ - cookieStore.set('__Host-unordered1🍪', '🔵unordered-cookie-value1🔴'), - cookieStore.set('__Host-unordered2🌟', '🌠unordered-cookie-value2🌠'), - cookieStore.set('__Host-unordered3🌱', '🔶unordered-cookie-value3🔷') + cookieStore.set('ordered-unordered1', 'unordered-cookie-value1'), + cookieStore.set('ordered-unordered2', 'unordered-cookie-value2'), + cookieStore.set('ordered-unordered3', 'unordered-cookie-value3') ]); // NOTE: this assumes no concurrent writes from elsewhere; it also // uses three separate cookie jar read operations where a single getAll // would be more efficient, but this way the CookieStore does the filtering // for us and we do not need to sort. - const matchingCookies = await Promise.all([ '1🍪', '2🌟', '3🌱' ].map( - suffix => cookieStore.get('__Host-unordered' + suffix))); + const matchingCookies = await Promise.all(['1', '2', '3'].map( + suffix => cookieStore.get('ordered-unordered' + suffix))); const actual = matchingCookies.map(({ value }) => value).join(';'); const expected = - '🔵unordered-cookie-value1🔴;' + - '🌠unordered-cookie-value2🌠;' + - '🔶unordered-cookie-value3🔷'; + 'unordered-cookie-value1;' + + 'unordered-cookie-value2;' + + 'unordered-cookie-value3'; assert_equals(actual, expected); }, 'Set three simple origin session cookies in undefined order using ' + 'Promise.all and ensure they all end up in the cookie jar in any ' + diff --git a/tests/wpt/web-platform-tests/css/.gitignore b/tests/wpt/web-platform-tests/css/.gitignore index 20072eb659e..3ed165f4bd6 100644 --- a/tests/wpt/web-platform-tests/css/.gitignore +++ b/tests/wpt/web-platform-tests/css/.gitignore @@ -2,6 +2,7 @@ dist dist_last build-temp tools/cache +tools/_virtualenv *.xcodeproj *.DS_Store *.pyc diff --git a/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-beside-adjoining-float.html b/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-beside-adjoining-float.html new file mode 100644 index 00000000000..91adbfce2d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-beside-adjoining-float.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<title>A new formatting context that fits beside an adjoining float, and thus pulls down the float with its top margin</title> +<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org"> +<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#bfc-next-to-float" title="9.5 Floats"> +<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#flow-control" title="9.5.2 Controlling flow next to floats: the 'clear' property"> +<meta name="assert" content="The float is adjoining with the box that establishes a new formatting context when it fits beside it, and will therefore be affected by its margin"> +<link rel="match" href="../../reference/ref-filled-green-200px-square.html"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="overflow:hidden; width:200px; background:green;"> + <div style="width:300px; margin-top:50px; background:red;"> + <div> + <div style="float:left; width:200px; height:10px; background:green;"></div> + </div> + <div style="margin-top:190px; overflow:hidden; width:100px; height:10px; background:red;"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-separates-from-float.html b/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-separates-from-float.html new file mode 100644 index 00000000000..89ee7516ecf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/floats/new-fc-separates-from-float.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<title>A new formatting context that doesn't fit beside a float make the float non-adjoining</title> +<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org"> +<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#bfc-next-to-float" title="9.5 Floats"> +<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#flow-control" title="9.5.2 Controlling flow next to floats: the 'clear' property"> +<meta name="assert" content="Although the 'clear' property isn't specified in this test, a new formatting context that doesn't fit below a float that would otherwise be adjoining will need to separate its margin from the float, so that it doesn't affect the float. This is very similar to clearance."> +<link rel="match" href="../../reference/ref-filled-green-200px-square.html"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="overflow:hidden; width:200px; background:red;"> + <div> + <div> + <div style="float:left; width:200px; height:200px; background:green;"></div> + </div> + <div style="margin-top:200px; overflow:hidden; width:200px; height:1px; background:white;"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html b/tests/wpt/web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html deleted file mode 100644 index 1179ba54996..00000000000 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html +++ /dev/null @@ -1,32 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Background Clip Follows Rounded Corner</title> -<link rel="match" href="reference/background-rounded-image-clip.html"> -<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#corner-clipping"> -<style> - html { - background-color: green; - } - #a { - top: 20px; - left: 20px; - position: absolute; - width: 20px; - height: 20px; - background-color: black; - } - - #b { - position: absolute; - width: 300px; - height: 200px; - background-image: linear-gradient(green, green); - background-clip: content-box; - border-top-left-radius: 90px; - border-width: 10px; - border-style: solid; - border-color: transparent; - } -</style> -<div id="a"></div> -<div id="b"></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-rounded-image-clip.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-rounded-image-clip.html deleted file mode 100644 index 2436bedad50..00000000000 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-rounded-image-clip.html +++ /dev/null @@ -1,17 +0,0 @@ -<!doctype html> -<meta charset="utf-8"> -<title>Corner Clipped Background Color</title> -<style> - html { - background-color: green; - } - #a { - top: 20px; - left: 20px; - position: absolute; - width: 20px; - height: 20px; - background-color: black; - } -</style> -<div id="a"></div> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/percentage-size-subitems-001.html b/tests/wpt/web-platform-tests/css/css-flexbox/percentage-size-subitems-001.html new file mode 100644 index 00000000000..70f3953052a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/percentage-size-subitems-001.html @@ -0,0 +1,93 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Flexbox Test: Percentage size on child of a flex item with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#flex-items"> +<link rel="match" href="reference/percentage-size-subitems-001-ref.html"> +<meta name="assert" content="Checks that flex items children resolve properly their percentage sizes, even when the flex item has margin, border, padding and scrollbar."> +<style> +.flex { + display: inline-flex; + border: solid 5px black; + width: 150px; + height: 100px; + margin: 10px; + vertical-align: top; +} + +.item { + flex: 1; + overflow: scroll; + border: solid magenta; + border-width: 12px 9px 6px 3px; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + background: cyan; +} + +.subitem { + width: 100%; + height: 100%; + background: yellow; +} + +.horizontalTB { writing-mode: horizontal-tb; } +.verticalLR { writing-mode: vertical-lr; } +.verticalRL { writing-mode: vertical-rl; } +</style> + +<p>The test passes if in the different examples you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem verticalLR"></div> + </div> +</div> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem verticalLR"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/reference/percentage-size-subitems-001-ref.html b/tests/wpt/web-platform-tests/css/css-flexbox/reference/percentage-size-subitems-001-ref.html new file mode 100644 index 00000000000..b9883c5f2e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/reference/percentage-size-subitems-001-ref.html @@ -0,0 +1,92 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Refttest Reference: Percentage size on child of a flex item with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +.flex { + display: inline-block; + border: solid 5px black; + width: 150px; + height: 100px; + margin: 10px; + vertical-align: top; +} + +.item { + overflow: scroll; + border: solid magenta; + border-width: 12px 9px 6px 3px; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + background: cyan; + width: calc(100% - 6px); + height: calc(100% - 4px); + box-sizing: border-box; +} + +.subitem { + width: 100%; + height: 100%; + background: yellow; +} + +.horizontalTB { writing-mode: horizontal-tb; } +.verticalLR { writing-mode: vertical-lr; } +.verticalRL { writing-mode: vertical-rl; } +</style> + +<p>The test passes if in the different examples you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem verticalLR"></div> + </div> +</div> + +<div class="flex"> + <div class="item horizontalTB"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalLR"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="flex"> + <div class="item verticalRL"> + <div class="subitem verticalLR"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload-ref.html b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload-ref.html new file mode 100644 index 00000000000..e3ba8caa32f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<title>font-display should work for preloaded fonts</title> +<style> + .arial { + height: 20px; + font-family: Arial; + } +</style> +<div id="container"> + <div class="arial"></div> + <div class="arial"></div> + <div class="arial">Swap</div> + <div class="arial">Fallback</div> + <div class="arial">Optional</div> +</div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload.html b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload.html new file mode 100644 index 00000000000..46f392ff847 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display-preload.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<title>font-display should work for preloaded fonts</title> +<link id="link" href="/fonts/Ahem.ttf?pipe=trickle(d5)" as="font" type="font/ttf" crossorigin> +<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-desc"> +<link rel="match" href="font-display-preload-ref.html"> +<style> + @font-face { + font-family: 'Auto'; + src: url('/fonts/Ahem.ttf?pipe=trickle(d5)'); + font-display: auto; + } + @font-face { + font-family: 'Block'; + src: url('/fonts/Ahem.ttf?pipe=trickle(d5)'); + font-display: block; + } + @font-face { + font-family: 'Swap'; + src: url('/fonts/Ahem.ttf?pipe=trickle(d5)'); + font-display: swap; + } + @font-face { + font-family: 'Fallback'; + src: url('/fonts/Ahem.ttf?pipe=trickle(d5)'); + font-display: fallback; + } + @font-face { + font-family: 'Optional'; + src: url('/fonts/Ahem.ttf?pipe=trickle(d5)'); + font-display: optional; + } +</style> +<div id="container" hidden> + <div style="height: 20px; font-family: 'Auto', Arial">Auto</div> + <div style="height: 20px; font-family: 'Block', Arial">Block</div> + <div style="height: 20px; font-family: 'Swap', Arial">Swap</div> + <div style="height: 20px; font-family: 'Fallback', Arial">Fallback</div> + <div style="height: 20px; font-family: 'Optional', Arial">Optional</div> +</div> +<script> + window.onload = () => { + document.getElementById('link').rel = 'preload'; + document.getElementById('container').hidden = false; + const timeoutMsec = 200; // Between the short limit and the long limit + setTimeout(() => { + document.documentElement.classList.remove("reftest-wait"); + }, timeoutMsec); + }; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display.html b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display.html index 9336377e88a..7b174607efa 100644 --- a/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display.html +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-display/font-display.html @@ -1,6 +1,7 @@ <!DOCTYPE html> <html class="reftest-wait"> <title>Test for font-display @font-face descriptor</title> +<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-display-desc"> <link rel="match" href="font-display-ref.html"> <style> .hidden { display: none; } diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001-ref.html b/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001-ref.html new file mode 100644 index 00000000000..939504e81d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001-ref.html @@ -0,0 +1,93 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Refttest Reference: Percentage size on child of a grid item with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +.grid { + display: inline-block; + border: solid 5px black; + width: 150px; + height: 100px; + margin: 10px; + vertical-align: top; +} + +.item { + overflow: scroll; + border: solid magenta; + border-width: 12px 9px 6px 3px; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + background: cyan; + width: calc(100% - 6px); + height: calc(100% - 4px); + box-sizing: border-box; +} + +.subitem { + width: 100%; + height: 100%; + background: yellow; + font: 20px/1 Ahem; +} + +.horizontalTB { writing-mode: horizontal-tb; } +.verticalLR { writing-mode: vertical-lr; } +.verticalRL { writing-mode: vertical-rl; } +</style> + +<p>The test passes if in the different examples you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem verticalLR"></div> + </div> +</div> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem verticalLR"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html new file mode 100644 index 00000000000..ad009906191 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/grid-items/percentage-size-subitems-001.html @@ -0,0 +1,91 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Grid Test: Percentage size on child of a grid item with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-items"> +<link rel="match" href="percentage-size-subitems-001-ref.html"> +<meta name="assert" content="Checks that grid items children resolve properly their percentage sizes, even when the grid item has margin, border, padding and scrollbar."> +<style> +.grid { + display: inline-grid; + border: solid 5px black; + grid: 100px / 150px; + margin: 10px; + vertical-align: top; +} + +.item { + overflow: scroll; + border: solid magenta; + border-width: 12px 9px 6px 3px; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + background: cyan; +} + +.subitem { + width: 100%; + height: 100%; + background: yellow; +} + +.horizontalTB { writing-mode: horizontal-tb; } +.verticalLR { writing-mode: vertical-lr; } +.verticalRL { writing-mode: vertical-rl; } +</style> + +<p>The test passes if in the different examples you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem verticalLR"></div> + </div> +</div> + +<div class="grid"> + <div class="item horizontalTB"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalLR"> + <div class="subitem verticalRL"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem horizontalTB"></div> + </div> +</div> + +<div class="grid"> + <div class="item verticalRL"> + <div class="subitem verticalLR"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html new file mode 100644 index 00000000000..e53486e62d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing gradients with invalid position values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position"> +<meta name="assert" content="gradient positions support only the '<position>' grammar."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +// The following were supported in an earlier version of the spec. +// https://github.com/w3c/csswg-drafts/issues/2140 +// Deprecated in Blink with support to be removed in M68, around July 2018. +test_invalid_value("background-image", "radial-gradient(at center left 1px, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at center top 2px, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at right 3% center, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at left 4px top, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at right top 5px, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at bottom 6% center, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at bottom 7% left, red, blue)"); +test_invalid_value("background-image", "radial-gradient(at bottom right 8%, red, blue)"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html new file mode 100644 index 00000000000..6eae484752c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-valid.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing gradients with valid position values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-values-4/#typedef-position"> +<meta name="assert" content="gradient positions support the full '<position>' grammar."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +// Where two values are shown, the first serialization is being used by Blink/Firefox/WebKit and the second by Edge. + +test_valid_value("background-image", "radial-gradient(at 10%, red, blue)", ["radial-gradient(at 10% center, red, blue)", "radial-gradient(at 10%, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at 20% 30px, red, blue)"); +test_valid_value("background-image", "radial-gradient(at 30px center, red, blue)", ["radial-gradient(at 30px center, red, blue)", "radial-gradient(at 30px, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at 40px top, red, blue)"); +test_valid_value("background-image", "radial-gradient(at bottom 10% right 20%, red, blue)", "radial-gradient(at right 20% bottom 10%, red, blue)"); +test_valid_value("background-image", "radial-gradient(at bottom right, red, blue)", "radial-gradient(at right bottom, red, blue)"); +test_valid_value("background-image", "radial-gradient(at center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at center 50px, red, blue)"); +test_valid_value("background-image", "radial-gradient(at center bottom, red, blue)", ["radial-gradient(at center bottom, red, blue)", "radial-gradient(at bottom, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at center center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at center left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at left bottom, red, blue)"); +test_valid_value("background-image", "radial-gradient(at left center, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at right 40%, red, blue)"); +test_valid_value("background-image", "radial-gradient(at right 30% top 60px, red, blue)"); +test_valid_value("background-image", "radial-gradient(at top, red, blue)", ["radial-gradient(at center top, red, blue)", "radial-gradient(at top, red, blue)"]); +test_valid_value("background-image", "radial-gradient(at top center, red, blue)", ["radial-gradient(at center top, red, blue)", "radial-gradient(at top, red, blue)"]); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html new file mode 100644 index 00000000000..b36d9b7dd55 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-invalid.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing image-orientation with invalid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<meta name="assert" content="image-orientation supports only the grammar 'from-image | <angle> | [ <angle>? flip ]'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("image-orientation", "auto"); +test_invalid_value("image-orientation", "none"); +test_invalid_value("image-orientation", "0"); +test_invalid_value("image-orientation", "0 flip"); +test_invalid_value("image-orientation", "0deg from-image"); +test_invalid_value("image-orientation", "flip 0deg"); +test_invalid_value("image-orientation", "flip from-image"); +test_invalid_value("image-orientation", "from-image 0deg"); +test_invalid_value("image-orientation", "from-image flip"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html new file mode 100644 index 00000000000..1ed7548834d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-orientation-valid.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing image-orientation with valid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<meta name="assert" content="image-orientation supports the full grammar 'from-image | <angle> | [ <angle>? flip ]'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_valid_value("image-orientation", "from-image"); +test_valid_value("image-orientation", "30deg"); +test_valid_value("image-orientation", "flip", "0deg flip"); // "0deg flip" in Firefox. +test_valid_value("image-orientation", "-1.25turn flip"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html new file mode 100644 index 00000000000..84b0727572e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-invalid.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing image-rendering with invalid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-rendering"> +<meta name="assert" content="image-rendering supports only the grammar 'auto | smooth | high-quality | crisp-edges | pixelated'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("image-rendering", "none"); +test_invalid_value("image-rendering", "high-quality crisp-edges"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html new file mode 100644 index 00000000000..80ea1c446da --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-rendering-valid.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing image-rendering with valid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-rendering"> +<meta name="assert" content="image-rendering supports the full grammar 'auto | smooth | high-quality | crisp-edges | pixelated'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_valid_value("image-rendering", "auto"); +test_valid_value("image-rendering", "smooth"); +test_valid_value("image-rendering", "high-quality"); +test_valid_value("image-rendering", "crisp-edges"); +test_valid_value("image-rendering", "pixelated"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html new file mode 100644 index 00000000000..332ad154317 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-invalid.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 4: parsing image-resolution with invalid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution"> +<meta name="assert" content="image-resolution supports only the grammar '[ from-image || <resolution> ] && snap?'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("image-resolution", "auto"); +test_invalid_value("image-resolution", "100%"); +test_invalid_value("image-resolution", "2"); +test_invalid_value("image-resolution", "3dpi snap from-image"); +test_invalid_value("image-resolution", "from-image snap 4dppx"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html new file mode 100644 index 00000000000..9317902c822 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/image-resolution-valid.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 4: parsing image-resolution with valid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-image-resolution"> +<meta name="assert" content="image-resolution supports the full grammar '[ from-image || <resolution> ] && snap?'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> + + + +test_valid_value("image-resolution", "1dpi"); +test_valid_value("image-resolution", "2dpcm from-image"); +test_valid_value("image-resolution", "3dppx from-image snap"); +test_valid_value("image-resolution", "4dpi snap"); +test_valid_value("image-resolution", "from-image"); +test_valid_value("image-resolution", "from-image 5dpcm"); +test_valid_value("image-resolution", "from-image 6dppx snap"); +test_valid_value("image-resolution", "from-image snap"); +test_valid_value("image-resolution", "snap 7.5dpi"); +test_valid_value("image-resolution", "snap -8dpcm from-image"); +test_valid_value("image-resolution", "snap from-image"); +test_valid_value("image-resolution", "snap from-image 0dppx"); + + +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html new file mode 100644 index 00000000000..e4a298b91a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-invalid.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 4: parsing object-fit with invalid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-object-fit"> +<meta name="assert" content="object-fit supports only the grammar 'fill | none | [contain | cover] || scale-down'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("object-fit", "auto"); +test_invalid_value("object-fit", "contain cover"); +test_invalid_value("object-fit", "fill scale-down"); +test_invalid_value("object-fit", "contain fill"); +test_invalid_value("object-fit", "cover none"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html new file mode 100644 index 00000000000..0f73cfe256c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-fit-valid.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 4: parsing object-fit with valid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-4/#propdef-object-fit"> +<meta name="assert" content="object-fit supports the full grammar 'fill | none | [contain | cover] || scale-down'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_valid_value("object-fit", "contain"); +test_valid_value("object-fit", "contain scale-down"); +test_valid_value("object-fit", "cover"); +test_valid_value("object-fit", "cover scale-down"); +test_valid_value("object-fit", "fill"); +test_valid_value("object-fit", "none"); +test_valid_value("object-fit", "scale-down"); +test_valid_value("object-fit", "scale-down contain"); +test_valid_value("object-fit", "scale-down cover"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html new file mode 100644 index 00000000000..87de7b9231a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-invalid.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing object-position with invalid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-object-position"> +<meta name="assert" content="object-position supports only the '<position>' grammar."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("object-position", "auto"); +test_invalid_value("object-position", "1px 2px 3px"); +test_invalid_value("object-position", "left right"); +test_invalid_value("object-position", "bottom 10% top 20%"); + +// The following were supported in an earlier version of the spec. +// https://github.com/w3c/csswg-drafts/issues/2140 +// Deprecated in Blink with support to be removed in M68, around July 2018. +test_invalid_value("object-position", "center left 1px"); +test_invalid_value("object-position", "center top 2px"); +test_invalid_value("object-position", "right 3% center"); +test_invalid_value("object-position", "left 4px top"); +test_invalid_value("object-position", "right top 5px"); +test_invalid_value("object-position", "bottom 6% center"); +test_invalid_value("object-position", "bottom 7% left"); +test_invalid_value("object-position", "bottom right 8%"); + +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html new file mode 100644 index 00000000000..f78f67e6326 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/object-position-valid.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: parsing object-position with valid values</title> +<link rel="author" title="Eric Willigers" href="mailto:ericwilligers@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-object-position"> +<meta name="assert" content="object-position supports the full '<position>' grammar."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/parsing-testcommon.js"></script> +</head> +<body> +<script> +// First serialization is being returned by Blink/Firefox/WebKit, second by Edge. +test_valid_value("object-position", "10%", ["10% center", "10% 50%"]); +test_valid_value("object-position", "right 30% top 60px"); // "calc(70%) 60px" in Edge. +test_valid_value("object-position", "20% 30px"); +test_valid_value("object-position", "30px center", ["30px center", "30px 50%"]); +test_valid_value("object-position", "40px top", ["40px top", "40px 0%"]); +test_valid_value("object-position", "bottom 10% right 20%", "right 20% bottom 10%"); // "calc(80%) calc(90%)" in Edge. +test_valid_value("object-position", "bottom right", ["right bottom", "100% 100%"]); +test_valid_value("object-position", "center 50px", ["center 50px", "50% 50px"]); +test_valid_value("object-position", "center bottom", ["center bottom", "50% 100%"]); +test_valid_value("object-position", "center left", ["left center", "0% 50%"]); +test_valid_value("object-position", "left", ["left center", "0% 50%"]); +test_valid_value("object-position", "left bottom", ["left bottom", "0% 100%"]); +test_valid_value("object-position", "left center", ["left center", "0% 50%"]); +test_valid_value("object-position", "right 40%", ["right 40%", "100% 40%"]); +test_valid_value("object-position", "top", ["center top", "50% 0%"]); +test_valid_value("object-position", "top center", ["center top", "50% 0%"]); + +// ["center center"] in Blink and Firefox, "center" in WebKit, "50% 50%" in Edge. +test_valid_value("object-position", "center", ["center center", "center", "50% 50%"]); +test_valid_value("object-position", "center center", ["center center", "center", "50% 50%"]); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/resources/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-images/parsing/resources/parsing-testcommon.js new file mode 100644 index 00000000000..9427f53d81b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/parsing/resources/parsing-testcommon.js @@ -0,0 +1,39 @@ +'use strict'; + +// serializedValue can be the expected serialization of value, +// or an array of permitted serializations, +// or omitted if value should serialize as value. +function test_valid_value(property, value, serializedValue) { + if (arguments.length < 3) + serializedValue = value; + + var stringifiedValue = JSON.stringify(value); + + test(function(){ + var div = document.createElement('div'); + div.style[property] = value; + assert_not_equals(div.style[property], "", "property should be set"); + + var div = document.createElement('div'); + div.style[property] = value; + var readValue = div.style[property]; + if (serializedValue instanceof Array) + assert_true(serializedValue.includes(readValue), "serialization should be sound"); + else + assert_equals(readValue, serializedValue, "serialization should be canonical"); + + div.style[property] = readValue; + assert_equals(div.style[property], readValue, "serialization should round-trip"); + + }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value"); +} + +function test_invalid_value(property, value) { + var stringifiedValue = JSON.stringify(value); + + test(function(){ + var div = document.createElement('div'); + div.style[property] = value; + assert_equals(div.style[property], ""); + }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value"); +} diff --git a/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent-ref.html b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent-ref.html new file mode 100644 index 00000000000..86956adf1de --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent-ref.html @@ -0,0 +1,12 @@ +<!doctype html> +<meta charset=utf-8> +<!-- Our target div should be placed as if it were a child of the overflowing -- + -- thing; this is simplest to accomplish by just having the overflowing thing -- + -- absolutely positioned so the target div is placed as if it were not there --> +<div style="overflow: auto; height: 100px; width: 200px; position: absolute"> + <div style="width: 400px; height: 10px"></div> +</div> +<div id="target">Modified text</div> +<script> + document.querySelector("div").scrollLeft = 1000; +</script> diff --git a/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html new file mode 100644 index 00000000000..e342e8c2750 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html @@ -0,0 +1,17 @@ +<!doctype html> +<meta charset=utf-8> +<title></title> +<link rel=match href=hypothetical-box-scroll-parent-ref.html> +<link rel="help" + href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width"> +<div style="overflow: auto; height: 100px; width: 200px"> + <div id="target" style="position: absolute">Original text</div> + <div style="width: 400px; height: 10px"></div> +</div> +<script> + // Scroll the parent. + document.querySelector("div").scrollLeft = 1000; + + // Now force relayout of the abs pos div. + document.getElementById("target").textContent = "Modified text"; +</script> diff --git a/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport-ref.html b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport-ref.html new file mode 100644 index 00000000000..368da5f6d42 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport-ref.html @@ -0,0 +1,7 @@ +<!doctype html> +<meta charset=utf-8> +<div>Modified text</div> +<div style="width: 200vw; height: 10px"></div> +<script> + window.scrollTo(window.innerWidth * 2, 0); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport.html b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport.html new file mode 100644 index 00000000000..9ccb822f107 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/hypothetical-box-scroll-viewport.html @@ -0,0 +1,15 @@ +<!doctype html> +<meta charset=utf-8> +<title></title> +<link rel=match href=hypothetical-box-scroll-viewport-ref.html> +<link rel="help" + href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width"> +<div style="position: absolute">Original text</div> +<div style="width: 200vw; height: 10px"></div> +<script> + // Scroll the viewport. + window.scrollTo(window.innerWidth * 2, 0); + + // Now force relayout of the abs pos div. + document.querySelector("div").textContent = "Modified text"; +</script> diff --git a/tests/wpt/web-platform-tests/css/css-syntax/declarations-trim-whitespace.html b/tests/wpt/web-platform-tests/css/css-syntax/declarations-trim-whitespace.html new file mode 100644 index 00000000000..a7d69d149e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-syntax/declarations-trim-whitespace.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Declarations trim whitespace from their beginning/ending</title> +<meta name="author" title="Tab Atkins-Bittner"> +<link rel=help href="https://drafts.csswg.org/css-syntax/#consume-declaration"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> + <div id="log"></div> + <style id="style-el"> + #foo { + --foo-1:bar; + --foo-2: bar; + --foo-3:bar ; + --foo-4: bar ; + --foo-5: bar !important; + --foo-6: bar !important ; + --foo-7:bar!important; + --foo-8:bar!important ; + --foo-9:bar + } + </style> + <p id=foo>foo</p> + <script> + let stylesheet = getComputedStyle(document.querySelector("#foo")); + let canonical = "bar"; + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-1"), canonical); + }, "--foo-1:bar;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-2"), canonical); + }, "--foo-2: bar;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-3"), canonical); + }, "--foo-3:bar ;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-4"), canonical); + }, "--foo-4: bar ;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-5"), canonical); + }, "--foo-5: bar !important;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-6"), canonical); + }, "--foo-6: bar !important ;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-7"), canonical); + }, "--foo-7:bar!important;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-8"), canonical); + }, "--foo-8:bar!important ;"); + test(function() { + assert_equals(stylesheet.getPropertyValue("--foo-9"), canonical); + }, "--foo-9:bar (then ws until end of rule)"); + </script> diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html new file mode 100644 index 00000000000..37fe964e9ab --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002-ref.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reftest Reference: Percentage sizing of table cell children with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +.table { + display: block; + border: solid 5px black; + width: 150px; + height: 100px; +} + +.td { + background: cyan; + overflow: scroll; + padding: 5px 15px 10px 20px; + border: solid magenta; + border-width: 12px 9px 6px 3px; + height: 100px; + box-sizing: border-box; +} + +.child { + background: yellow; + width: 100%; + height: 100%; +} +</style> + +<p>The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="table"> + <div class="td"> + <div class="child"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html new file mode 100644 index 00000000000..814aa2791d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-children-002.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Table Test: Percentage sizing of table cell children with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-tables-3/#content-measure"> +<link rel="match" href="percentage-sizing-of-table-cell-children-002-ref.html"> +<meta name="assert" content="Checks that table cell children resolve properly their percentage sizes, even when the table cell has margin, border, padding and scrollbar."> +<style> +.table { + display: table; + border: solid 5px black; + width: 150px; + height: 100px; +} + +.td { + display: table-cell; + background: cyan; + overflow: scroll; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + border: solid magenta; + border-width: 12px 9px 6px 3px; +} + +.child { + background: yellow; + width: 100%; + height: 100%; +} +</style> + +<p>The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="table"> + <div class="td"> + <div class="child"></div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html new file mode 100644 index 00000000000..3919e1e24a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001-ref.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reftest Reference: Percentage sizing of table cell children with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +.table { + display: block; + border: solid 5px black; + width: 150px; + height: 100px; +} + +.td { + background: cyan; + overflow: scroll; + padding: 5px 15px 10px 20px; + border: solid magenta; + border-width: 12px 9px 6px 3px; + height: 100px; + box-sizing: border-box; +} + +img { + display: block; + background: yellow; + width: 100%; + height: 100%; +} +</style> + +<p>The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="table"> + <div class="td"> + <img /> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html new file mode 100644 index 00000000000..2d3673800b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/percentage-sizing-of-table-cell-replaced-children-001.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Table Test: Percentage sizing of table cell replaced children with margin, border, padding and scrollbar</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-tables-3/#content-measure"> +<link rel="match" href="percentage-sizing-of-table-cell-replaced-children-001-ref.html"> +<meta name="assert" content="Checks that table cell replaced children resolve properly their percentage sizes, even when the table cell has margin, border, padding and scrollbar."> +<style> +.table { + display: table; + border: solid 5px black; + width: 150px; + height: 100px; +} + +.td { + display: table-cell; + background: cyan; + overflow: scroll; + margin: 1px 2px 3px 4px; + padding: 5px 15px 10px 20px; + border: solid magenta; + border-width: 12px 9px 6px 3px; +} + +img { + display: block; + background: yellow; + width: 100%; + height: 100%; +} +</style> + +<p>The test passes if you see scrollbars but there's no overflow, so you cannot actually scroll.</p> + +<div class="table"> + <div class="td"> + <img /> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html b/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html new file mode 100644 index 00000000000..0fd818c5a35 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001-ref.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reftest Reference: Percentage size on orthogonal replaced elements</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +.container { + display: inline-block; + border: solid 5px black; + margin: 10px; + vertical-align: top; + width: 200px; + height: 100px; +} + +img { + display: block; + width: 200px; + height: 100px; +} + +</style> + +<p>The test passes if you see four filled lime rectangles with black border and <strong>no red</strong>.</p> + +<div class="container"> + <img src="support/100x100-lime.png" /> +</div> + +<div class="container"> + <img src="support/100x100-lime.png" /> +</div> + +<div class="container"> + <img src="support/100x100-lime.png" /> +</div> + +<div class="container"> + <img src="support/100x100-lime.png" /> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html b/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html new file mode 100644 index 00000000000..6829920c802 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/sizing-percentages-replaced-orthogonal-001.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Writing Modes Test: Percentage size on orthogonal replaced elements</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#orthogonal-auto"> +<link rel="match" href="sizing-percentages-replaced-orthogonal-001-ref.html"> +<meta name="assert" content="Checks that orthogonal replaced elements resolve properly their percentage sizes against the expected axis from their containing block."> +<style> +.container { + display: inline-block; + border: solid 5px black; + margin: 10px; + vertical-align: top; + width: 200px; + height: 100px; + background: red; +} + +img { + display: block; + width: 100%; + height: 100%; +} + +.horizontalTB { writing-mode: horizontal-tb; } +.verticalLR { writing-mode: vertical-lr; } +.verticalRL { writing-mode: vertical-rl; } +</style> + +<p>The test passes if you see four filled lime rectangles with black border and <strong>no red</strong>.</p> + +<div class="container horizontalTB"> + <img class="verticalLR" src="support/100x100-lime.png" /> +</div> + +<div class="container horizontalTB"> + <img class="verticalRL" src="support/100x100-lime.png" /> +</div> + +<div class="container verticalLR"> + <img class="horizontalTB" src="support/100x100-lime.png" /> +</div> + +<div class="container verticalRL"> + <img class="horizontalTB" src="support/100x100-lime.png" /> +</div> diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth.html index f144a5f61cd..e1a7a6a1680 100644 --- a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth.html +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth.html @@ -56,5 +56,85 @@ window.scrollTo(0, 0); }, "BODY element scroll-behavior should not propagate to viewport"); + var instantHistoryNavigationTest = + async_test("Instant scrolling while doing history navigation."); + var smoothHistoryNavigationTest = + async_test("Smooth scrolling while doing history navigation."); + + function instant() { + document.documentElement.className = ""; + document.body.className = ""; + window.scrollTo(0, 0); + var p = document.createElement("pre"); + p.textContent = new Array(1000).join("newline\n"); + var a = document.createElement("a"); + a.href = "#"; + a.name = "foo"; + a.textContent = "foo"; + p.appendChild(a); + document.body.appendChild(p); + window.onhashchange = function() { + window.onhashchange = function() { + instantHistoryNavigationTest.step(function() { + assert_equals(location.hash, "", "Shouldn't be scrolled to a fragment."); + assert_equals(window.scrollY, 0, "Shouldn't be scrolled back to top yet."); + }); + p.remove(); + instantHistoryNavigationTest.done(); + smooth(); + } + + instantHistoryNavigationTest.step(function() { + assert_equals(location.hash, "#foo", "Should be scrolled to a fragment."); + assert_not_equals(window.scrollY, 0, "Shouldn't be scrolled to top anymore."); + }); + history.back(); + } + + instantHistoryNavigationTest.step(function() { + assert_equals(window.scrollY, 0, "Should be scrolled to top."); + assert_equals(location.hash, "", "Shouldn't be scrolled to a fragment."); + }); + location.hash = "foo"; + }; + instant(); + + function smooth() { + document.documentElement.className = ""; + document.body.className = ""; + window.scrollTo(0, 0); + var p = document.createElement("pre"); + p.textContent = new Array(1000).join("newline\n"); + var a = document.createElement("a"); + a.href = "#"; + a.name = "bar"; + a.textContent = "bar"; + p.appendChild(a); + document.body.appendChild(p); + window.onhashchange = function() { + window.onhashchange = function() { + smoothHistoryNavigationTest.step(function() { + assert_equals(location.hash, "", "Shouldn't be scrolled to a fragment."); + assert_not_equals(window.scrollY, 0, "Shouldn't be scrolled back to top yet."); + }); + p.remove(); + smoothHistoryNavigationTest.done(); + } + + smoothHistoryNavigationTest.step(function() { + assert_equals(location.hash, "#bar", "Should be scrolled to a fragment."); + assert_not_equals(window.scrollY, 0, "Shouldn't be scrolled to top anymore."); + }); + history.back(); + } + + smoothHistoryNavigationTest.step(function() { + assert_equals(window.scrollY, 0, "Should be scrolled to top."); + assert_equals(location.hash, "", "Shouldn't be scrolled to a fragment."); + }); + location.hash = "bar"; + document.documentElement.className = "smooth"; + }; + testContainer.style.display = "none"; </script> diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html b/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html index 2f26982c965..ceb41926f85 100644 --- a/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html +++ b/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html @@ -36,6 +36,7 @@ test(function() { assert_equals(doc.contentType, "application/xml"); assert_equals(doc.origin, document.origin); assert_equals(doc.createElement("DIV").localName, "DIV"); + assert_equals(doc.createElement("a").constructor, Element); }, "new Document(): metadata") test(function() { @@ -47,7 +48,8 @@ test(function() { test(function() { var doc = new Document(); - var a = doc.createElement("a"); + var a = doc.createElementNS("http://www.w3.org/1999/xhtml", "a"); + assert_equals(a.constructor, HTMLAnchorElement); // In UTF-8: 0xC3 0xA4 a.href = "http://example.org/?\u00E4"; assert_equals(a.href, "http://example.org/?%C3%A4"); diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.sub.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.html index e9c7cba2022..e9c7cba2022 100644 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.sub.html +++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-scrollintoview.tentative.html diff --git a/tests/wpt/web-platform-tests/fetch/api/headers/headers-idl.html b/tests/wpt/web-platform-tests/fetch/api/headers/headers-idl.html deleted file mode 100644 index 078c9d01495..00000000000 --- a/tests/wpt/web-platform-tests/fetch/api/headers/headers-idl.html +++ /dev/null @@ -1,36 +0,0 @@ -<!doctype html> -<html> - <head> - <meta charset="utf-8"> - <title>Headers idl interface</title> - <meta name="help" href="https://fetch.spec.whatwg.org/#response"> - <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/resources/WebIDLParser.js"></script> - <script src="/resources/idlharness.js"></script> - </head> - <body> - <script id="headers-idl" type="text/plain"> - typedef (sequence<sequence<ByteString>> or record<ByteString, ByteString>) HeadersInit; - - [Constructor(optional HeadersInit init), - Exposed=(Window,Worker)] - interface Headers { - void append(ByteString name, ByteString value); - void delete(ByteString name); - ByteString? get(ByteString name); - boolean has(ByteString name); - void set(ByteString name, ByteString value); - iterable<ByteString, ByteString>; - }; - </script> - <script> - var idlsArray = new IdlArray(); - var idl = document.getElementById("headers-idl").textContent - idlsArray.add_idls(idl); - idlsArray.add_objects({ Headers: ['new Headers()'] }); - idlsArray.test(); - </script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/fetch/api/idl.any.js b/tests/wpt/web-platform-tests/fetch/api/idl.any.js new file mode 100644 index 00000000000..cae5ca3769a --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/idl.any.js @@ -0,0 +1,18 @@ +// META: global=window,worker +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +promise_test(async() => { + const text = await (await fetch("/interfaces/fetch.idl")).text(); + const idl_array = new IdlArray(); + idl_array.add_idls(text); + idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface AbortSignal {};"); + idl_array.add_untested_idls("[Exposed=(Window,Worker)] interface ReadableStream {};"); + idl_array.add_untested_idls("enum ReferrerPolicy {};"); + idl_array.add_objects({ + Headers: ["new Headers()"], + Request: ["new Request('about:blank')"], + Response: ["new Response()"], + }); + idl_array.test(); +}, "Fetch Standard IDL"); diff --git a/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html index 27b510268dd..5d9f7173591 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/destination/fetch-destination.https.html @@ -425,4 +425,18 @@ promise_test(async t => { }); }, 'HTMLLinkElement with rel=preload and as=manifest fetches with a "manifest" Request.destination'); +// HTMLLinkElement with rel=prefetch - empty string destination +promise_test(async t => { + await new Promise((resolve, reject) => { + let node = frame.contentWindow.document.createElement("link"); + node.rel = "prefetch"; + node.onload = resolve; + node.onerror = reject; + node.href = "dummy?dest="; + frame.contentWindow.document.body.appendChild(node); + }).catch(() => { + assert_unreached("Fetch errored."); + }); +}, 'HTMLLinkElement with rel=prefetch fetches with an empty string Request.destination'); + </script> diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-idl.html b/tests/wpt/web-platform-tests/fetch/api/request/request-idl.html deleted file mode 100644 index f7833779ce2..00000000000 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-idl.html +++ /dev/null @@ -1,88 +0,0 @@ -<!doctype html> -<html> - <head> - <meta charset="utf-8"> - <title>Request idl interface</title> - <meta name="help" href="https://fetch.spec.whatwg.org/#response"> - <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/resources/WebIDLParser.js"></script> - <script src="/resources/idlharness.js"></script> - </head> - <body> - <script id="body-idl" type="text/plain"> - typedef any JSON; - typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit; - - interface mixin Body { - readonly attribute ReadableStream? body; - readonly attribute boolean bodyUsed; - [NewObject] Promise<ArrayBuffer> arrayBuffer(); - [NewObject] Promise<Blob> blob(); - [NewObject] Promise<FormData> formData(); - [NewObject] Promise<JSON> json(); - [NewObject] Promise<USVString> text(); - }; - </script> - <script id="request-idl" type="text/plain"> - typedef (Request or USVString) RequestInfo; - - [Constructor(RequestInfo input, optional RequestInit init), - Exposed=(Window,Worker)] - interface Request { - readonly attribute ByteString method; - readonly attribute USVString url; - [SameObject] readonly attribute Headers headers; - - readonly attribute RequestDestination destination; - readonly attribute USVString referrer; - readonly attribute ReferrerPolicy referrerPolicy; - readonly attribute RequestMode mode; - readonly attribute RequestCredentials credentials; - readonly attribute RequestCache cache; - readonly attribute RequestRedirect redirect; - readonly attribute DOMString integrity; - - [NewObject] Request clone(); - }; - Request includes Body; - - dictionary RequestInit { - ByteString method; - HeadersInit headers; - BodyInit? body; - USVString referrer; - ReferrerPolicy referrerPolicy; - RequestMode mode; - RequestCredentials credentials; - RequestCache cache; - RequestRedirect redirect; - DOMString integrity; - any window; // can only be set to null - }; - - enum RequestType { "", "audio", "font", "image", "script", "style", "track", "video" }; - enum RequestDestination { "", "document", "sharedworker", "subresource", "unknown", "worker" }; - enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; - enum RequestCredentials { "omit", "same-origin", "include" }; - enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; - enum RequestRedirect { "follow", "error", "manual" }; - enum ReferrerPolicy { - "", "no-referrer", "no-referrer-when-downgrade", "origin", - "origin-when-cross-origin", "unsafe-url", "same-origin", "strict-origin", - "strict-origin-when-cross-origin" - }; - </script> - <script> - var idlsArray = new IdlArray(); - var idl = document.getElementById("body-idl").textContent - idl += document.getElementById("request-idl").textContent - - idlsArray.add_idls(idl); - idlsArray.add_untested_idls("interface Headers {};"); - idlsArray.add_objects({ Request: ['new Request("")'] }); - idlsArray.test(); - </script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html b/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html new file mode 100644 index 00000000000..ba04d19a877 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> +<body> +<script> +const worker = 'resources/request-reset-attributes-worker.js'; + +promise_test(async (t) => { + const scope = 'resources/hello.txt?name=isReloadNavigation'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'old: false, new: false'); + await new Promise((resolve) => { + frame.onload = resolve; + frame.contentWindow.location.reload(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'old: true, new: false'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'Request.isReloadNavigation is reset with non-empty RequestInit'); +</script> diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html b/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html index ccdb707795c..3f82e9c448b 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html @@ -99,6 +99,11 @@ newValue = true; break; + case "isReloadNavigation": + defaultValue = false; + newValue = true; + break; + default: return; } diff --git a/tests/wpt/web-platform-tests/fetch/api/request/resources/hello.txt b/tests/wpt/web-platform-tests/fetch/api/request/resources/hello.txt new file mode 100644 index 00000000000..ce013625030 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/request/resources/hello.txt @@ -0,0 +1 @@ +hello diff --git a/tests/wpt/web-platform-tests/fetch/api/request/resources/request-reset-attributes-worker.js b/tests/wpt/web-platform-tests/fetch/api/request/resources/request-reset-attributes-worker.js new file mode 100644 index 00000000000..4b264ca2fec --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/request/resources/request-reset-attributes-worker.js @@ -0,0 +1,19 @@ +self.addEventListener('fetch', (event) => { + const params = new URL(event.request.url).searchParams; + if (params.has('ignore')) { + return; + } + if (!params.has('name')) { + event.respondWith(Promise.reject(TypeError('No name is provided.'))); + return; + } + + const name = params.get('name'); + const old_attribute = event.request[name]; + // If any of |init|'s member is present... + const init = {cache: 'no-store'} + const new_attribute = (new Request(event.request, init))[name]; + + event.respondWith( + new Response(`old: ${old_attribute}, new: ${new_attribute}`)); + }); diff --git a/tests/wpt/web-platform-tests/fetch/api/response/response-idl.html b/tests/wpt/web-platform-tests/fetch/api/response/response-idl.html deleted file mode 100644 index bd265fa203d..00000000000 --- a/tests/wpt/web-platform-tests/fetch/api/response/response-idl.html +++ /dev/null @@ -1,68 +0,0 @@ -<!doctype html> -<html> - <head> - <meta charset="utf-8"> - <title>Response idl interface</title> - <meta name="help" href="https://fetch.spec.whatwg.org/#response"> - <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr"> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <script src="/resources/WebIDLParser.js"></script> - <script src="/resources/idlharness.js"></script> - </head> - <body> - <script id="body-idl" type="text/plain"> - typedef any JSON; - typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit; - - interface mixin Body { - readonly attribute ReadableStream? body; - readonly attribute boolean bodyUsed; - [NewObject] Promise<ArrayBuffer> arrayBuffer(); - [NewObject] Promise<Blob> blob(); - [NewObject] Promise<FormData> formData(); - [NewObject] Promise<JSON> json(); - [NewObject] Promise<USVString> text(); - }; - </script> - <script id="response-idl" type="text/plain"> - [Constructor(optional BodyInit body, optional ResponseInit init), - Exposed=(Window,Worker)] - interface Response { - [NewObject] static Response error(); - [NewObject] static Response redirect(USVString url, optional unsigned short status = 302); - - readonly attribute ResponseType type; - - readonly attribute USVString url; - readonly attribute unsigned short status; - readonly attribute boolean ok; - readonly attribute ByteString statusText; - [SameObject] readonly attribute Headers headers; - readonly attribute Promise<Headers> trailer; - - [NewObject] Response clone(); - }; - Response includes Body; - - dictionary ResponseInit { - unsigned short status = 200; - ByteString statusText = "OK"; - HeadersInit headers; - }; - - enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" }; - </script> - <script> - var idlsArray = new IdlArray(); - var idl = document.getElementById("body-idl").textContent - idl += document.getElementById("response-idl").textContent - - idlsArray.add_idls(idl); - idlsArray.add_untested_idls("interface Headers {};"); - idlsArray.add_untested_idls("interface ReadableStream {};"); - idlsArray.add_objects({ Response: ['new Response()'] }); - idlsArray.test(); - </script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_url.html b/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_url.html deleted file mode 100644 index cfbca35bfdf..00000000000 --- a/tests/wpt/web-platform-tests/html/browsers/history/the-history-interface/history_pushstate_url.html +++ /dev/null @@ -1,24 +0,0 @@ -<!doctype html> -<html> -<head> -<meta charset="utf-8"> -<title>History pushState sets the url</title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -</head> -<body> -<div id="log"></div> -<script> -async_test(function(t) { - var oldLocation = window.location.toString(); - window.history.pushState(null, "", "#hash"); - assert_equals(oldLocation + "#hash", window.location.toString(), "pushState updates url"); - history.back(); - window.onhashchange = () => { - assert_equals(oldLocation, window.location.toString(), 'history traversal restores old url'); - t.done(); - }; -}, "history pushState sets url"); -</script> -</body> -</html> diff --git a/tests/wpt/web-platform-tests/html/browsers/offline/browser-state/navigator_online_event-manual.https.html b/tests/wpt/web-platform-tests/html/browsers/offline/browser-state/navigator_online_event-manual.https.html index b100f177eb1..81cad4f4fe2 100644 --- a/tests/wpt/web-platform-tests/html/browsers/offline/browser-state/navigator_online_event-manual.https.html +++ b/tests/wpt/web-platform-tests/html/browsers/offline/browser-state/navigator_online_event-manual.https.html @@ -25,12 +25,18 @@ </div> <script> - function showOnline() { - document.getElementById('actualMsg').innerHTML = 'online event is raised.'; + function showOnline(e) { + let msg = 'online event is raised'; + if (e.target != window) + msg += ' (on the WRONG target)'; + document.getElementById('actualMsg').innerHTML = msg + '.'; } - function showOffline() { - document.getElementById('actualMsg').innerHTML = 'offline event is raised.'; + function showOffline(e) { + let msg = 'offline event is raised'; + if (e.target != window) + msg += ' (on the WRONG target)'; + document.getElementById('actualMsg').innerHTML = msg + '.'; } window.addEventListener("online", showOnline, false); diff --git a/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js b/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js new file mode 100644 index 00000000000..5c8e7d68e23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js @@ -0,0 +1,22 @@ +// In an ideal world this test would eventually be obsolete due to mutation events disappearing. Or +// would have to change to account for mutation events not firing synchronously. Neither seems +// realistic to the author though. + +test(t => { + const frame = document.body.appendChild(document.createElement("iframe")); + frame.contentWindow.addEventListener("DOMNodeInserted", t.unreached_func()); + frame.contentWindow.addEventListener("DOMNodeInserted", t.unreached_func(), true); + frame.contentWindow.addEventListener("DOMNodeInsertedIntoDocument", t.unreached_func(), true); + frame.contentWindow.addEventListener("DOMNodeRemoved", t.unreached_func()); + frame.contentWindow.addEventListener("DOMNodeRemoved", t.unreached_func(), true); + frame.contentWindow.addEventListener("DOMNodeRemovedFromDocument", t.unreached_func(), true); + frame.contentWindow.addEventListener("DOMSubtreeModified", t.unreached_func()); + frame.contentWindow.addEventListener("DOMSubtreeModified", t.unreached_func(), true); + assert_equals(frame.contentDocument.documentElement.localName, "html"); + frame.contentDocument.open(); + assert_equals(frame.contentDocument.documentElement, null); + frame.contentDocument.write("<div>heya</div>"); + frame.contentDocument.close(); + assert_equals(frame.contentDocument.documentElement.localName, "html"); + frame.remove(); +}, "document.open(), the HTML parser, and mutation events"); diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html new file mode 100644 index 00000000000..0fe91713869 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<head> +<meta charset="utf-8"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#constructing-the-form-data-set"> +<link ref="help" href="https://xhr.spec.whatwg.org/#dom-formdata"> +<link rel="help" href="https://fetch.spec.whatwg.org/#concept-bodyinit-extract"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> + +<iframe name="frame1"></iframe> +<form accept-charset="iso-8859-1" target="frame1" action="/common/blank.html"> +<input type="hidden" name="_charset_"> +</form> + +<script> +test(() => { + let formData = new FormData(document.querySelector('form')); + assert_equals(formData.get('_charset_'), 'UTF-8'); +}, 'FormData constructor always produces UTF-8 _charset_ value.'); + +let t = async_test('_charset_ control sets the expected encoding name.'); +t.step(() => { + let iframe = document.querySelector('iframe'); + iframe.onload = t.step_func_done(() => { + assert_not_equals(iframe.contentDocument.URL.indexOf('_charset_=windows-1252'), -1); + }); + document.querySelector('form').submit(); +}); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/infrastructure/OWNERS b/tests/wpt/web-platform-tests/infrastructure/OWNERS new file mode 100644 index 00000000000..684dcf3c014 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/OWNERS @@ -0,0 +1,4 @@ +@gsnedders +@jgraham +@jugglinmike +@kereliuk diff --git a/tests/wpt/web-platform-tests/infrastructure/browsers/firefox/prefs.html b/tests/wpt/web-platform-tests/infrastructure/browsers/firefox/prefs.html new file mode 100644 index 00000000000..64a985a4d1b --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/browsers/firefox/prefs.html @@ -0,0 +1,7 @@ +<title>Ensure that setting gecko prefs works</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +assert_equals(getComputedStyle(document.documentElement).color, "rgb(0, 255, 0)") +</script> +<p>This should be green</p> diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini new file mode 100644 index 00000000000..3e0ed18107c --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini @@ -0,0 +1,2 @@ +disabled: + if product != "firefox": true
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini new file mode 100644 index 00000000000..7b78d216de8 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/browsers/firefox/prefs.html.ini @@ -0,0 +1,2 @@ +[prefs.html] + prefs: ["browser.display.foreground_color:#00FF00"] diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_and_fail.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini index 81aef049cd1..81aef049cd1 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_and_fail.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_and_fail.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_cycle_fail.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini index 472b33f7764..472b33f7764 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_cycle_fail.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_cycle_fail.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_match_fail.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_match_fail.html.ini index f3dc3362fac..f3dc3362fac 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_match_fail.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_match_fail.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_mismatch_fail.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_mismatch_fail.html.ini index 1055337e2d6..1055337e2d6 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_mismatch_fail.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_mismatch_fail.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_ref_timeout.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_ref_timeout.html.ini index 8936241ad29..8936241ad29 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_ref_timeout.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_ref_timeout.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_timeout.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_timeout.html.ini index 0d1b9bade95..0d1b9bade95 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/metadata/reftest/reftest_timeout.html.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/reftest/reftest_timeout.html.ini diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/green-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/green-ref.html index 0e145d60b55..0e145d60b55 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/green-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/green-ref.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/green.html b/tests/wpt/web-platform-tests/infrastructure/reftest/green.html index 38167bb58d5..38167bb58d5 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/green.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/green.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/red.html b/tests/wpt/web-platform-tests/infrastructure/reftest/red.html index 2b677e00634..2b677e00634 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/red.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/red.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest.https.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest.https.html index 5a45f10f35e..5a45f10f35e 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest.https.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest.https.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_and_fail.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_and_fail.html index 29601953562..29601953562 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_and_fail.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_and_fail.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_and_fail_0-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_and_fail_0-ref.html index 04fb9aa1517..04fb9aa1517 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_and_fail_0-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_and_fail_0-ref.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle.html index 4a84a3b6741..4a84a3b6741 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_0-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_0-ref.html index 118bfd88447..118bfd88447 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_0-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_0-ref.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_1-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_1-ref.html index 59be0b641de..59be0b641de 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_1-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_1-ref.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_fail.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_fail.html index 175e76c4cc9..175e76c4cc9 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_fail.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_fail.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_fail_0-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_fail_0-ref.html index c8e548c4622..c8e548c4622 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_cycle_fail_0-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_cycle_fail_0-ref.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_match.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_match.html index 333cc6c1ecd..333cc6c1ecd 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_match.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_match.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_match_fail.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_match_fail.html index a9272ef74da..a9272ef74da 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_match_fail.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_match_fail.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_mismatch.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_mismatch.html index af5fa0750d8..af5fa0750d8 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_mismatch.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_mismatch.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_mismatch_fail.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_mismatch_fail.html index 8d160c4fc20..8d160c4fc20 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_mismatch_fail.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_mismatch_fail.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_or_0.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_or_0.html index 3a51de21644..3a51de21644 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_or_0.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_or_0.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_ref_timeout-ref.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_ref_timeout-ref.html index 04cbb71e0c3..2f52c05979f 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_ref_timeout-ref.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_ref_timeout-ref.html @@ -1,6 +1,5 @@ <html class="reftest-wait"> <title>rel=match that should time out in the ref</title> -<link rel=match href=reftest_ref_timeout-ref.html> <style> :root {background-color:green} </style> diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_ref_timeout.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_ref_timeout.html index aaf68f5cb5f..aaf68f5cb5f 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_ref_timeout.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_ref_timeout.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_timeout.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_timeout.html index b10e676bf00..b10e676bf00 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_timeout.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_timeout.html diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_wait_0.html b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_wait_0.html index 4f92715c61e..fec62a3cae0 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/test/testdata/reftest/reftest_wait_0.html +++ b/tests/wpt/web-platform-tests/infrastructure/reftest/reftest_wait_0.html @@ -1,6 +1,6 @@ <html class="reftest-wait"> -<title>rel=match that should fail</title> -<link rel=match href=red.html> +<title>Test with reftest-wait</title> +<link rel=match href=green.html> <style> :root {background-color:red} </style> diff --git a/tests/wpt/web-platform-tests/interfaces/fetch.idl b/tests/wpt/web-platform-tests/interfaces/fetch.idl new file mode 100644 index 00000000000..346d1b08819 --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/fetch.idl @@ -0,0 +1,97 @@ +typedef (sequence<sequence<ByteString>> or record<ByteString, ByteString>) HeadersInit; + +[Constructor(optional HeadersInit init), + Exposed=(Window,Worker)] +interface Headers { + void append(ByteString name, ByteString value); + void delete(ByteString name); + ByteString? get(ByteString name); + boolean has(ByteString name); + void set(ByteString name, ByteString value); + iterable<ByteString, ByteString>; +}; +typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream or USVString) BodyInit; +interface mixin Body { + readonly attribute ReadableStream? body; + readonly attribute boolean bodyUsed; + [NewObject] Promise<ArrayBuffer> arrayBuffer(); + [NewObject] Promise<Blob> blob(); + [NewObject] Promise<FormData> formData(); + [NewObject] Promise<any> json(); + [NewObject] Promise<USVString> text(); +}; +typedef (Request or USVString) RequestInfo; + +[Constructor(RequestInfo input, optional RequestInit init), + Exposed=(Window,Worker)] +interface Request { + readonly attribute ByteString method; + readonly attribute USVString url; + [SameObject] readonly attribute Headers headers; + + readonly attribute RequestDestination destination; + readonly attribute USVString referrer; + readonly attribute ReferrerPolicy referrerPolicy; + readonly attribute RequestMode mode; + readonly attribute RequestCredentials credentials; + readonly attribute RequestCache cache; + readonly attribute RequestRedirect redirect; + readonly attribute DOMString integrity; + readonly attribute boolean keepalive; + readonly attribute boolean isReloadNavigation; + readonly attribute AbortSignal signal; + + [NewObject] Request clone(); +}; +Request includes Body; + +dictionary RequestInit { + ByteString method; + HeadersInit headers; + BodyInit? body; + USVString referrer; + ReferrerPolicy referrerPolicy; + RequestMode mode; + RequestCredentials credentials; + RequestCache cache; + RequestRedirect redirect; + DOMString integrity; + boolean keepalive; + AbortSignal? signal; + any window; // can only be set to null +}; + +enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "image", "manifest", "object", "paintworklet", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt" }; +enum RequestMode { "navigate", "same-origin", "no-cors", "cors" }; +enum RequestCredentials { "omit", "same-origin", "include" }; +enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" }; +enum RequestRedirect { "follow", "error", "manual" }; +[Constructor(optional BodyInit? body = null, optional ResponseInit init), Exposed=(Window,Worker)] +interface Response { + [NewObject] static Response error(); + [NewObject] static Response redirect(USVString url, optional unsigned short status = 302); + + readonly attribute ResponseType type; + + readonly attribute USVString url; + readonly attribute boolean redirected; + readonly attribute unsigned short status; + readonly attribute boolean ok; + readonly attribute ByteString statusText; + [SameObject] readonly attribute Headers headers; + readonly attribute Promise<Headers> trailer; + + [NewObject] Response clone(); +}; +Response includes Body; + +dictionary ResponseInit { + unsigned short status = 200; + ByteString statusText = "OK"; + HeadersInit headers; +}; + +enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" }; +partial interface mixin WindowOrWorkerGlobalScope { + [NewObject] Promise<Response> fetch(RequestInfo input, optional RequestInit init); +}; diff --git a/tests/wpt/web-platform-tests/interfaces/geometry.idl b/tests/wpt/web-platform-tests/interfaces/geometry.idl index 7ee2a5a0561..be1d56b26dc 100644 --- a/tests/wpt/web-platform-tests/interfaces/geometry.idl +++ b/tests/wpt/web-platform-tests/interfaces/geometry.idl @@ -80,7 +80,6 @@ dictionary DOMRectInit { unrestricted double height = 0; }; -[LegacyArrayClass] interface DOMRectList { readonly attribute unsigned long length; getter DOMRect? item(unsigned long index); diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index bc385953ae2..e7e1af82901 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -309,6 +309,7 @@ GENERATE_TESTS: shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/w SET TIMEOUT: css/css-fonts/font-display/font-display.html SET TIMEOUT: css/css-fonts/font-display/font-display-change.html SET TIMEOUT: css/css-fonts/font-display/font-display-change-ref.html +SET TIMEOUT: css/css-fonts/font-display/font-display-preload.html SET TIMEOUT: html/browsers/windows/auxiliary-browsing-contexts/resources/close-opener.html SET TIMEOUT: html/dom/documents/dom-tree-accessors/Document.currentScript.html SET TIMEOUT: html/webappapis/timers/* @@ -779,6 +780,8 @@ CSS-COLLIDING-REF-NAME: css/CSS2/visuren/inline-formatting-context-001-ref.xht CSS-COLLIDING-REF-NAME: css/CSS2/linebox/inline-formatting-context-001-ref.xht CSS-COLLIDING-REF-NAME: css/css-transforms/individual-transform/individual-transform-1-ref.html CSS-COLLIDING-REF-NAME: css/vendor-imports/mozilla/mozilla-central-reftests/transforms/individual-transform-1-ref.html +CSS-COLLIDING-REF-NAME: css/css-flexbox/reference/percentage-size-subitems-001-ref.html +CSS-COLLIDING-REF-NAME: css/css-grid/grid-items/percentage-size-subitems-001-ref.html CSS-COLLIDING-SUPPORT-NAME: css/css-backgrounds/support/red.png CSS-COLLIDING-SUPPORT-NAME: css/compositing/mix-blend-mode/support/red.png CSS-COLLIDING-SUPPORT-NAME: css/compositing/background-blending/support/red.png @@ -797,7 +800,6 @@ CSS-COLLIDING-SUPPORT-NAME: css/CSS2/normal-flow/support/replaced-min-max-1.png CSS-COLLIDING-SUPPORT-NAME: css/vendor-imports/mozilla/mozilla-central-reftests/ui3/support/replaced-min-max-1.png # CSS tests that used to be at the top level and weren't subject to lints -MISSING-LINK: css/css-fonts/font-display/font-display.html MISSING-LINK: css/css-fonts/matching/fixed-stretch-style-over-weight.html SUPPORT-WRONG-DIR: css/css-fonts/matching/font-matching.css MISSING-LINK: css/css-fonts/matching/stretch-distance-over-weight-distance.html diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html index 3268021b28c..380686fd8b1 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html +++ b/tests/wpt/web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.html @@ -8,10 +8,15 @@ function testCommitPushesContents(offscreenCanvas) { + try { var ctx = offscreenCanvas.getContext('2d'); ctx.fillStyle = "#0f0"; ctx.fillRect(0, 0, 10, 10); ctx.commit(); + return true; + } catch(e) { + return false; + } } function isInvalidStateError(funcStr, ctx) @@ -37,8 +42,7 @@ function testCommitException() self.onmessage = function(e) { switch (e.data.msg) { case 'test1': - testCommitPushesContents(e.data.data); - self.postMessage('worker finished'); + self.postMessage(testCommitPushesContents(e.data.data)); break; case 'test2': self.postMessage(testCommitException()); @@ -71,7 +75,8 @@ async_test(function(t) { var offscreenCanvas = placeholder.transferControlToOffscreen(); var worker = makeWorker(document.getElementById("myWorker").textContent); worker.addEventListener('message', t.step_func_done(function(msg) { - verifyPlaceholder(placeholder); + assert_true(msg.data); + verifyPlaceholder(placeholder); })); worker.postMessage({msg: 'test1', data: offscreenCanvas}, [offscreenCanvas]); }, "Test that calling OffscreenCanvas's commit pushes its contents to its placeholder."); @@ -85,4 +90,3 @@ async_test(function(t) { }, "Test that calling commit on an OffscreenCanvas that is not transferred from a HTMLCanvasElement throws an exception in a worker."); </script> - diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentCurrencyAmount/currencySystem-member.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentCurrencyAmount/currencySystem-member.https.html deleted file mode 100644 index c79fb0fadc5..00000000000 --- a/tests/wpt/web-platform-tests/payment-request/PaymentCurrencyAmount/currencySystem-member.https.html +++ /dev/null @@ -1,39 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>Tests for PaymentCurrencyAmount's currencySystem</title> -<link rel="help" href="https://www.w3.org/TR/payment-request/#dom-paymentcurrencyamount-currencysystem"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script> -test(() => { - const validAmount = { - value: "0", - currency: "USD", - currencySystem: "urn:iso:std:iso:4217", - } - const validMethods = [{ supportedMethods: "valid-method" }]; - const validDetails = { - total: { - label: "", - amount: validAmount, - }, - }; - // smoke test - const request = new PaymentRequest(validMethods, validDetails); - - // real test - assert_throws(new TypeError(), () => { - const invalidAmount = { - ...validAmount, - currencySystem: "this will cause the TypeError" - } - const invalidDetails = { - total: { - label: "", - amount: invalidAmount, - }, - }; - const request = new PaymentRequest(validMethods, invalidDetails); - }) -}, "Must throw if it encounters an unknown currencySystem"); -</script> diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js index fe7239544cf..4664465572c 100644 --- a/tests/wpt/web-platform-tests/resources/idlharness.js +++ b/tests/wpt/web-platform-tests/resources/idlharness.js @@ -1513,8 +1513,6 @@ IdlInterface.prototype.test_self = function() // object. // "Otherwise, if A is declared to inherit from another interface, then // return the interface prototype object for the inherited interface. - // "Otherwise, if A is declared with the [LegacyArrayClass] extended - // attribute, then return %ArrayPrototype%. // "Otherwise, return %ObjectPrototype%. // // "In the ECMAScript binding, the DOMException type has some additional @@ -1537,9 +1535,6 @@ IdlInterface.prototype.test_self = function() !this.array .members[inherit_interface] .has_extended_attribute("NoInterfaceObject"); - } else if (this.has_extended_attribute('LegacyArrayClass')) { - inherit_interface = 'Array'; - inherit_interface_has_interface_object = true; } else if (this.name === "DOMException") { inherit_interface = 'Error'; inherit_interface_has_interface_object = true; diff --git a/tests/wpt/web-platform-tests/resources/test/conftest.py b/tests/wpt/web-platform-tests/resources/test/conftest.py index 0be41eeec54..abc3b6cfdda 100644 --- a/tests/wpt/web-platform-tests/resources/test/conftest.py +++ b/tests/wpt/web-platform-tests/resources/test/conftest.py @@ -80,7 +80,7 @@ class HTMLItem(pytest.Item, pytest.Collector): if not self.expected: assert summarized[u'summarized_status'][u'status_string'] == u'OK', summarized[u'summarized_status'][u'message'] for test in summarized[u'summarized_tests']: - msg = "%s\n%s:\n%s" % (test[u'name'], test[u'message'], test[u'stack']) + msg = "%s\n%s" % (test[u'name'], test[u'message']) assert test[u'status_string'] == u'PASS', msg else: assert summarized == self.expected @@ -93,12 +93,7 @@ class HTMLItem(pytest.Item, pytest.Collector): @staticmethod def _scrub_stack(test_obj): copy = dict(test_obj) - - assert 'stack' in copy - - if copy['stack'] is not None: - copy['stack'] = u'(implementation-defined)' - + del copy['stack'] return copy @staticmethod diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html index d47e7ff24b7..c5e0ad79ac7 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup.html @@ -56,37 +56,32 @@ async_test(function(t) { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Cleanup methods are invoked exactly once and in the expected sequence.", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Cleanup methods are invoked following the completion of asynchronous tests", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "probe asynchronous", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "probe synchronous", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html index a079c9b879b..3ea30a3f084 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_count.html @@ -22,14 +22,12 @@ promise_test(function(t) { { "summarized_status": { "status_string": "ERROR", - "message": "Test named 'test with 3 user-defined cleanup functions' specified 3 'cleanup' functions, and 1 failed.", - "stack": null + "message": "Test named 'test with 3 user-defined cleanup functions' specified 3 'cleanup' functions, and 1 failed." }, "summarized_tests": [ { "status_string": "PASS", "name": "test with 3 user-defined cleanup functions", - "stack": null, "message": null, "properties": {} } diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html index 66efb077337..bae1eb5a567 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err.html @@ -22,23 +22,20 @@ test(function() {}, "This test should not be run."); { "summarized_status": { "status_string": "ERROR", - "message": "Test named 'Exception in cleanup function causes harness failure.' specified 1 'cleanup' function, and 1 failed.", - "stack": null + "message": "Test named 'Exception in cleanup function causes harness failure.' specified 1 'cleanup' function, and 1 failed." }, "summarized_tests": [ { "status_string": "PASS", "name": "Exception in cleanup function causes harness failure.", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "NOTRUN", "name": "This test should not be run.", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html index b60668c0290..3f116c5876d 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/add_cleanup_err_multi.html @@ -29,23 +29,20 @@ test(function(t) { { "summarized_status": { "status_string": "ERROR", - "message": "Test named 'Test with multiple cleanup functions' specified 2 'cleanup' functions, and 1 failed.", - "stack": null + "message": "Test named 'Test with multiple cleanup functions' specified 2 'cleanup' functions, and 1 failed." }, "summarized_tests": [ { "status_string": "PASS", "name": "Test with multiple cleanup functions", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "NOTRUN", "name": "Verification test", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html index 3c58b01f66f..3b5234f3626 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-1.html @@ -208,161 +208,138 @@ { "summarized_status": { "status_string": "TIMEOUT", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Setup function ran", - "stack": null, "message": null, "properties": {} }, { "status_string": "FAIL", "name": "Test assert_throws with non-DOM-exception expected to Fail", - "stack": "(implementation-defined)", "message": "Test bug: unrecognized DOMException code \"TEST_ERR\" passed to assert_throws()", "properties": {} }, { "status_string": "PASS", "name": "Test async test with callback", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Test async test with callback and `this` obj.", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Test step_func", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Test that cleanup handlers from previous test ran", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Test that defines a global and cleans it up", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Test throw DOM exception", - "stack": null, "message": null, "properties": {} }, { "status_string": "FAIL", "name": "Test throw DOM exception expected to fail", - "stack": "(implementation-defined)", "message": "assert_throws: function \"function () {a.appendChild(b)}\" threw object \"HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy\" that is not a DOMException NOT_FOUND_ERR: property \"code\" is equal to 3, expected 8", "properties": {} }, { "status_string": "FAIL", "name": "assert_array_equals with first param 1", - "stack": "(implementation-defined)", "message": "assert_array_equals: 1 equals [1]? value is 1, expected array", "properties": {} }, { "status_string": "FAIL", "name": "assert_array_equals with first param false", - "stack": "(implementation-defined)", "message": "assert_array_equals: false equals [1]? value is false, expected array", "properties": {} }, { "status_string": "FAIL", "name": "assert_array_equals with first param null", - "stack": "(implementation-defined)", "message": "assert_array_equals: null equals [1]? value is null, expected array", "properties": {} }, { "status_string": "FAIL", "name": "assert_array_equals with first param true", - "stack": "(implementation-defined)", "message": "assert_array_equals: true equals [1]? value is true, expected array", "properties": {} }, { "status_string": "FAIL", "name": "assert_array_equals with first param undefined", - "stack": "(implementation-defined)", "message": "assert_array_equals: undefined equals [1]? value is undefined, expected array", "properties": {} }, { "status_string": "PASS", "name": "assert_equals tests", - "stack": null, "message": null, "properties": {} }, { "status_string": "FAIL", "name": "assert_equals tests expected to fail", - "stack": "(implementation-defined)", "message": "assert_equals: Zero case expected 0 but got -0", "properties": {} }, { "status_string": "FAIL", "name": "assert_greater_than expected to fail", - "stack": "(implementation-defined)", "message": "assert_greater_than: 10 is not greater than 11 expected a number greater than 11 but got 10", "properties": {} }, { "status_string": "FAIL", "name": "assert_less_than_equal expected to fail", - "stack": "(implementation-defined)", "message": "assert_greater_than_equal: '10' is not a number expected a number but got a \"string\"", "properties": {} }, { "status_string": "PASS", "name": "assert_not_equals tests", - "stack": null, "message": null, "properties": {} }, { "status_string": "FAIL", "name": "assert_true expected to fail", - "stack": "(implementation-defined)", "message": "assert_true: false should not be true expected true got false", "properties": {} }, { "status_string": "PASS", "name": "assert_true expected to pass", - "stack": null, "message": null, "properties": {} }, { "status_string": "NOTRUN", "name": "async test that is never started, should have status Not Run", - "stack": null, "message": null, "properties": { "timeout": 1000 @@ -371,70 +348,60 @@ { "status_string": "PASS", "name": "basic assert_approx_equals test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "basic assert_array_approx_equals test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "basic assert_array_equals test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "basic assert_greater_than_equal test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "basic assert_less_than test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "basic assert_object_equals test", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "body element fires the onload event set from the attribute", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "document.body should be the first body element in the document", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "test for assert[_not]_exists and insert_inherits", - "stack": null, "message": null, "properties": {} }, { "status_string": "TIMEOUT", "name": "test should timeout (fail) with a custom set timeout value of 1 second", - "stack": null, "message": "Test timed out", "properties": { "timeout": 1000 @@ -443,14 +410,12 @@ { "status_string": "TIMEOUT", "name": "test should timeout (fail) with the default of 2 seconds", - "stack": null, "message": "Test timed out", "properties": {} }, { "status_string": "PASS", "name": "window onload event fires when set from the handler", - "stack": null, "message": null, "properties": {} } diff --git a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-2.html b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-2.html index dd08d1a6e9a..164106bb6df 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-2.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-2.html @@ -21,23 +21,20 @@ done(); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Test defined after onload", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test defined before onload", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-3.html b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-3.html index 9e87e497b49..5dbeb2d94e1 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/api-tests-3.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/api-tests-3.html @@ -17,16 +17,14 @@ timeout(); { "summarized_status": { "status_string": "TIMEOUT", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "NOTRUN", "name": "This test should give a status of 'Not Run' without a delay", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html b/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html index bef53b406e3..7827068b03e 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/force_timeout.html @@ -31,29 +31,25 @@ promise_test(function(t) { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "TIMEOUT", "name": "async_test", "message": "Test timed out", - "stack": null, "properties": {} }, { "status_string": "TIMEOUT", "name": "promise_test", "message": "Test timed out", - "stack": null, "properties": {} }, { "status_string": "TIMEOUT", "name": "test (synchronous)", "message": "Test timed out", - "stack": null, "properties": {} } ], diff --git a/tests/wpt/web-platform-tests/resources/test/tests/generate-callback.html b/tests/wpt/web-platform-tests/resources/test/tests/generate-callback.html index fe469893c44..574f430d218 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/generate-callback.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/generate-callback.html @@ -56,65 +56,56 @@ generate_tests(validate_related_arguments, letters.map(format_as_test)); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Test to map a to 0", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test to map b to 1", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test to map c to 2", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test to map d to 3", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test to map e to 4", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test to map f to 5", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "first test", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "second test", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", @@ -122,8 +113,7 @@ generate_tests(validate_related_arguments, letters.map(format_as_test)); "properties": { "sentinel": true }, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", @@ -131,8 +121,7 @@ generate_tests(validate_related_arguments, letters.map(format_as_test)); "properties": { "sentinel": true }, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", @@ -140,8 +129,7 @@ generate_tests(validate_related_arguments, letters.map(format_as_test)); "properties": { "sentinel": true }, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", @@ -149,15 +137,13 @@ generate_tests(validate_related_arguments, letters.map(format_as_test)); "properties": { "sentinel": false }, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "third test", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_immutable_prototype.html b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_immutable_prototype.html index 480a159a789..a9d631d0a3b 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_immutable_prototype.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_immutable_prototype.html @@ -43,289 +43,248 @@ idlArray.test(); { "summarized_status": { "message": null, - "status_string": "OK", - "stack": null + "status_string": "OK" }, "summarized_tests": [ { "name": "Foo interface object length", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface object name", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object's \"constructor\" property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object's @@unscopables property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError", "status_string": "FAIL", "properties": {}, - "message": "assert_throws: function \"function() {\n Object.setPrototypeOf(obj, newValue);\n }\" did not throw", - "stack": "(implementation-defined)" + "message": "assert_throws: function \"function() {\n Object.setPrototypeOf(obj, newValue);\n }\" did not throw" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false", "status_string": "FAIL", "properties": {}, - "message": "assert_false: expected false got true", - "stack": "(implementation-defined)" + "message": "assert_false: expected false got true" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError", "status_string": "FAIL", "properties": {}, - "message": "assert_throws: function \"function() {\n obj.__proto__ = newValue;\n }\" did not throw", - "stack": "(implementation-defined)" + "message": "assert_throws: function \"function() {\n obj.__proto__ = newValue;\n }\" did not throw" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError", "status_string": "FAIL", "properties": {}, - "message": "assert_throws: function \"function() {\n Object.setPrototypeOf(obj, newValue);\n }\" did not throw", - "stack": "(implementation-defined)" + "message": "assert_throws: function \"function() {\n Object.setPrototypeOf(obj, newValue);\n }\" did not throw" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false", "status_string": "FAIL", "properties": {}, - "message": "assert_false: expected false got true", - "stack": "(implementation-defined)" + "message": "assert_false: expected false got true" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError", "status_string": "FAIL", "properties": {}, - "message": "assert_throws: function \"function() {\n obj.__proto__ = newValue;\n }\" did not throw", - "stack": "(implementation-defined)" + "message": "assert_throws: function \"function() {\n obj.__proto__ = newValue;\n }\" did not throw" }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo must be primary interface of new Foo()", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Stringification of new Foo()", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Stringification of window", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface object length", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface object name", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: existence and properties of interface object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: existence and properties of interface prototype object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: existence and properties of interface prototype object's \"constructor\" property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: existence and properties of interface prototype object's @@unscopables property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Window must be primary interface of window", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_primary_interface_of.html b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_primary_interface_of.html index 43241df4455..69542f1d7d7 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_primary_interface_of.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_primary_interface_of.html @@ -50,65 +50,56 @@ idlArray.test(); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "name": "Foo interface object length", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface object name", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object's \"constructor\" property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo interface: existence and properties of interface prototype object's @@unscopables property", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Foo must be primary interface of new Foo()", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null }, { "name": "Stringification of new Foo()", "status_string": "PASS", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_to_json_operation.html b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_to_json_operation.html index 856b4b03553..ef8fcc991f6 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_to_json_operation.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/idlharness/IdlInterface/test_to_json_operation.html @@ -94,7 +94,6 @@ { "summarized_status": { "message": null, - "stack": null, "status_string": "OK" }, "summarized_tests": [ @@ -102,84 +101,72 @@ "message": null, "name": "Test default toJSON operation of A", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": "assert_equals: expected \"number\" but got \"string\"", "name": "Test default toJSON operation of B", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": null, "name": "Test default toJSON operation of C", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": "assert_true: property \"foo\" should be present in the output of D.prototype.toJSON() expected true got false", "name": "Test default toJSON operation of D", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": "assert_true: property foo should be writable expected true got false", "name": "Test default toJSON operation of F", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": "assert_true: property foo should be enumerable expected true got false", "name": "Test default toJSON operation of G", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": "assert_true: property foo should be configurable expected true got false", "name": "Test default toJSON operation of H", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": null, "name": "Test default toJSON operation of I", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": null, "name": "Test default toJSON operation of K", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": null, "name": "Test toJSON operation of L", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": "assert_equals: expected \"string\" but got \"object\"", "name": "Test toJSON operation of M", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": "assert_true: {\"type\":\"return-type\",\"sequence\":false,\"generic\":null,\"nullable\":false,\"union\":false,\"idlType\":\"DOMException\"} is not an appropriate return value for the toJSON operation of N expected true got false", "name": "Test toJSON operation of N", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" } ], diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-callback.html b/tests/wpt/web-platform-tests/resources/test/tests/iframe-callback.html index 1a8b2cbc00f..b6b751bfe5f 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-callback.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/iframe-callback.html @@ -100,16 +100,14 @@ function start_test_in_iframe() { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Example with iframe that notifies containing document via callbacks", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html b/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html index 5d697e4c0f4..a44d034e093 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-errors.html @@ -27,16 +27,14 @@ child context.</p> { "summarized_status": { "status_string": "ERROR", - "message": "Error in remote: Error: Example Error", - "stack": null + "message": "Error in remote: Error: Example Error" }, "summarized_tests": [ { "status_string": "PASS", "name": "Test executing in parent context", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html b/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html index 5611d57e856..7b8a8970284 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/iframe-consolidate-tests.html @@ -27,65 +27,56 @@ executing</p> { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Promise rejection", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Promise resolution", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Promises and test assertion failures (should fail)", "properties": {}, - "message": "assert_true: This failure is expected expected true got false", - "stack": "(implementation-defined)" + "message": "assert_true: This failure is expected expected true got false" }, { "status_string": "PASS", "name": "Promises are supported in your browser", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Promises resolution chaining", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test executing in parent context", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Use of step_func with Promises", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Use of unreached_func with Promises (should fail)", "properties": {}, - "message": "assert_unreached: This failure is expected Reached unreachable code", - "stack": "(implementation-defined)" + "message": "assert_unreached: This failure is expected Reached unreachable code" } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html b/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html index 13a3fff924f..c6bc97beef9 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/iframe-msg.html @@ -68,16 +68,14 @@ on_event(window, { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Containing document receives messages", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/order.html b/tests/wpt/web-platform-tests/resources/test/tests/order.html index d20eb6b1ad0..1604f437f3d 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/order.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/order.html @@ -16,19 +16,16 @@ test(function() {}, 'first'); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [{ "status_string": "PASS", "name": "first", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "second", - "stack": null, "message": null, "properties": {} }], diff --git a/tests/wpt/web-platform-tests/resources/test/tests/promise-async.html b/tests/wpt/web-platform-tests/resources/test/tests/promise-async.html index 88b6972a60a..18101ee97af 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/promise-async.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/promise-async.html @@ -121,58 +121,50 @@ test(function() { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Promise rejection", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Promise resolution", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Promises and test assertion failures (should fail)", "properties": {}, - "message": "assert_true: This failure is expected expected true got false", - "stack": "(implementation-defined)" + "message": "assert_true: This failure is expected expected true got false" }, { "status_string": "PASS", "name": "Promises are supported in your browser", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Promises resolution chaining", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Use of step_func with Promises", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Use of unreached_func with Promises (should fail)", "properties": {}, - "message": "assert_unreached: This failure is expected Reached unreachable code", - "stack": "(implementation-defined)" + "message": "assert_unreached: This failure is expected Reached unreachable code" } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/promise.html b/tests/wpt/web-platform-tests/resources/test/tests/promise.html index 61ef15ded98..4825a38677b 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/promise.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/promise.html @@ -134,84 +134,72 @@ promise_test( { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "FAIL", "name": "Assertion failure in a fulfill reaction (should FAIL with an expected failure)", - "stack": "(implementation-defined)", "message": "assert_true: Expected failure. expected true got false", "properties": {} }, { "status_string": "PASS", "name": "Chain of promise resolutions", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Promise fulfillment with result", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Promise rejection with result", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "Promises are supported in your browser", - "stack": null, "message": null, "properties": {} }, { "status_string": "PASS", "name": "promise_test with function that doesn't return a Promise", - "stack": null, "message": null, "properties": {} }, { "status_string": "FAIL", "name": "promise_test with function that doesn't return anything", - "stack": "(implementation-defined)", "message": "assert_not_equals: got disallowed value undefined", "properties": {} }, { "status_string": "FAIL", "name": "promise_test with unhandled exception in fulfill reaction (should FAIL)", - "stack": "(implementation-defined)", "message": "promise_test: Unhandled rejection with value: object \"Error: Expected exception.\"", "properties": {} }, { "status_string": "FAIL", "name": "promise_test with unhandled exception in reject reaction (should FAIL)", - "stack": "(implementation-defined)", "message": "promise_test: Unhandled rejection with value: object \"Error: Expected exception.\"", "properties": {} }, { "status_string": "FAIL", "name": "promise_test with unhandled rejection (should FAIL)", - "stack": "(implementation-defined)", "message": "promise_test: Unhandled rejection with value: \"Expected rejection\"", "properties": {} }, { "status_string": "FAIL", "name": "unreached_func as reactor (should FAIL with an expected failure)", - "stack": "(implementation-defined)", "message": "assert_unreached: Expected failure. Reached unreachable code", "properties": {} } diff --git a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-fail.html b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-fail.html index a1f88107382..a8f247d9ccb 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-fail.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-fail.html @@ -12,16 +12,14 @@ onload = function() { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "FAIL", "name": "Example with file_is_test (should fail)", "properties": {}, - "message": "uncaught exception: Error: assert_true: expected true got false", - "stack": "(implementation-defined)" + "message": "uncaught exception: Error: assert_true: expected true got false" } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-assertions.html b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-assertions.html index 3402a469cf8..d1a7532f6c5 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-assertions.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-assertions.html @@ -9,16 +9,14 @@ done(); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Example single page test with no asserts", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html index 065091a93e8..c62ee18e3cd 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-no-body.html @@ -10,16 +10,14 @@ done(); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Example single page test with no body", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-pass.html b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-pass.html index 31e4e649471..91d26b02a0c 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-pass.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/single-page-test-pass.html @@ -12,16 +12,14 @@ onload = function() { { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Example with file_is_test", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-handle.html b/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-handle.html index 7d8244bf1ce..061fb8040e4 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-handle.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-handle.html @@ -16,16 +16,14 @@ throw new Error("Example Error"); { "summarized_status": { "status_string": "ERROR", - "message": "Error: Example Error", - "stack": "(implementation-defined)" + "message": "Error: Example Error" }, "summarized_tests": [ { "status_string": "NOTRUN", "name": "This should show a harness status of 'Error' and a test status of 'Not Run'", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html b/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html index 9f45ddb47f5..66240780c25 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/uncaught-exception-ignore.html @@ -18,16 +18,14 @@ throw new Error("Example Error"); { "summarized_status": { "status_string": "OK", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "setup({allow_uncaught_exception:true}) should allow tests to pass even if there is an exception", "properties": {}, - "message": null, - "stack": null + "message": null } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html b/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html index 0ca3e4d145a..98a010dd742 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/worker-dedicated.html @@ -30,65 +30,56 @@ test(function(t) { { "summarized_status": { "status_string": "ERROR", - "message": "Error: This failure is expected.", - "stack": "(implementation-defined)" + "message": "Error: This failure is expected." }, "summarized_tests": [ { "status_string": "PASS", "name": "Browser supports Workers", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Test running on main document.", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Untitled", "properties": {}, - "message": "Error: This failure is expected.", - "stack": "(implementation-defined)" + "message": "Error: This failure is expected." }, { "status_string": "PASS", "name": "Worker async_test that completes successfully", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Worker test that completes successfully", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "NOTRUN", "name": "Worker test that doesn't run ('NOT RUN')", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Worker test that fails ('FAIL')", "properties": {}, - "message": "assert_true: Failing test expected true got false", - "stack": "(implementation-defined)" + "message": "assert_true: Failing test expected true got false" }, { "status_string": "TIMEOUT", "name": "Worker test that times out ('TIMEOUT')", "properties": {}, - "message": "Test timed out", - "stack": null + "message": "Test timed out" } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html b/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html index 418f6d72bb1..d970827fc44 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/worker-service.html @@ -63,58 +63,50 @@ promise_test( { "summarized_status": { "status_string": "TIMEOUT", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Browser supports ServiceWorker", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Register ServiceWorker", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Worker async_test that completes successfully", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "PASS", "name": "Worker test that completes successfully", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "NOTRUN", "name": "Worker test that doesn't run ('NOT RUN')", "properties": {}, - "message": null, - "stack": null + "message": null }, { "status_string": "FAIL", "name": "Worker test that fails ('FAIL')", "properties": {}, - "message": "assert_true: Failing test expected true got false", - "stack": "(implementation-defined)" + "message": "assert_true: Failing test expected true got false" }, { "status_string": "TIMEOUT", "name": "Worker test that times out ('TIMEOUT')", "properties": {}, - "message": "Test timed out", - "stack": null + "message": "Test timed out" } ], "type": "complete" diff --git a/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html b/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html index a5601de0386..9c5666b8ed0 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/worker-shared.html @@ -27,50 +27,43 @@ fetch_tests_from_worker(new SharedWorker("worker.js", { "summarized_status": { "status_string": "TIMEOUT", - "message": null, - "stack": null + "message": null }, "summarized_tests": [ { "status_string": "PASS", "name": "Browser supports SharedWorkers", "properties": {}, - "message": null, - "stack": null + "message": null }, { "message": null, "name": "Worker async_test that completes successfully", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": null, "name": "Worker test that completes successfully", "properties": {}, - "stack": null, "status_string": "PASS" }, { "message": null, "name": "Worker test that doesn't run ('NOT RUN')", "properties": {}, - "stack": null, "status_string": "NOTRUN" }, { "message": "assert_true: Failing test expected true got false", "name": "Worker test that fails ('FAIL')", "properties": {}, - "stack": "(implementation-defined)", "status_string": "FAIL" }, { "message": "Test timed out", "name": "Worker test that times out ('TIMEOUT')", "properties": {}, - "stack": null, "status_string": "TIMEOUT" } ], diff --git a/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html b/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html new file mode 100644 index 00000000000..290bb889b14 --- /dev/null +++ b/tests/wpt/web-platform-tests/server-timing/navigation_timing_idl.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<head> + <meta charset='utf-8' /> + <script src="/resources/testharness.js"></script> + <script src='/resources/testharnessreport.js'></script> + <script> + setup({explicit_done: true}) + window.addEventListener('load', function(){ + assert_not_equals(typeof performance.getEntriesByType('navigation')[0].serverTiming, 'undefined', + 'An instance of `PerformanceNavigationTiming` should have a `serverTiming` attribute.') + done() + }) + </script> +</head> diff --git a/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html b/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html new file mode 100644 index 00000000000..d2c3c9274ea --- /dev/null +++ b/tests/wpt/web-platform-tests/server-timing/resource_timing_idl.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<head> + <meta charset='utf-8' /> + <script src="/resources/testharness.js"></script> + <script src='/resources/testharnessreport.js'></script> + <script> + setup({explicit_done: true}) + window.addEventListener('load', function(){ + assert_not_equals(typeof performance.getEntriesByType('resource')[0].serverTiming, 'undefined', + 'An instance of `PerformanceResourceTiming` should have a `serverTiming` attribute.') + done() + }) + </script> +</head> diff --git a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html index 4049c3dd265..50396ed642f 100644 --- a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html +++ b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html @@ -19,7 +19,6 @@ tests generated by: } function runTests() { tests.forEach(function({url, expectedResults}) { - debugger; const {serverTiming} = performance.getEntriesByName(url)[0] const fileName = url.substring(url.lastIndexOf('/') + 1) diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/resources/cache-keys-attributes-for-service-worker.js b/tests/wpt/web-platform-tests/service-workers/cache-storage/resources/cache-keys-attributes-for-service-worker.js new file mode 100644 index 00000000000..ee574d2cb77 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/resources/cache-keys-attributes-for-service-worker.js @@ -0,0 +1,22 @@ +self.addEventListener('fetch', (event) => { + const params = new URL(event.request.url).searchParams; + if (params.has('ignore')) { + return; + } + if (!params.has('name')) { + event.respondWith(Promise.reject(TypeError('No name is provided.'))); + return; + } + + event.respondWith(Promise.resolve().then(async () => { + const name = params.get('name'); + await caches.delete('foo'); + const cache = await caches.open('foo'); + await cache.put(event.request, new Response('hello')); + const keys = await cache.keys(); + + const original = event.request[name]; + const stored = keys[0][name]; + return new Response(`original: ${original}, stored: ${stored}`); + })); + }); diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html new file mode 100644 index 00000000000..20240768edc --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<title>Cache.keys (checking request attributes that can be set only on service workers)</title> +<link rel="help" href="https://w3c.github.io/ServiceWorker/#cache-keys"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../service-worker/resources/test-helpers.sub.js"></script> +<script> +const worker = '../resources/cache-keys-attributes-for-service-worker.js'; + +promise_test(async (t) => { + const scope = '../resources/blank.html?name=isReloadNavigation'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'original: false, stored: false'); + await new Promise((resolve) => { + frame.onload = resolve; + frame.contentWindow.location.reload(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'original: true, stored: true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } +}, 'Request.IsReloadNavigation should persist.'); +</script> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html new file mode 100644 index 00000000000..cf1feccf6e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/test-helpers.sub.js"></script> +<body> +<script> +const worker = 'resources/fetch-event-test-worker.js'; + +promise_test(async (t) => { + const scope = 'resources/simple.html?isReloadNavigation'; + + const reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + const frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentDocument.body.innerText = + 'Reload this frame manually!'; + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = true'); + frame.remove(); + await reg.unregister(); +}, 'FetchEvent#request.isReloadNavigation is true for manual reload.'); + +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html new file mode 100644 index 00000000000..a349f07c36c --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-reload-navigation-manual.https.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<body> +<p>Click <a href="resources/install-worker.html?isReloadNavigation&script=fetch-event-test-worker.js">this link</a>. + Once you see "method = GET,..." in the page, reload the page. + You will see "method = GET, isReloadNavigation = true". +</p> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html index 12b09321ed0..02f8d0e4530 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html @@ -6,6 +6,9 @@ <body> <script> var worker = 'resources/fetch-event-test-worker.js'; +function wait(ms) { + return new Promise(resolve => step_timeout(resolve, ms)); +} async_test(function(t) { const scope = 'resources/simple.html?headers'; @@ -629,5 +632,143 @@ promise_test(async (t) => { frame.remove(); await service_worker_unregister_and_done(t, scope); }, 'Service Worker responds to fetch event with the correct keepalive value'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isReloadNavigation'; + let frame; + let reg; + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.location.reload(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isReloadNavigation is true (location.reload())'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isReloadNavigation'; + let frame; + let reg; + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(0); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isReloadNavigation is true (history.go(0))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isReloadNavigation'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + const form = frame.contentDocument.createElement('form'); + form.method = 'POST'; + form.name = 'form'; + form.action = new Request(scope).url; + frame.contentDocument.body.appendChild(form); + form.submit(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = POST, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.location.reload(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = POST, isReloadNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isReloadNavigation is true (POST + location.reload())'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isReloadNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = anotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(0); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isReloadNavigation = true'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(1); + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isReloadNavigation is true (with history traversal)'); + </script> </body> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js index 65025d93409..a313094cf44 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js @@ -129,6 +129,14 @@ function handleKeepalive(event) { event.respondWith(new Response(event.request.keepalive)); } +function handleIsReloadNavigation(event) { + const request = event.request; + const body = + `method = ${request.method}, ` + + `isReloadNavigation = ${request.isReloadNavigation}`; + event.respondWith(new Response(body)); +} + self.addEventListener('fetch', function(event) { var url = event.request.url; var handlers = [ @@ -151,6 +159,7 @@ self.addEventListener('fetch', function(event) { { pattern: '?integrity', fn: handleIntegrity }, { pattern: '?request-body', fn: handleRequestBody }, { pattern: '?keepalive', fn: handleKeepalive }, + { pattern: '?isReloadNavigation', fn: handleIsReloadNavigation }, ]; var handler = null; diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/install-worker.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/install-worker.html new file mode 100644 index 00000000000..ed20cd4dca6 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/install-worker.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<body> +<p>Loading...</p> +<script> +async function install() { + let script; + for (const q of location.search.slice(1).split('&')) { + if (q.split('=')[0] === 'script') { + script = q.split('=')[1]; + } + } + const scope = location.href; + const reg = await navigator.serviceWorker.register(script, {scope}); + await navigator.serviceWorker.ready; + location.reload(); +} + +install(); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/update-result.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/update-result.https.html new file mode 100644 index 00000000000..d8ed94f7766 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/update-result.https.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<title>Service Worker: update() should resolve a ServiceWorkerRegistration</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/test-helpers.sub.js"></script> +<body> +<script> + +promise_test(async function(t) { + const script = './resources/empty.js'; + const scope = './resources/empty.html?update-result'; + + let reg = await navigator.serviceWorker.register(script, { scope }); + t.add_cleanup(async _ => await reg.unregister()); + await wait_for_state(t, reg.installing, 'activated'); + + let result = await reg.update(); + assert_true(result instanceof ServiceWorkerRegistration, + 'update() should resolve a ServiceWorkerRegistration'); +}, 'ServiceWorkerRegistration.update() should resolve a registration object'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_taskcluster.sh b/tests/wpt/web-platform-tests/tools/ci/ci_taskcluster.sh index 38c84628f15..00e1f0b776a 100755 --- a/tests/wpt/web-platform-tests/tools/ci/ci_taskcluster.sh +++ b/tests/wpt/web-platform-tests/tools/ci/ci_taskcluster.sh @@ -1,7 +1,8 @@ #!/bin/bash +./wpt manifest-download if [ $1 == "firefox" ]; then - ./wpt run firefox --log-tbpl=- --log-tbpl-level=debug --log-wptreport=../artifacts/wpt_report.json --this-chunk=$3 --total-chunks=$4 --test-type=$2 -y --install-browser --no-pause --no-restart-on-unexpected + ./wpt run firefox --log-tbpl=../artifacts/log_tbpl.log --log-tbpl-level=info --log-wptreport=../artifacts/wpt_report.json --log-mach=- --this-chunk=$3 --total-chunks=$4 --test-type=$2 -y --install-browser --no-pause --no-restart-on-unexpected --reftest-internal elif [ $1 == "chrome" ]; then - ./wpt run chrome --log-tbpl=- --log-tbpl-level=debug --log-wptreport=../artifacts/wpt_report.json --this-chunk=$3 --total-chunks=$4 --test-type=$2 -y --no-pause --no-restart-on-unexpected + ./wpt run chrome --log-tbpl==../artifacts/log_tbpl.log --log-tbpl-level=info --log-wptreport=../artifacts/wpt_report.json --log-mach=- --this-chunk=$3 --total-chunks=$4 --test-type=$2 -y --no-pause --no-restart-on-unexpected fi diff --git a/tests/wpt/web-platform-tests/tools/ci/tag_master.py b/tests/wpt/web-platform-tests/tools/ci/tag_master.py index 4404a195ef6..f049671c313 100644 --- a/tests/wpt/web-platform-tests/tools/ci/tag_master.py +++ b/tests/wpt/web-platform-tests/tools/ci/tag_master.py @@ -13,35 +13,38 @@ if not(wpt_root in sys.path): from tools.wpt.testfiles import get_git_cmd -logging.basicConfig() +logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) -def get_pr(repo, owner, rev): - url = ("https://api.github.com/search/issues?q=type:pr+is:merged+repo:%s/%s+%s" % - (repo, owner, rev)) +def get_pr(repo, owner, sha): + url = ("https://api.github.com/search/issues?q=type:pr+is:merged+repo:%s/%s+sha:%s" % + (repo, owner, sha)) try: resp = urllib2.urlopen(url) + body = resp.read() except Exception as e: logger.error(e) return None if resp.code != 200: - logger.error("Got HTTP status %s" % resp.code) + logger.error("Got HTTP status %s. Response:" % resp.code) + logger.error(body) return None try: - data = json.loads(resp.read()) + data = json.loads(body) except ValueError: - logger.error("Failed to read response as JSON") + logger.error("Failed to read response as JSON:") + logger.error(body) return None items = data["items"] if len(items) == 0: - logger.error("No PR found for master") + logger.error("No PR found for %s" % sha) return None if len(items) > 1: - logger.warning("Found multiple PRs for master") + logger.warning("Found multiple PRs for %s" % sha) pr = items[0] @@ -63,12 +66,15 @@ def tag(repo, owner, sha, tag): resp = opener.open(req) except Exception as e: logger.error("Tag creation failed:\n%s" % e) - return + return False if resp.code != 201: - logger.error("Got HTTP status %s" % resp.code) - else: - logger.info("Tagged master as %s" % tag) + logger.error("Got HTTP status %s. Response:" % resp.code) + logger.error(resp.read()) + return False + + logger.info("Tagged %s as %s" % (sha, tag)) + return True def main(): @@ -84,8 +90,11 @@ def main(): head_rev = git("rev-parse", "HEAD") pr = get_pr(owner, repo, head_rev) - if pr is not None: - tag(owner, repo, head_rev, "merge_pr_%s" % pr) + if pr is None: + sys.exit(1) + tagged = tag(owner, repo, head_rev, "merge_pr_%s" % pr) + if not tagged: + sys.exit(1) if __name__ == "__main__": diff --git a/tests/wpt/web-platform-tests/tools/ci/taskgraph.py b/tests/wpt/web-platform-tests/tools/ci/taskgraph.py index c4c5deab1f4..2fcdba0bf4d 100644 --- a/tests/wpt/web-platform-tests/tools/ci/taskgraph.py +++ b/tests/wpt/web-platform-tests/tools/ci/taskgraph.py @@ -20,7 +20,7 @@ task_template = { }, }, "payload": { - "maxRunTime": 5400, + "maxRunTime": 7200, "image": "harjgam/web-platform-tests:0.6", "command":[ "/bin/bash", @@ -56,8 +56,8 @@ file_template = { } suites = { - "testharness": {"chunks": 12}, - "reftest": {"chunks": 6}, + "testharness": {"chunks": 15}, + "reftest": {"chunks": 10}, "wdspec": {"chunks": 1} } diff --git a/tests/wpt/web-platform-tests/tools/docker/start.sh b/tests/wpt/web-platform-tests/tools/docker/start.sh index b0772c945cd..908ec0c742b 100755 --- a/tests/wpt/web-platform-tests/tools/docker/start.sh +++ b/tests/wpt/web-platform-tests/tools/docker/start.sh @@ -1,7 +1,7 @@ #!/bin/bash cd web-platform-tests -git pull --depth=1 +git pull --depth=50 sudo sh -c './wpt make-hosts-file >> /etc/hosts' diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py index 4a8deb060b4..815ce9d56f2 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py @@ -1,6 +1,6 @@ +import itertools import json import os -import re from collections import defaultdict from six import iteritems, itervalues, viewkeys, string_types @@ -56,7 +56,8 @@ class Manifest(object): def reftest_nodes_by_url(self): if self._reftest_nodes_by_url is None: by_url = {} - for path, nodes in iteritems(self._data.get("reftests", {})): + for path, nodes in itertools.chain(iteritems(self._data.get("reftest", {})), + iteritems(self._data.get("reftest_node", {}))): for node in nodes: by_url[node.url] = node self._reftest_nodes_by_url = by_url @@ -143,13 +144,13 @@ class Manifest(object): changed_hashes[item.source_file.rel_path] = (item.source_file.hash, item.item_type) references[item.source_file.rel_path].add(item) - self._reftest_nodes_by_url[item.url] = item else: if isinstance(item, RefTestNode): item = item.to_RefTest() changed_hashes[item.source_file.rel_path] = (item.source_file.hash, item.item_type) reftests[item.source_file.rel_path].add(item) + self._reftest_nodes_by_url[item.url] = item return reftests, references, changed_hashes diff --git a/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py index 075d6892db7..770433dfdad 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py @@ -292,3 +292,22 @@ def test_iterpath(): "/test2-1.html", "/test2-2.html"]) assert set(m.iterpath("missing")) == set() + + +def test_reftest_node_by_url(): + m = manifest.Manifest() + + s1 = SourceFileWithTest("test1", "0"*40, item.RefTest, [("/test2", "==")]) + s2 = SourceFileWithTest("test2", "0"*40, item.RefTest, [("/test3", "==")]) + + m.update([s1, s2]) + + test1 = s1.manifest_items()[1][0] + test2 = s2.manifest_items()[1][0] + test2_node = test2.to_RefTestNode() + + assert m.reftest_nodes_by_url == {"/test1": test1, + "/test2": test2_node} + m._reftest_nodes_by_url = None + assert m.reftest_nodes_by_url == {"/test1": test1, + "/test2": test2_node} diff --git a/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py b/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py index 8da14a0d138..58e64f5848d 100644 --- a/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py +++ b/tests/wpt/web-platform-tests/tools/webdriver/webdriver/client.py @@ -557,17 +557,23 @@ class Session(object): return self.send_session_command("GET", url, {}) @command - def set_cookie(self, name, value, path=None, domain=None, secure=None, expiry=None): - body = {"name": name, - "value": value} - if path is not None: - body["path"] = path + def set_cookie(self, name, value, path=None, domain=None, + secure=None, expiry=None, http_only=None): + body = { + "name": name, + "value": value, + } + if domain is not None: body["domain"] = domain - if secure is not None: - body["secure"] = secure if expiry is not None: body["expiry"] = expiry + if http_only is not None: + body["httpOnly"] = http_only + if path is not None: + body["path"] = path + if secure is not None: + body["secure"] = secure self.send_session_command("POST", "cookie", {"cookie": body}) def delete_cookie(self, name=None): diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt index 79fde7811c6..0eb26e77452 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt @@ -1,8 +1,8 @@ marionette_driver==2.6.0 -mozprofile==1.0.0 +mozprofile==1.1.0 mozprocess == 0.26 mozcrash == 1.0 -mozrunner==6.15 +mozrunner == 7.0.0 mozleak == 0.1 mozinstall == 1.15 mozdownload == 1.23 diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/config.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/config.py index 914f6ac43e3..24cace3431a 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/config.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/config.py @@ -118,13 +118,15 @@ class Config(Mapping): @property def ports(self): + # To make this method thread-safe, we write to a temporary dict first, + # and change self._computed_ports to the new dict at last atomically. + new_ports = defaultdict(list) + try: old_ports = self._computed_ports except AttributeError: old_ports = {} - self._computed_ports = defaultdict(list) - for scheme, ports in self._ports.iteritems(): for i, port in enumerate(ports): if scheme in ["wss", "https"] and not self.ssl_env.ssl_enabled: @@ -136,8 +138,9 @@ class Config(Mapping): port = get_port(self.server_host) else: port = port - self._computed_ports[scheme].append(port) + new_ports[scheme].append(port) + self._computed_ports = new_ports return self._computed_ports @ports.setter diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/request.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/request.py index 447663469b1..7f49681d7ec 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/request.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/request.py @@ -348,12 +348,22 @@ class Request(object): class RequestHeaders(dict): """Dictionary-like API for accessing request headers.""" def __init__(self, items): - for key, value in zip(items.keys(), items.values()): - key = key.lower() - if key in self: - self[key].append(value) + for header in items.keys(): + key = header.lower() + # get all headers with the same name + values = items.getallmatchingheaders(header) + if len(values) > 1: + # collect the multiple variations of the current header + multiples = [] + # loop through the values from getallmatchingheaders + for value in values: + # getallmatchingheaders returns raw header lines, so + # split to get name, value + multiples.append(value.split(':', 1)[1].strip()) + dict.__setitem__(self, key, multiples) else: - dict.__setitem__(self, key, [value]) + dict.__setitem__(self, key, [items[header]]) + def __getitem__(self, key): """Get all headers of a certain (case-insensitive) name. If there is diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html index 90ab89d5761..675a705891f 100644 --- a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html +++ b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes.html @@ -39,5 +39,17 @@ for (const subtest of gInvalidKeyframesTests) { }); }, `KeyframeEffect constructor throws with ${subtest.desc}`); } + +test(t => { + const frames1 = [ { left: '100px' }, { left: '200px' } ]; + const frames2 = [ { left: '200px' }, { left: '300px' } ]; + + const animation = target.animate(frames1, 1000); + animation.currentTime = 500; + assert_equals(getComputedStyle(target).left, "150px"); + + animation.effect.setKeyframes(frames2); + assert_equals(getComputedStyle(target).left, "250px"); +}, 'Changes made via setKeyframes should be immediately visible in style'); </script> </body> diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html new file mode 100644 index 00000000000..f6032f29431 --- /dev/null +++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html @@ -0,0 +1,234 @@ +<!DOCTYPE html> +<html> + <head> + <title> + Test Constructor: AudioBuffer + </title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/webaudio/resources/audit-util.js"></script> + <script src="/webaudio/resources/audit.js"></script> + <script src="/webaudio/resources/audionodeoptions.js"></script> + </head> + <body> + <script id="layout-test-code"> + let context; + + let audit = Audit.createTaskRunner(); + + audit.define('initialize', (task, should) => { + context = initializeContext(should); + task.done(); + }); + + audit.define('invalid constructor', (task, should) => { + should(() => { + new AudioBuffer(); + }, 'new AudioBuffer()').throw('TypeError'); + should(() => { + new AudioBuffer(1); + }, 'new AudioBuffer(1)').throw('TypeError'); + should(() => { + new AudioBuffer(Date, 42); + }, 'new AudioBuffer(Date, 42)').throw('TypeError'); + + task.done(); + }); + + audit.define('required options', (task, should) => { + let buffer; + + // The length and sampleRate attributes are required; all others are + // optional. + should(() => { + new AudioBuffer({}); + }, 'buffer = new AudioBuffer({})').throw('TypeError'); + + should(() => { + new AudioBuffer({length: 1}); + }, 'buffer = new AudioBuffer({length: 1})').throw('TypeError'); + + should(() => { + new AudioBuffer({sampleRate: 48000}); + }, 'buffer = new AudioBuffer({sampleRate: 48000})').throw('TypeError'); + + should(() => { + buffer = new AudioBuffer({numberOfChannels: 1}); + }, 'buffer = new AudioBuffer({numberOfChannels: 1}').throw('TypeError'); + + // Length and sampleRate are required, but others are optional. + should( + () => { + buffer = + new AudioBuffer({length: 21, sampleRate: context.sampleRate}); + }, + 'buffer0 = new AudioBuffer({length: 21, sampleRate: ' + + context.sampleRate + '}') + .notThrow(); + // Verify the buffer has the correct values. + should(buffer.numberOfChannels, 'buffer0.numberOfChannels') + .beEqualTo(1); + should(buffer.length, 'buffer0.length').beEqualTo(21); + should(buffer.sampleRate, 'buffer0.sampleRate') + .beEqualTo(context.sampleRate); + + should( + () => { + buffer = new AudioBuffer( + {numberOfChannels: 3, length: 1, sampleRate: 48000}); + }, + 'buffer1 = new AudioBuffer(' + + '{numberOfChannels: 3, length: 1, sampleRate: 48000})') + .notThrow(); + // Verify the buffer has the correct values. + should(buffer.numberOfChannels, 'buffer1.numberOfChannels') + .beEqualTo(3); + should(buffer.length, 'buffer1.length').beEqualTo(1); + should(buffer.sampleRate, 'buffer1.sampleRate').beEqualTo(48000); + + task.done(); + }); + + audit.define('invalid option values', (task, should) => { + let options = {numberOfChannels: 0, length: 1, sampleRate: 16000}; + should( + () => { + let buffer = new AudioBuffer(options); + }, + 'new AudioBuffer(' + JSON.stringify(options) + ')') + .throw('NotSupportedError'); + + options = {numberOfChannels: 99, length: 0, sampleRate: 16000}; + should( + () => { + let buffer = new AudioBuffer(options); + }, + 'new AudioBuffer(' + JSON.stringify(options) + ')') + .throw('NotSupportedError'); + + options = {numberOfChannels: 1, length: 0, sampleRate: 16000}; + should( + () => { + let buffer = new AudioBuffer(options); + }, + 'new AudioBuffer(' + JSON.stringify(options) + ')') + .throw('NotSupportedError'); + + options = {numberOfChannels: 1, length: 1, sampleRate: 100}; + should( + () => { + let buffer = new AudioBuffer(options); + }, + 'new AudioBuffer(' + JSON.stringify(options) + ')') + .throw('NotSupportedError'); + + task.done(); + }); + + audit.define('default constructor', (task, should) => { + let buffer; + + let options = {numberOfChannels: 5, length: 17, sampleRate: 16000}; + should( + () => { + buffer = new AudioBuffer(options); + }, + 'buffer = new AudioBuffer(' + JSON.stringify(options) + ')') + .notThrow(); + + should(buffer.numberOfChannels, 'buffer.numberOfChannels') + .beEqualTo(options.numberOfChannels); + should(buffer.length, 'buffer.length').beEqualTo(options.length); + should(buffer.sampleRate, 'buffer.sampleRate').beEqualTo(16000); + + task.done(); + }); + + audit.define('valid constructor', (task, should) => { + let buffer; + + let options = {numberOfChannels: 3, length: 42, sampleRate: 54321}; + + let message = 'new AudioBuffer(' + JSON.stringify(options) + ')'; + should(() => { + buffer = new AudioBuffer(options); + }, message).notThrow(); + + should(buffer.numberOfChannels, 'buffer.numberOfChannels') + .beEqualTo(options.numberOfChannels); + + should(buffer.length, 'buffer.length').beEqualTo(options.length); + + should(buffer.sampleRate, 'buffer.sampleRate') + .beEqualTo(options.sampleRate); + + // Verify that we actually got the right number of channels + for (let k = 0; k < options.numberOfChannels; ++k) { + let data; + let message = 'buffer.getChannelData(' + k + ')'; + should(() => { + data = buffer.getChannelData(k); + }, message).notThrow(); + + should(data.length, message + ' length').beEqualTo(options.length); + } + + should( + () => { + buffer.getChannelData(options.numberOfChannels); + }, + 'buffer.getChannelData(' + options.numberOfChannels + ')') + .throw('IndexSizeError'); + + task.done(); + }); + + audit.define('multiple contexts', (task, should) => { + // Test that an AudioBuffer can be used for different contexts. + let buffer = + new AudioBuffer({length: 128, sampleRate: context.sampleRate}); + + // Don't use getChannelData here because we want to be able to use + // |data| to compare the final results of playing out this buffer. (If + // we did, |data| gets detached when the sources play.) + let data = new Float32Array(buffer.length); + for (let k = 0; k < data.length; ++k) + data[k] = 1 + k; + buffer.copyToChannel(data, 0); + + let c1 = new OfflineAudioContext(1, 128, context.sampleRate); + let c2 = new OfflineAudioContext(1, 128, context.sampleRate); + + let s1 = new AudioBufferSourceNode(c1, {buffer: buffer}); + let s2 = new AudioBufferSourceNode(c2, {buffer: buffer}); + + s1.connect(c1.destination); + s2.connect(c2.destination); + + s1.start(); + s2.start(); + + Promise + .all([ + c1.startRendering().then(function(resultBuffer) { + return should(resultBuffer.getChannelData(0), 'c1 result') + .beEqualToArray(data); + }), + c2.startRendering().then(function(resultBuffer) { + return should(resultBuffer.getChannelData(0), 'c2 result') + .beEqualToArray(data); + }), + ]) + .then(returnValues => { + should( + returnValues[0] && returnValues[1], + 'AudioBuffer shared between two different contexts') + .message('correctly', 'incorrectly'); + task.done(); + }); + }); + + audit.run(); + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/webdriver/tests/cookies/get_named_cookie.py b/tests/wpt/web-platform-tests/webdriver/tests/cookies/get_named_cookie.py index 806dda37887..cbf7195bad8 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/cookies/get_named_cookie.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/cookies/get_named_cookie.py @@ -1,19 +1,28 @@ -from tests.support.inline import inline -from tests.support.fixtures import clear_all_cookies from datetime import datetime, timedelta +from tests.support.asserts import assert_success +from tests.support.fixtures import clear_all_cookies +from tests.support.inline import inline + + +def get_named_cookie(session, name): + return session.transport.send( + "GET", "session/{session_id}/cookie/{name}".format( + session_id=session.session_id, + name=name)) + + def test_get_named_session_cookie(session, url): session.url = url("/common/blank.html") clear_all_cookies(session) session.execute_script("document.cookie = 'foo=bar'") - result = session.transport.send("GET", "session/%s/cookie/foo" % session.session_id) - assert result.status == 200 - assert isinstance(result.body["value"], dict) + result = get_named_cookie(session, "foo") + cookie = assert_success(result) + assert isinstance(cookie, dict) # table for cookie conversion # https://w3c.github.io/webdriver/webdriver-spec.html#dfn-table-for-cookie-conversion - cookie = result.body["value"] assert "name" in cookie assert isinstance(cookie["name"], basestring) assert "value" in cookie @@ -32,6 +41,7 @@ def test_get_named_session_cookie(session, url): assert cookie["name"] == "foo" assert cookie["value"] == "bar" + def test_get_named_cookie(session, url): session.url = url("/common/blank.html") clear_all_cookies(session) @@ -41,14 +51,10 @@ def test_get_named_cookie(session, url): a_year_from_now = (datetime.utcnow() + timedelta(days=365)).strftime(utc_string_format) session.execute_script("document.cookie = 'foo=bar;expires=%s'" % a_year_from_now) - result = session.transport.send("GET", "session/%s/cookie" % session.session_id) - assert result.status == 200 - assert "value" in result.body - assert isinstance(result.body["value"], list) - assert len(result.body["value"]) == 1 - assert isinstance(result.body["value"][0], dict) + result = get_named_cookie(session, "foo") + cookie = assert_success(result) + assert isinstance(cookie, dict) - cookie = result.body["value"][0] assert "name" in cookie assert isinstance(cookie["name"], basestring) assert "value" in cookie @@ -59,39 +65,39 @@ def test_get_named_cookie(session, url): assert cookie["name"] == "foo" assert cookie["value"] == "bar" # convert from seconds since epoch - assert datetime.utcfromtimestamp(cookie["expiry"]).strftime(utc_string_format) == a_year_from_now + assert datetime.utcfromtimestamp( + cookie["expiry"]).strftime(utc_string_format) == a_year_from_now + def test_duplicated_cookie(session, url, server_config): + new_cookie = { + "name": "hello", + "value": "world", + "domain": server_config["browser_host"], + "path": "/", + "http_only": False, + "secure": False + } + session.url = url("/common/blank.html") clear_all_cookies(session) - create_cookie_request = { - "cookie": { - "name": "hello", - "value": "world", - "domain": server_config["domains"][""], - "path": "/", - "httpOnly": False, - "secure": False - } - } - result = session.transport.send("POST", "session/%s/cookie" % session.session_id, create_cookie_request) - assert result.status == 200 - assert "value" in result.body - assert result.body["value"] is None - - session.url = inline("<script>document.cookie = 'hello=newworld; domain=%s; path=/';</script>" % server_config["domains"][""]) - result = session.transport.send("GET", "session/%s/cookie" % session.session_id) - assert result.status == 200 - assert "value" in result.body - assert isinstance(result.body["value"], list) - assert len(result.body["value"]) == 1 - assert isinstance(result.body["value"][0], dict) - - cookie = result.body["value"][0] + + session.set_cookie(**new_cookie) + session.url = inline(""" + <script> + document.cookie = '{name}=newworld; domain={domain}; path=/'; + </script>""".format( + name=new_cookie["name"], + domain=server_config["browser_host"])) + + result = get_named_cookie(session, new_cookie["name"]) + cookie = assert_success(result) + assert isinstance(cookie, dict) + assert "name" in cookie assert isinstance(cookie["name"], basestring) assert "value" in cookie assert isinstance(cookie["value"], basestring) - assert cookie["name"] == "hello" + assert cookie["name"] == new_cookie["name"] assert cookie["value"] == "newworld" diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py index 7bf405c76f7..a5377dd8dbf 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/bubbling.py @@ -1,6 +1,7 @@ from tests.support.asserts import assert_success from tests.support.inline import inline + def click(session, element): return session.transport.send( "POST", "/session/{session_id}/element/{element_id}/click".format( @@ -135,7 +136,8 @@ def test_element_disappears_during_click(session): function logEvent({type, target, currentTarget}) { log.innerHTML += "<p></p>"; - log.lastElementChild.textContent = `${type} in ${target.id} (handled by ${currentTarget.id})`; + log.lastElementChild.textContent = + `${type} in ${target.id} (handled by ${currentTarget.id})`; } for (let ev of ["click", "mousedown", "mouseup"]) { @@ -144,7 +146,9 @@ def test_element_disappears_during_click(session): body.addEventListener(ev, logEvent); } - over.addEventListener("mousedown", () => over.style.display = "none"); + over.addEventListener("mousedown", function(mousedownEvent) { + over.style.display = "none"; + }); </script> """) over = session.find.css("#over", all=False) diff --git a/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html b/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html index cc3afd82b57..d975ea72832 100644 --- a/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html +++ b/tests/wpt/web-platform-tests/webmessaging/message-channels/close.html @@ -59,4 +59,10 @@ async_test(t => { c.port2.postMessage('DONE'); }, 'Close in onmessage should not cancel inflight messages.'); +test(() => { + const c = new MessageChannel(); + c.port1.close(); + assert_throws("DataCloneError", () => self.postMessage(null, "*", [c.port1])); + self.postMessage(null, "*", [c.port2]); +}, "close() detaches a MessagePort (but not the one its entangled with)"); </script> diff --git a/tests/wpt/web-platform-tests/websockets/Close-1000-reason.any.js b/tests/wpt/web-platform-tests/websockets/Close-1000-reason.any.js index 9c2f8e13d2d..1517db2e06c 100644 --- a/tests/wpt/web-platform-tests/websockets/Close-1000-reason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Close-1000-reason.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(1000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(1000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000, "Clean Close"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000, "Clean Close"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be opened"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be opened"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Close-1000.any.js b/tests/wpt/web-platform-tests/websockets/Close-1000.any.js index 382ab9864b2..e052f238507 100644 --- a/tests/wpt/web-platform-tests/websockets/Close-1000.any.js +++ b/tests/wpt/web-platform-tests/websockets/Close-1000.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(1000) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(1000) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be opened"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be opened"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js b/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js index 412991694a9..97bc1bb224b 100644 --- a/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js +++ b/tests/wpt/web-platform-tests/websockets/Close-Reason-124Bytes.any.js @@ -1,13 +1,15 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(code, 'reason more than 123 bytes') - SYNTAX_ERR is thrown"); +var test = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(code, 'reason more than 123 bytes') - SYNTAX_ERR is thrown"); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123"; - assert_equals(reason.length, 124); - assert_throws("SYNTAX_ERR", function () { wsocket.close(1000, reason) }); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123"; + assert_equals(reason.length, 124); + assert_throws("SYNTAX_ERR", function() { + wsocket.close(1000, reason) + }); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.js index 7d2a7a2d22a..119a32d0c93 100644 --- a/tests/wpt/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Close-reason-unpaired-surrogates.any.js @@ -1,21 +1,21 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get closed"); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; - var replacementChar = "\uFFFD"; - var reason = "\uD807"; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; +var replacementChar = "\uFFFD"; +var reason = "\uD807"; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000, reason); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000, reason); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be opened"); - assert_equals(evt.reason, replacementChar, "reason replaced with replacement character"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be opened"); + assert_equals(evt.reason, replacementChar, "reason replaced with replacement character"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Close-undefined.any.js b/tests/wpt/web-platform-tests/websockets/Close-undefined.any.js index d6d2ba7da1b..67bc9b219c1 100644 --- a/tests/wpt/web-platform-tests/websockets/Close-undefined.any.js +++ b/tests/wpt/web-platform-tests/websockets/Close-undefined.any.js @@ -1,11 +1,11 @@ // META: script=websocket.sub.js - var test = async_test(); +var test = async_test(); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - wsocket.close(undefined); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + wsocket.close(undefined); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-extensions-empty.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-extensions-empty.any.js index 705814e0993..82b000dde72 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-extensions-empty.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-extensions-empty.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.extensions should be set to '' after connection is established - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.extensions should be set to '' after connection is established - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.extensions should be set to '' after connection is established - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.extensions should be set to '' after connection is established - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.extensions, "", "extensions should be empty"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.extensions, "", "extensions should be empty"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be closed"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be closed"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js index 9c979953fb4..94265c6182c 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-url-with-space.any.js @@ -1,7 +1,9 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - var spaceUrl = "web platform.test"; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketWithSpaceInUrl(spaceUrl) }); - }, "W3C WebSocket API - Create Secure WebSocket - Pass a URL with a space - SYNTAX_ERR should be thrown") +test(function() { + var wsocket; + var spaceUrl = "web platform.test"; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketWithSpaceInUrl(spaceUrl) + }); +}, "W3C WebSocket API - Create Secure WebSocket - Pass a URL with a space - SYNTAX_ERR should be thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-array-protocols.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-array-protocols.any.js index d2b10541c43..fcaf8a36454 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-array-protocols.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-array-protocols.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and array of protocol strings - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and array of protocol strings - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and array of protocol strings - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and array of protocol strings - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, true); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, true); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-binaryType-blob.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-binaryType-blob.any.js index 4de8c08d982..fed88f5c2f2 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-binaryType-blob.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-binaryType-blob.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.binaryType should be set to 'blob' after connection is established - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.binaryType should be set to 'blob' after connection is established - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.binaryType should be set to 'blob' after connection is established - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - wsocket.binaryType should be set to 'blob' after connection is established - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.binaryType, "blob", "binaryType should be set to Blob"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.binaryType, "blob", "binaryType should be set to Blob"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-setCorrectly.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-setCorrectly.any.js index 54074cc52f7..7ecd2959f76 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-setCorrectly.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-setCorrectly.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - protocol should be set correctly - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - protocol should be set correctly - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - Connection should be closed"); - var wsocket = CreateWebSocket(true, true, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, true, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.protocol, "echo", "protocol should be set to echo"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.protocol, "echo", "protocol should be set to echo"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-string.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-string.any.js index 5c2682dbf77..59c77c696ac 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-string.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url-protocol-string.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Check readyState is 1"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Check readyState is 1"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL and protocol string - Connection should be closed"); - var wsocket = CreateWebSocket(true, true, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, true, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url.any.js index 5d9ca8769ab..6f1229e7616 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-valid-url.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Pass a valid URL - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-verify-url-set-non-default-port.any.js b/tests/wpt/web-platform-tests/websockets/Create-Secure-verify-url-set-non-default-port.any.js index 0b4aa60fd28..755dbe2f3ff 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-verify-url-set-non-default-port.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-verify-url-set-non-default-port.any.js @@ -1,7 +1,7 @@ // META: script=websocket.sub.js - test(function () { - var urlNonDefaultPort = "wss://" + __SERVER__NAME + ":" + __NEW__SECURE__PORT + "/" + __PATH; - var wsocket = new WebSocket(urlNonDefaultPort); - assert_equals(wsocket.url, urlNonDefaultPort, "wsocket.url is set correctly"); - }, "W3C WebSocket API - Create Secure WebSocket - wsocket.url should be set correctly") +test(function() { + var urlNonDefaultPort = "wss://" + __SERVER__NAME + ":" + __NEW__SECURE__PORT + "/" + __PATH; + var wsocket = new WebSocket(urlNonDefaultPort); + assert_equals(wsocket.url, urlNonDefaultPort, "wsocket.url is set correctly"); +}, "W3C WebSocket API - Create Secure WebSocket - wsocket.url should be set correctly") diff --git a/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js b/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js index b9e4c4466ef..cb3c3e4c96f 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-asciiSep-protocol-string.any.js @@ -1,7 +1,9 @@ // META: script=websocket.sub.js - test(function () { - var asciiWithSep = "/echo"; - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketWithAsciiSep(asciiWithSep) }); - }, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with an ascii separator character - SYNTAX_ERR is thrown") +test(function() { + var asciiWithSep = "/echo"; + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketWithAsciiSep(asciiWithSep) + }); +}, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with an ascii separator character - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-blocked-port.any.js b/tests/wpt/web-platform-tests/websockets/Create-blocked-port.any.js index 77f205e173d..f0dbc3f5229 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-blocked-port.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-blocked-port.any.js @@ -1,81 +1,81 @@ // META: script=websocket.sub.js - async_test(t => { - const ws = CreateWebSocketWithBlockedPort(__PORT) - ws.onerror = t.unreached_func() - ws.onopen = t.step_func_done() - }, 'Basic check'); - // list of bad ports according to - // https://fetch.spec.whatwg.org/#port-blocking - [ - 1, // tcpmux - 7, // echo - 9, // discard - 11, // systat - 13, // daytime - 15, // netstat - 17, // qotd - 19, // chargen - 20, // ftp-data - 21, // ftp - 22, // ssh - 23, // telnet - 25, // smtp - 37, // time - 42, // name - 43, // nicname - 53, // domain - 77, // priv-rjs - 79, // finger - 87, // ttylink - 95, // supdup - 101, // hostriame - 102, // iso-tsap - 103, // gppitnp - 104, // acr-nema - 109, // pop2 - 110, // pop3 - 111, // sunrpc - 113, // auth - 115, // sftp - 117, // uucp-path - 119, // nntp - 123, // ntp - 135, // loc-srv / epmap - 139, // netbios - 143, // imap2 - 179, // bgp - 389, // ldap - 465, // smtp+ssl - 512, // print / exec - 513, // login - 514, // shell - 515, // printer - 526, // tempo - 530, // courier - 531, // chat - 532, // netnews - 540, // uucp - 556, // remotefs - 563, // nntp+ssl - 587, // smtp - 601, // syslog-conn - 636, // ldap+ssl - 993, // imap+ssl - 995, // pop3+ssl - 2049, // nfs - 3659, // apple-sasl - 4045, // lockd - 6000, // x11 - 6665, // irc (alternate) - 6666, // irc (alternate) - 6667, // irc (default) - 6668, // irc (alternate) - 6669, // irc (alternate) - ].forEach(blockedPort => { - async_test(t => { - const ws = CreateWebSocketWithBlockedPort(blockedPort) - ws.onerror = t.step_func_done() - ws.onopen = t.unreached_func() - }, "WebSocket blocked port test " + blockedPort) - }) +async_test(t => { + const ws = CreateWebSocketWithBlockedPort(__PORT) + ws.onerror = t.unreached_func() + ws.onopen = t.step_func_done() +}, 'Basic check'); +// list of bad ports according to +// https://fetch.spec.whatwg.org/#port-blocking +[ + 1, // tcpmux + 7, // echo + 9, // discard + 11, // systat + 13, // daytime + 15, // netstat + 17, // qotd + 19, // chargen + 20, // ftp-data + 21, // ftp + 22, // ssh + 23, // telnet + 25, // smtp + 37, // time + 42, // name + 43, // nicname + 53, // domain + 77, // priv-rjs + 79, // finger + 87, // ttylink + 95, // supdup + 101, // hostriame + 102, // iso-tsap + 103, // gppitnp + 104, // acr-nema + 109, // pop2 + 110, // pop3 + 111, // sunrpc + 113, // auth + 115, // sftp + 117, // uucp-path + 119, // nntp + 123, // ntp + 135, // loc-srv / epmap + 139, // netbios + 143, // imap2 + 179, // bgp + 389, // ldap + 465, // smtp+ssl + 512, // print / exec + 513, // login + 514, // shell + 515, // printer + 526, // tempo + 530, // courier + 531, // chat + 532, // netnews + 540, // uucp + 556, // remotefs + 563, // nntp+ssl + 587, // smtp + 601, // syslog-conn + 636, // ldap+ssl + 993, // imap+ssl + 995, // pop3+ssl + 2049, // nfs + 3659, // apple-sasl + 4045, // lockd + 6000, // x11 + 6665, // irc (alternate) + 6666, // irc (alternate) + 6667, // irc (default) + 6668, // irc (alternate) + 6669, // irc (alternate) +].forEach(blockedPort => { + async_test(t => { + const ws = CreateWebSocketWithBlockedPort(blockedPort) + ws.onerror = t.step_func_done() + ws.onopen = t.unreached_func() + }, "WebSocket blocked port test " + blockedPort) +}) diff --git a/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js b/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js index 029e45c3117..5ae25a2cdc0 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-invalid-urls.any.js @@ -1,22 +1,32 @@ // META: script=websocket.sub.js - var wsocket; - test(function() { - assert_throws("SYNTAX_ERR", function () { wsocket = new WebSocket("/echo") }); - }, "Url is /echo - should throw SYNTAX_ERR"); +var wsocket; +test(function() { + assert_throws("SYNTAX_ERR", function() { + wsocket = new WebSocket("/echo") + }); +}, "Url is /echo - should throw SYNTAX_ERR"); - test(function () { - assert_throws("SYNTAX_ERR", function () { wsocket = new WebSocket("mailto:microsoft@microsoft.com") }); - }, "Url is a mail address - should throw SYNTAX_ERR"); +test(function() { + assert_throws("SYNTAX_ERR", function() { + wsocket = new WebSocket("mailto:microsoft@microsoft.com") + }); +}, "Url is a mail address - should throw SYNTAX_ERR"); - test(function () { - assert_throws("SYNTAX_ERR", function () { wsocket = new WebSocket("about:blank") }); - }, "Url is about:blank - should throw SYNTAX_ERR"); +test(function() { + assert_throws("SYNTAX_ERR", function() { + wsocket = new WebSocket("about:blank") + }); +}, "Url is about:blank - should throw SYNTAX_ERR"); - test(function () { - assert_throws("SYNTAX_ERR", function () { wsocket = new WebSocket("?test") }); - }, "Url is ?test - should throw SYNTAX_ERR"); +test(function() { + assert_throws("SYNTAX_ERR", function() { + wsocket = new WebSocket("?test") + }); +}, "Url is ?test - should throw SYNTAX_ERR"); - test(function () { - assert_throws("SYNTAX_ERR", function () { wsocket = new WebSocket("#test") }); - }, "Url is #test - should throw SYNTAX_ERR"); +test(function() { + assert_throws("SYNTAX_ERR", function() { + wsocket = new WebSocket("#test") + }); +}, "Url is #test - should throw SYNTAX_ERR"); diff --git a/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js b/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js index 3f7894770cc..369557ec3f5 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-non-absolute-url.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketNonAbsolute() }); - }, "W3C WebSocket API - Create WebSocket - Pass a non absolute URL - SYNTAX_ERR is thrown") +test(function() { + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketNonAbsolute() + }); +}, "W3C WebSocket API - Create WebSocket - Pass a non absolute URL - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js b/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js index a4f8bb68b03..39be9f45805 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-nonAscii-protocol-string.any.js @@ -1,7 +1,9 @@ // META: script=websocket.sub.js - test(function () { - var nonAsciiProtocol = "\u0080echo"; - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketNonAsciiProtocol(nonAsciiProtocol) }); - }, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with non-ascii values - SYNTAX_ERR is thrown") +test(function() { + var nonAsciiProtocol = "\u0080echo"; + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketNonAsciiProtocol(nonAsciiProtocol) + }); +}, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with non-ascii values - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-on-worker-shutdown.any.js b/tests/wpt/web-platform-tests/websockets/Create-on-worker-shutdown.any.js index 35d925519e4..cb3eff82a68 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-on-worker-shutdown.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-on-worker-shutdown.any.js @@ -7,7 +7,9 @@ async_test(t => { postMessage(ws.readyState == WebSocket.CONNECTING); } - var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {type:"application/javascript"}); + var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], { + type: "application/javascript" + }); var w = new Worker(URL.createObjectURL(workerBlob)); w.onmessage = function(e) { diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js index 0f8c82e0ea4..b3c14d8e171 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-protocol-with-space.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketWithSpaceInProtocol("ec ho") }); - }, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with a space in it - SYNTAX_ERR is thrown") +test(function() { + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketWithSpaceInProtocol("ec ho") + }); +}, "W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string with a space in it - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js index 855e4f804ae..16f99759d18 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated-case-insensitive.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketWithRepeatedProtocolsCaseInsensitive() }); - }, "W3C WebSocket API - Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values but different case - SYNTAX_ERR is thrown") +test(function() { + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketWithRepeatedProtocolsCaseInsensitive() + }); +}, "W3C WebSocket API - Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values but different case - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js index ff30a9029a2..624d45306a7 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-protocols-repeated.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketWithRepeatedProtocols() }); - }, "W3C WebSocket API - Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values - SYNTAX_ERR is thrown") +test(function() { + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketWithRepeatedProtocols() + }); +}, "W3C WebSocket API - Create WebSocket - Pass a valid URL and an array of protocol strings with repeated values - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Create-valid-url-array-protocols.any.js b/tests/wpt/web-platform-tests/websockets/Create-valid-url-array-protocols.any.js index 28c6b4621ac..dde0303aa0f 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-valid-url-array-protocols.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-valid-url-array-protocols.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and array of protocol strings - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and array of protocol strings - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and array of protocol strings - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and array of protocol strings - Connection should be closed"); - var wsocket = CreateWebSocket(false, false, true); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, true); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol-empty.any.js b/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol-empty.any.js index 261ce8f75f6..8682e4a4018 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol-empty.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol-empty.any.js @@ -1,7 +1,7 @@ // META: script=websocket.sub.js - test(function () { - var wsocket = CreateWebSocket(false, true, false); - assert_equals(wsocket.protocol, "", "protocol should be empty"); - wsocket.close(); - }, "W3C WebSocket API - Create WebSocket - wsocket.protocol should be empty before connection is established") +test(function() { + var wsocket = CreateWebSocket(false, true, false); + assert_equals(wsocket.protocol, "", "protocol should be empty"); + wsocket.close(); +}, "W3C WebSocket API - Create WebSocket - wsocket.protocol should be empty before connection is established") diff --git a/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol.any.js b/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol.any.js index f7bb429e740..85e870fda2f 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-valid-url-protocol.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL and a protocol string - Connection should be closed"); - var wsocket = CreateWebSocket(false, true, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, true, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-valid-url.any.js b/tests/wpt/web-platform-tests/websockets/Create-valid-url.any.js index 0dfa148d241..9a43dcc5fdd 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-valid-url.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-valid-url.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - Pass a valid URL - Connection should be closed"); - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.readyState, 1, "readyState should be 1(OPEN)"); + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Create-verify-url-set-non-default-port.any.js b/tests/wpt/web-platform-tests/websockets/Create-verify-url-set-non-default-port.any.js index f4000e5de7f..5548fd134ca 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-verify-url-set-non-default-port.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-verify-url-set-non-default-port.any.js @@ -1,7 +1,7 @@ // META: script=websocket.sub.js - test(function () { - var urlNonDefaultPort = "ws://" + __SERVER__NAME + ":" + __NEW__PORT + "/" + __PATH; - var wsocket = new WebSocket(urlNonDefaultPort); - assert_equals(wsocket.url, urlNonDefaultPort, "wsocket.url is set correctly"); - }, "W3C WebSocket API - Create WebSocket - wsocket.url should be set correctly"); +test(function() { + var urlNonDefaultPort = "ws://" + __SERVER__NAME + ":" + __NEW__PORT + "/" + __PATH; + var wsocket = new WebSocket(urlNonDefaultPort); + assert_equals(wsocket.url, urlNonDefaultPort, "wsocket.url is set correctly"); +}, "W3C WebSocket API - Create WebSocket - wsocket.url should be set correctly"); diff --git a/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js b/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js index e8adba0b405..506f81c1703 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js +++ b/tests/wpt/web-platform-tests/websockets/Create-wrong-scheme.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket; - assert_throws("SYNTAX_ERR", function () { wsocket = CreateWebSocketNonWsScheme() }); - }, "W3C WebSocket API - Create WebSocket - Pass a URL with a non ws/wss scheme - SYNTAX_ERR is thrown") +test(function() { + var wsocket; + assert_throws("SYNTAX_ERR", function() { + wsocket = CreateWebSocketNonWsScheme() + }); +}, "W3C WebSocket API - Create WebSocket - Pass a URL with a non ws/wss scheme - SYNTAX_ERR is thrown") diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-reason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-reason.any.js index 9ec34bbe02a..4d3f67cf45a 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-reason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-reason.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000, "Clean Close"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000, "Clean Close"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-verify-code.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-verify-code.any.js index e95e3c59b56..87ba4079ccf 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-verify-code.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000-verify-code.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - event.code == 1000 and event.reason = 'Clean Close'"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000, reason) - event.code == 1000 and event.reason = 'Clean Close'"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000, "Clean Close"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000, "Clean Close"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.code, 1000, "CloseEvent.code should be 1000"); - assert_equals(evt.reason, "Clean Close", "CloseEvent.reason should be the same as the reason sent in close"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.code, 1000, "CloseEvent.code should be 1000"); + assert_equals(evt.reason, "Clean Close", "CloseEvent.reason should be the same as the reason sent in close"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000.any.js index 6b13bd381b5..67f4e054a3d 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1000.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1000.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1000) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005-verify-code.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005-verify-code.any.js index c6712a16b4b..a7c72eaf515 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005-verify-code.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005-verify-code.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close() - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close() - return close code is 1005 - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close() - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close() - return close code is 1005 - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.code, 1005, "CloseEvent.code should be 1005"); - assert_equals(evt.reason, "", "CloseEvent.reason should be empty"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.code, 1005, "CloseEvent.code should be 1005"); + assert_equals(evt.reason, "", "CloseEvent.reason should be empty"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js index c01b16ed292..ddb2c185854 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-1005.any.js @@ -1,11 +1,13 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1005) - see '7.1.5. The WebSocket Connection Close Code' in http://www.ietf.org/rfc/rfc6455.txt"); +var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(1005) - see '7.1.5. The WebSocket Connection Close Code' in http://www.ietf.org/rfc/rfc6455.txt"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - assert_throws("INVALID_ACCESS_ERR", function () { wsocket.close(1005, "1005 - reserved code") }); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + assert_throws("INVALID_ACCESS_ERR", function() { + wsocket.close(1005, "1005 - reserved code") + }); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js index 61ba4138390..0fa198eb39e 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-2999-reason.any.js @@ -1,10 +1,12 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(2999, reason) - INVALID_ACCESS_ERR is thrown"); +var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(2999, reason) - INVALID_ACCESS_ERR is thrown"); - var wsocket = CreateWebSocket(true, false, false); +var wsocket = CreateWebSocket(true, false, false); - wsocket.addEventListener('open', test.step_func(function (evt) { - assert_throws("INVALID_ACCESS_ERR", function () { wsocket.close(2999, "Close not in range 3000-4999") }); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + assert_throws("INVALID_ACCESS_ERR", function() { + wsocket.close(2999, "Close not in range 3000-4999") + }); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-reason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-reason.any.js index fe25d5997f1..6640ddc17d4 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-reason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-reason.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(3000, "Clean Close with code - 3000"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(3000, "Clean Close with code - 3000"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-verify-code.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-verify-code.any.js index 92d14132c58..5b122d4c33f 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-verify-code.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-3000-verify-code.any.js @@ -1,19 +1,19 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - verify return code is 3000 - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(3000, reason) - verify return code is 3000 - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(3000, "Clean Close"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(3000, "Clean Close"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.code, 3000, "CloseEvent.code should be 3000"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.code, 3000, "CloseEvent.code should be 3000"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-4999-reason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-4999-reason.any.js index cba254c06ba..d57899eb3ee 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-4999-reason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-4999-reason.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(4999, reason) - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(4999, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(4999, reason) - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(4999, reason) - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(3000, "Clean Close with code - 4999"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(3000, "Clean Close with code - 4999"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js index ecb8c5b82c1..826cb6eccf7 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-124Bytes.any.js @@ -1,13 +1,15 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(code, 'reason more than 123 bytes') - SYNTAX_ERR is thrown"); +var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(code, 'reason more than 123 bytes') - SYNTAX_ERR is thrown"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123"; - assert_equals(reason.length, 124); - assert_throws("SYNTAX_ERR", function () { wsocket.close(1000, reason) }); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + var reason = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123"; + assert_equals(reason.length, 124); + assert_throws("SYNTAX_ERR", function() { + wsocket.close(1000, reason) + }); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.js index f7fc8b441a5..fdc62c465d3 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-Reason-Unpaired-surrogates.any.js @@ -1,21 +1,21 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(reason with unpaired surrogates) - connection should get closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; - var replacementChar = "\uFFFD"; - var reason = "\uD807"; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; +var replacementChar = "\uFFFD"; +var reason = "\uD807"; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(1000, reason); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(1000, reason); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be opened"); - assert_equals(evt.reason, replacementChar, "reason replaced with replacement character"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be opened"); + assert_equals(evt.reason, replacementChar, "reason replaced with replacement character"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js index 77604ed9f9e..79f79b5d833 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-onlyReason.any.js @@ -1,10 +1,12 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(only reason) - INVALID_ACCESS_ERR is thrown"); +var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - close(only reason) - INVALID_ACCESS_ERR is thrown"); - var wsocket = CreateWebSocket(true, false, false); +var wsocket = CreateWebSocket(true, false, false); - wsocket.addEventListener('open', test.step_func(function (evt) { - assert_throws("INVALID_ACCESS_ERR", function () { wsocket.close("Close with only reason") }); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + assert_throws("INVALID_ACCESS_ERR", function() { + wsocket.close("Close with only reason") + }); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closed.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closed.any.js index 98018e6f434..3279744848c 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closed.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closed.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.close(); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.close(); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closing.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closing.any.js index f43adfc5dc1..b18347447a5 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closing.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-readyState-Closing.any.js @@ -1,12 +1,12 @@ // META: script=websocket.sub.js - var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - readyState should be in CLOSING state just before onclose is called"); +var test = async_test("W3C WebSocket API - Create Secure WebSocket - Close the Connection - readyState should be in CLOSING state just before onclose is called"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - wsocket.close(); - assert_equals(wsocket.readyState, 2, "readyState should be 2(CLOSING)"); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + wsocket.close(); + assert_equals(wsocket.readyState, 2, "readyState should be 2(CLOSING)"); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-server-initiated-close.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-server-initiated-close.any.js index 240b2b65b90..8531b3140b1 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-server-initiated-close.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-server-initiated-close.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Server initiated Close - Client sends back a CLOSE - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Server initiated Close - Client sends back a CLOSE - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create Secure WebSocket - Server initiated Close - Client sends back a CLOSE - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create Secure WebSocket - Server initiated Close - Client sends back a CLOSE - readyState should be in CLOSED state and wasClean is TRUE - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send("Goodbye"); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send("Goodbye"); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); - assert_equals(evt.wasClean, true, "wasClean should be TRUE"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(wsocket.readyState, 3, "readyState should be 3(CLOSED)"); + assert_equals(evt.wasClean, true, "wasClean should be TRUE"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Close-undefined.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Close-undefined.any.js index dc356aba744..31b36e4d955 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Close-undefined.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Close-undefined.any.js @@ -1,11 +1,11 @@ // META: script=websocket.sub.js - var test = async_test(); +var test = async_test(); - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', test.step_func(function (evt) { - wsocket.close(undefined); - test.done(); - }), true); +wsocket.addEventListener('open', test.step_func(function(evt) { + wsocket.close(undefined); + test.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-65K-data.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-65K-data.any.js index b2cdd33877f..daa937af579 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-65K-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-65K-data.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send 65K data on a Secure WebSocket - Connection should be closed"); - var data = ""; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - for (var i = 0; i < 65000; i++) { - data = data + "c"; - } - wsocket.send(data); - assert_equals(data.length, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + for (var i = 0; i < 65000; i++) { + data = data + "c"; + } + wsocket.send(data); + assert_equals(data.length, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-65K-arraybuffer.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-65K-arraybuffer.any.js index 92bc2cdbf66..17859e5630d 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-65K-arraybuffer.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-65K-arraybuffer.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send 65K binary data on a Secure WebSocket - ArrayBuffer - Connection should be closed"); - var data = ""; - var datasize = 65000; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 65000; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - wsocket.send(data); - assert_equals(datasize, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + wsocket.send(data); + assert_equals(datasize, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data.byteLength, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data.byteLength, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybuffer.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybuffer.any.js index b1a5ca80106..6e4c08d6901 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybuffer.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybuffer.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - ArrayBuffer - Connection should be closed"); - var data = ""; - var datasize = 15; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 15; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - wsocket.send(data); - assert_equals(datasize, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + wsocket.send(data); + assert_equals(datasize, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data.byteLength, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data.byteLength, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float32.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float32.any.js index c744e56214e..9825d34d5c0 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float32.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float32.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float32Array - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Float32Array(data); - for(var i = 0; i < 2; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Float32Array(data); + for (var i = 0; i < 2; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Float32Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Float32Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float64.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float64.any.js index 9d9037335b2..4dcac40e37e 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float64.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-float64.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Float64Array - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Float64Array(data); - for (var i = 0; i < 1; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Float64Array(data); + for (var i = 0; i < 1; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Float64Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Float64Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-int32.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-int32.any.js index 116209cc1fb..655af21575b 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-int32.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-int32.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int32Array - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Int32Array(data); - for(var i = 0; i < 2; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Int32Array(data); + for (var i = 0; i < 2; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Int32Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Int32Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint16-offset-length.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint16-offset-length.any.js index 64297301c88..16f050f3a64 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint16-offset-length.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint16-offset-length.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint16Array with offset and length - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Uint16Array(data, 2, 2); - for(var i = 0; i < 4; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Uint16Array(data, 2, 2); + for (var i = 0; i < 4; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Uint16Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Uint16Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint32-offset.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint32-offset.any.js index 5f988c03a1c..8976b3dc614 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint32-offset.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint32-offset.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint32Array with offset - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Uint32Array(data, 0); - for(var i = 0; i < 2; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Uint32Array(data, 0); + for (var i = 0; i < 2; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Uint32Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Uint32Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset-length.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset-length.any.js index 59d292b38b6..9e9d1b5a825 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset-length.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset-length.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset and length - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Uint8Array(data, 2, 4); - for(var i = 0; i < 8; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Uint8Array(data, 2, 4); + for (var i = 0; i < 8; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Uint8Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Uint8Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset.any.js index 65e6d3ca767..f563cec9184 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-arraybufferview-uint8-offset.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Uint8Array with offset - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Uint8Array(data, 2); - for(var i = 0; i < 8; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Uint8Array(data, 2); + for (var i = 0; i < 8; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Uint8Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Uint8Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-blob.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-blob.any.js index f32294ff7cd..8bf0f12ed82 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-blob.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-binary-blob.any.js @@ -1,34 +1,34 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a Secure WebSocket - Blob - Connection should be closed"); - var data = ""; - var datasize = 65000; - var isOpenCalled = false; +var data = ""; +var datasize = 65000; +var isOpenCalled = false; - var wsocket = CreateWebSocket(true, false, false); +var wsocket = CreateWebSocket(true, false, false); - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "blob"; - for (var i = 0; i < datasize; i++) - data += String.fromCharCode(0); - data = new Blob([data]); - isOpenCalled = true; - wsocket.send(data); - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "blob"; + for (var i = 0; i < datasize; i++) + data += String.fromCharCode(0); + data = new Blob([data]); + isOpenCalled = true; + wsocket.send(data); + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_true(evt.data instanceof Blob); - assert_equals(evt.data.size, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_true(evt.data instanceof Blob); + assert_equals(evt.data.size, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_true(evt.wasClean, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_true(evt.wasClean, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-data.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-data.any.js index afd4f198494..04c720de792 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-data.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send data on a Secure WebSocket - Connection should be closed"); - var data = "Message to send"; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = "Message to send"; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-null.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-null.any.js index b10b3d95ef8..7c374c25c24 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-null.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-null.any.js @@ -1,30 +1,30 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send null data on a Secure WebSocket - Connection should be closed"); - var data = null; - var nullReturned = false; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = null; +var nullReturned = false; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - if ("null" == evt.data || "" == evt.data) - nullReturned = true; - assert_true(nullReturned); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + if ("null" == evt.data || "" == evt.data) + nullReturned = true; + assert_true(nullReturned); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-paired-surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-paired-surrogates.any.js index 473685a3627..073f0647298 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-paired-surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-paired-surrogates.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send paired surrogates data on a Secure WebSocket - Connection should be closed"); - var data = "\uD801\uDC07"; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = "\uD801\uDC07"; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length * 2, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length * 2, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-unicode-data.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-unicode-data.any.js index da28ebb66e5..a3518c12f7a 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-unicode-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-unicode-data.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send unicode data on a Secure WebSocket - Connection should be closed"); - var data = "¥¥¥¥¥¥"; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = "¥¥¥¥¥¥"; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length * 2, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length * 2, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Secure-Send-unpaired-surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Secure-Send-unpaired-surrogates.any.js index 618fb98e514..83f3e7bebc2 100644 --- a/tests/wpt/web-platform-tests/websockets/Secure-Send-unpaired-surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Secure-Send-unpaired-surrogates.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send unpaired surrogates on a Secure WebSocket - Connection should be closed"); - var data = "\uD807"; - var replacementChar = "\uFFFD"; - var wsocket = CreateWebSocket(true, false, false); - var isOpenCalled = false; +var data = "\uD807"; +var replacementChar = "\uFFFD"; +var wsocket = CreateWebSocket(true, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, replacementChar); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, replacementChar); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-0byte-data.any.js b/tests/wpt/web-platform-tests/websockets/Send-0byte-data.any.js index 92949021763..131a19d77dd 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-0byte-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-0byte-data.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send 0 byte data on a WebSocket - Connection should be closed"); - var data = ""; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-65K-data.any.js b/tests/wpt/web-platform-tests/websockets/Send-65K-data.any.js index e042e969814..172e6eed5ac 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-65K-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-65K-data.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send 65K data on a WebSocket - Connection should be closed"); - var data = ""; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - for (var i = 0; i < 65000; i++) { - data = data + "c"; - } - wsocket.send(data); - assert_equals(data.length, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + for (var i = 0; i < 65000; i++) { + data = data + "c"; + } + wsocket.send(data); + assert_equals(data.length, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-Unpaired-Surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Send-Unpaired-Surrogates.any.js index fc23693ae78..65bb2b16ce8 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-Unpaired-Surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-Unpaired-Surrogates.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send unpaired surrogates on a WebSocket - Connection should be closed"); - var data = "\uD807"; - var replacementChar = "\uFFFD"; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = "\uD807"; +var replacementChar = "\uFFFD"; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, replacementChar); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, replacementChar); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js b/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js index 14c03e942c8..101a1a2ff60 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-before-open.any.js @@ -1,6 +1,8 @@ // META: script=websocket.sub.js - test(function () { - var wsocket = CreateWebSocket(false, false, false); - assert_throws("INVALID_STATE_ERR", function () { wsocket.send("Message to send") }); - }, "W3C WebSocket API - Send data on a WebSocket before connection is opened - INVALID_STATE_ERR is returned") +test(function() { + var wsocket = CreateWebSocket(false, false, false); + assert_throws("INVALID_STATE_ERR", function() { + wsocket.send("Message to send") + }); +}, "W3C WebSocket API - Send data on a WebSocket before connection is opened - INVALID_STATE_ERR is returned") diff --git a/tests/wpt/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.js b/tests/wpt/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.js index fcea1851ef4..f446a2579b8 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-binary-65K-arraybuffer.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send 65K binary data on a WebSocket - ArrayBuffer - Connection should be closed"); - var data = ""; - var datasize = 65000; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 65000; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - wsocket.send(data); - assert_equals(datasize, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + wsocket.send(data); + assert_equals(datasize, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data.byteLength, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data.byteLength, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybuffer.any.js b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybuffer.any.js index 543bc090184..620514351f3 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybuffer.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybuffer.any.js @@ -1,31 +1,31 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBuffer - Connection should be closed"); - var data = ""; - var datasize = 15; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 15; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - wsocket.send(data); - assert_equals(datasize, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + wsocket.send(data); + assert_equals(datasize, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data.byteLength, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data.byteLength, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int16-offset.any.js b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int16-offset.any.js index 07c0ff2bf09..7022668e637 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int16-offset.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int16-offset.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int16Array with offset - Connection should be closed"); - var data = ""; - var datasize = 8; - var view; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var view; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - view = new Int16Array(data, 2); - for(var i = 0; i < 4; i++) { - view[i] = i; - } - wsocket.send(view); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + view = new Int16Array(data, 2); + for (var i = 0; i < 4; i++) { + view[i] = i; + } + wsocket.send(view); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Int16Array(evt.data); - for(var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Int16Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], view[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int8.any.js b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int8.any.js index 1bad2c6e4ee..242c8c6ece8 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int8.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-binary-arraybufferview-int8.any.js @@ -1,38 +1,38 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - ArrayBufferView - Int8Array - Connection should be closed"); - var data = ""; - var datasize = 8; - var int8View; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = ""; +var datasize = 8; +var int8View; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "arraybuffer"; - data = new ArrayBuffer(datasize); - int8View = new Int8Array(data); - for (var i = 0; i < 8; i++) { - int8View[i] = i; - } - wsocket.send(int8View); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "arraybuffer"; + data = new ArrayBuffer(datasize); + int8View = new Int8Array(data); + for (var i = 0; i < 8; i++) { + int8View[i] = i; + } + wsocket.send(int8View); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - var resultView = new Int8Array(evt.data); - for (var i = 0; i < resultView.length; i++) { - assert_equals(resultView[i], int8View[i], "ArrayBufferView returned is the same"); - } - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + var resultView = new Int8Array(evt.data); + for (var i = 0; i < resultView.length; i++) { + assert_equals(resultView[i], int8View[i], "ArrayBufferView returned is the same"); + } + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-binary-blob.any.js b/tests/wpt/web-platform-tests/websockets/Send-binary-blob.any.js index a5f39ee2e4f..ee6486ea129 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-binary-blob.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-binary-blob.any.js @@ -1,34 +1,34 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send binary data on a WebSocket - Blob - Connection should be closed"); - var data = ""; - var datasize = 65000; - var isOpenCalled = false; +var data = ""; +var datasize = 65000; +var isOpenCalled = false; - var wsocket = CreateWebSocket(false, false, false); +var wsocket = CreateWebSocket(false, false, false); - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.binaryType = "blob"; - for (var i = 0; i < datasize; i++) - data += String.fromCharCode(0); - data = new Blob([data]); - isOpenCalled = true; - wsocket.send(data); - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.binaryType = "blob"; + for (var i = 0; i < datasize; i++) + data += String.fromCharCode(0); + data = new Blob([data]); + isOpenCalled = true; + wsocket.send(data); + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_true(evt.data instanceof Blob); - assert_equals(evt.data.size, datasize); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_true(evt.data instanceof Blob); + assert_equals(evt.data.size, datasize); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_true(evt.wasClean, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_true(evt.wasClean, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-data.any.js b/tests/wpt/web-platform-tests/websockets/Send-data.any.js index 53f4bd856af..487393b582e 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-data.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send data on a WebSocket - Connection should be closed"); - var data = "Message to send"; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = "Message to send"; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-null.any.js b/tests/wpt/web-platform-tests/websockets/Send-null.any.js index 25b5307c4ac..8d8d6b76133 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-null.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-null.any.js @@ -1,30 +1,30 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send null data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send null data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send null data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send null data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send null data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send null data on a WebSocket - Connection should be closed"); - var data = null; - var nullReturned = false; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = null; +var nullReturned = false; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - if ("null" == evt.data || "" == evt.data) - nullReturned = true; - assert_true(nullReturned); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + if ("null" == evt.data || "" == evt.data) + nullReturned = true; + assert_true(nullReturned); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-paired-surrogates.any.js b/tests/wpt/web-platform-tests/websockets/Send-paired-surrogates.any.js index 94889ce30e8..f12b0016eb0 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-paired-surrogates.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-paired-surrogates.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send (paired surrogates) data on a WebSocket - Connection should be closed"); - var data = "\uD801\uDC07"; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = "\uD801\uDC07"; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length * 2, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length * 2, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/Send-unicode-data.any.js b/tests/wpt/web-platform-tests/websockets/Send-unicode-data.any.js index 9265ac88919..ce2b9a0e240 100644 --- a/tests/wpt/web-platform-tests/websockets/Send-unicode-data.any.js +++ b/tests/wpt/web-platform-tests/websockets/Send-unicode-data.any.js @@ -1,28 +1,28 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Connection should be opened"); - var testMessage = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Message should be received"); - var testClose = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Connection should be opened"); +var testMessage = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Message should be received"); +var testClose = async_test("W3C WebSocket API - Send unicode data on a WebSocket - Connection should be closed"); - var data = "¥¥¥¥¥¥"; - var wsocket = CreateWebSocket(false, false, false); - var isOpenCalled = false; +var data = "¥¥¥¥¥¥"; +var wsocket = CreateWebSocket(false, false, false); +var isOpenCalled = false; - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - wsocket.send(data); - assert_equals(data.length * 2, wsocket.bufferedAmount); - isOpenCalled = true; - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + wsocket.send(data); + assert_equals(data.length * 2, wsocket.bufferedAmount); + isOpenCalled = true; + testOpen.done(); +}), true); - wsocket.addEventListener('message', testMessage.step_func(function (evt) { - assert_equals(evt.data, data); - wsocket.close(); - testMessage.done(); - }), true); +wsocket.addEventListener('message', testMessage.step_func(function(evt) { + assert_equals(evt.data, data); + wsocket.close(); + testMessage.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(isOpenCalled, "WebSocket connection should be open"); - assert_equals(evt.wasClean, true, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(isOpenCalled, "WebSocket connection should be open"); + assert_equals(evt.wasClean, true, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/binaryType-wrong-value.any.js b/tests/wpt/web-platform-tests/websockets/binaryType-wrong-value.any.js index 22e6d044986..6030608c201 100644 --- a/tests/wpt/web-platform-tests/websockets/binaryType-wrong-value.any.js +++ b/tests/wpt/web-platform-tests/websockets/binaryType-wrong-value.any.js @@ -1,19 +1,19 @@ // META: script=websocket.sub.js - var testOpen = async_test("W3C WebSocket API - Create WebSocket - set binaryType to something other than blob or arraybuffer - SYNTAX_ERR is returned - Connection should be opened"); - var testClose = async_test("W3C WebSocket API - Create WebSocket - set binaryType to something other than blob or arraybuffer - SYNTAX_ERR is returned - Connection should be closed"); +var testOpen = async_test("W3C WebSocket API - Create WebSocket - set binaryType to something other than blob or arraybuffer - SYNTAX_ERR is returned - Connection should be opened"); +var testClose = async_test("W3C WebSocket API - Create WebSocket - set binaryType to something other than blob or arraybuffer - SYNTAX_ERR is returned - Connection should be closed"); - var wsocket = CreateWebSocket(true, false, false); +var wsocket = CreateWebSocket(true, false, false); - wsocket.addEventListener('open', testOpen.step_func(function (evt) { - assert_equals(wsocket.binaryType, "blob"); - wsocket.binaryType = "notBlobOrArrayBuffer"; - assert_equals(wsocket.binaryType, "blob"); - wsocket.close(); - testOpen.done(); - }), true); +wsocket.addEventListener('open', testOpen.step_func(function(evt) { + assert_equals(wsocket.binaryType, "blob"); + wsocket.binaryType = "notBlobOrArrayBuffer"; + assert_equals(wsocket.binaryType, "blob"); + wsocket.close(); + testOpen.done(); +}), true); - wsocket.addEventListener('close', testClose.step_func(function (evt) { - assert_true(evt.wasClean, "wasClean should be true"); - testClose.done(); - }), true); +wsocket.addEventListener('close', testClose.step_func(function(evt) { + assert_true(evt.wasClean, "wasClean should be true"); + testClose.done(); +}), true); diff --git a/tests/wpt/web-platform-tests/websockets/close-invalid.any.js b/tests/wpt/web-platform-tests/websockets/close-invalid.any.js index a930495ab2c..8ac1da3f5de 100644 --- a/tests/wpt/web-platform-tests/websockets/close-invalid.any.js +++ b/tests/wpt/web-platform-tests/websockets/close-invalid.any.js @@ -1,20 +1,20 @@ // META: script=websocket.sub.js [ - [0, "0"], - [500, "500"], - [NaN, "NaN"], - ["string", "String"], - [null, "null"], - [0x10000 + 1000, "2**16+1000"], + [0, "0"], + [500, "500"], + [NaN, "NaN"], + ["string", "String"], + [null, "null"], + [0x10000 + 1000, "2**16+1000"], ].forEach(function(t) { - [true, false].forEach(function(secure) { - test(function() { - var ws = CreateWebSocket(secure, false, false); - assert_throws("InvalidAccessError", function () { - ws.close(t[0]); - }); - wsocket.onerror = this.unreached_func(); - }, t[1] + " on a " + (secure ? "secure" : "insecure") + " websocket"); - }); + [true, false].forEach(function(secure) { + test(function() { + var ws = CreateWebSocket(secure, false, false); + assert_throws("InvalidAccessError", function() { + ws.close(t[0]); + }); + wsocket.onerror = this.unreached_func(); + }, t[1] + " on a " + (secure ? "secure" : "insecure") + " websocket"); + }); }); diff --git a/tests/wpt/web-platform-tests/websockets/constructor.any.js b/tests/wpt/web-platform-tests/websockets/constructor.any.js index 60f5335fac5..0605d5e5efc 100644 --- a/tests/wpt/web-platform-tests/websockets/constructor.any.js +++ b/tests/wpt/web-platform-tests/websockets/constructor.any.js @@ -2,6 +2,6 @@ test(function() { var ws = new WebSocket("ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH, - "echo", "Stray argument") + "echo", "Stray argument") assert_true(ws instanceof WebSocket, "Expected a WebSocket instance.") }, "Calling the WebSocket constructor with too many arguments should not throw.") diff --git a/tests/wpt/web-platform-tests/websockets/eventhandlers.any.js b/tests/wpt/web-platform-tests/websockets/eventhandlers.any.js index f97c668a4a1..b30b0b693f4 100644 --- a/tests/wpt/web-platform-tests/websockets/eventhandlers.any.js +++ b/tests/wpt/web-platform-tests/websockets/eventhandlers.any.js @@ -3,7 +3,7 @@ function testEventHandler(name) { test(function() { var ws = new WebSocket("ws://" + __SERVER__NAME + ":" + __PORT + "/" + __PATH, - "echo") + "echo") assert_equals(ws["on" + name], null); ws["on" + name] = function() {}; ws["on" + name] = 2; diff --git a/tests/wpt/web-platform-tests/xhr/abort-during-open.js b/tests/wpt/web-platform-tests/xhr/abort-during-open.any.js index 26d3f57e44a..42a1bce0ef2 100644 --- a/tests/wpt/web-platform-tests/xhr/abort-during-open.js +++ b/tests/wpt/web-platform-tests/xhr/abort-during-open.any.js @@ -1,4 +1,4 @@ -var test = async_test() +var test = async_test("XMLHttpRequest: abort() during OPEN"); test.step(function() { var client = new XMLHttpRequest() client.open("GET", "...") diff --git a/tests/wpt/web-platform-tests/xhr/abort-during-open.htm b/tests/wpt/web-platform-tests/xhr/abort-during-open.htm deleted file mode 100644 index dde94f23986..00000000000 --- a/tests/wpt/web-platform-tests/xhr/abort-during-open.htm +++ /dev/null @@ -1,14 +0,0 @@ -<!doctype html> -<html> - <head> - <title>XMLHttpRequest: abort() during OPEN</title> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <link rel="help" href="https://xhr.spec.whatwg.org/#the-abort()-method" data-tested-assertations="following-sibling::ol/li[4] following-sibling::ol/li[5]" /> - <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following-sibling::ol/li[1]" /> - </head> - <body> - <div id="log"></div> - <script src="abort-during-open.js"></script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/xhr/abort-during-open.worker.js b/tests/wpt/web-platform-tests/xhr/abort-during-open.worker.js deleted file mode 100644 index ffb687d0c87..00000000000 --- a/tests/wpt/web-platform-tests/xhr/abort-during-open.worker.js +++ /dev/null @@ -1,3 +0,0 @@ -importScripts("/resources/testharness.js"); -importScripts("abort-during-open.js"); -done(); diff --git a/tests/wpt/web-platform-tests/xhr/send-send.js b/tests/wpt/web-platform-tests/xhr/send-send.any.js index 2e7fe865f3b..2bfe40436f4 100644 --- a/tests/wpt/web-platform-tests/xhr/send-send.js +++ b/tests/wpt/web-platform-tests/xhr/send-send.any.js @@ -4,4 +4,4 @@ test(function() { client.send(null) assert_throws("InvalidStateError", function() { client.send(null) }) client.abort() -}) +}, "XMLHttpRequest: send() - send()"); diff --git a/tests/wpt/web-platform-tests/xhr/send-send.htm b/tests/wpt/web-platform-tests/xhr/send-send.htm deleted file mode 100644 index cbcbdb44e00..00000000000 --- a/tests/wpt/web-platform-tests/xhr/send-send.htm +++ /dev/null @@ -1,13 +0,0 @@ -<!doctype html> -<html> - <head> - <title>XMLHttpRequest: send() - send()</title> - <script src="/resources/testharness.js"></script> - <script src="/resources/testharnessreport.js"></script> - <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::ol/li[2]" /> - </head> - <body> - <div id="log"></div> - <script src="send-send.js"></script> - </body> -</html> diff --git a/tests/wpt/web-platform-tests/xhr/send-send.worker.js b/tests/wpt/web-platform-tests/xhr/send-send.worker.js deleted file mode 100644 index 9d34ce63df2..00000000000 --- a/tests/wpt/web-platform-tests/xhr/send-send.worker.js +++ /dev/null @@ -1,3 +0,0 @@ -importScripts("/resources/testharness.js"); -importScripts("send-send.js"); -done(); |