Update web-platform-tests to revision 0317e9a8591851f97d59c9de28c46ea1c2a25f88

This commit is contained in:
WPT Sync Bot 2019-12-03 08:21:57 +00:00
parent 7aa68c8fe7
commit 3214f9ea94
52 changed files with 507 additions and 314 deletions

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: FAIL
@ -15,3 +15,6 @@
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
expected: FAIL
[Fetching a blob URL immediately before revoking it works in <script> tags.]
expected: TIMEOUT

View file

@ -2,8 +2,14 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL
[url-with-fetch.any.html]
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

View file

@ -20343,6 +20343,18 @@
{}
]
],
"content-dpr/tiled-background-svg-image-with-content-dpr.html": [
[
"content-dpr/tiled-background-svg-image-with-content-dpr.html",
[
[
"/content-dpr/tiled-background-image-with-content-dpr-ref.html",
"=="
]
],
{}
]
],
"css/CSS2/abspos/abspos-containing-block-initial-001.xht": [
[
"css/CSS2/abspos/abspos-containing-block-initial-001.xht",
@ -229485,6 +229497,9 @@
"content-dpr/resources/background.png": [
[]
],
"content-dpr/resources/background.svg": [
[]
],
"content-dpr/resources/dpr.py": [
[]
],
@ -229494,6 +229509,9 @@
"content-dpr/tiled-background-image-with-content-dpr-ref.html": [
[]
],
"content-dpr/tiled-background-svg-image-with-content-dpr-ref.html": [
[]
],
"content-security-policy/META.yml": [
[]
],
@ -268890,6 +268908,9 @@
"fetch/http-cache/resources/split-origin-popup.html": [
[]
],
"fetch/metadata/META.yml": [
[]
],
"fetch/metadata/README.md": [
[]
],
@ -362860,6 +362881,12 @@
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html": [
[
"html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html",
{}
]
],
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html": [
[
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html",
@ -372564,9 +372591,9 @@
{}
]
],
"longtask-timing/buffered-flag-unsupported.window.js": [
"longtask-timing/buffered-flag.window.js": [
[
"longtask-timing/buffered-flag-unsupported.window.html",
"longtask-timing/buffered-flag.window.html",
{}
]
],
@ -415371,6 +415398,12 @@
{}
]
],
"svg/animations/begin-attribute-mutation.html": [
[
"svg/animations/begin-attribute-mutation.html",
{}
]
],
"svg/animations/beginelement-instance-time-1.html": [
[
"svg/animations/beginelement-instance-time-1.html",
@ -415407,6 +415440,12 @@
{}
]
],
"svg/animations/cyclic-syncbase-2.html": [
[
"svg/animations/cyclic-syncbase-2.html",
{}
]
],
"svg/animations/cyclic-syncbase.html": [
[
"svg/animations/cyclic-syncbase.html",
@ -460837,7 +460876,7 @@
"support"
],
".taskcluster.yml": [
"cc07b1d67117e98ca098dc9fc5a33497cd9faaf6",
"8bdbabb9e2a6ddbc367f54c205ee25139a002cfe",
"support"
],
".well-known/README.md": [
@ -490132,6 +490171,10 @@
"6db6c6b1b9d851c7a85b93ddc9e5ddf368ac0a7e",
"support"
],
"content-dpr/resources/background.svg": [
"b2c544ed2d0ebf8a90bc2311e45ac4a69ffea08c",
"support"
],
"content-dpr/resources/dpr.py": [
"14d7d550fe28d49a63105ea966d3cf7cf59901b1",
"support"
@ -490148,6 +490191,14 @@
"94f2f72d40196749faf6092d178f67dfc7067dcb",
"reftest"
],
"content-dpr/tiled-background-svg-image-with-content-dpr-ref.html": [
"cd8c7d3ea985655040ec62bb426080bbfac2359f",
"support"
],
"content-dpr/tiled-background-svg-image-with-content-dpr.html": [
"56948ea286b8c9869863e139147348056727fa20",
"reftest"
],
"content-security-policy/META.yml": [
"ee8f1ea7e07b94711ddc65e43a6c32dbc5983612",
"support"
@ -603881,7 +603932,7 @@
"testharness"
],
"css/css-transforms/parsing/translate-parsing-valid.html": [
"f15fdf0c4fb4ad004db749f622747a0035dcc909",
"04440d552c0668c72c7b028ad22eee892cf4ea61",
"testharness"
],
"css/css-transforms/patternTransform/reference/svg-patternTransform-combination-ref.html": [
@ -643020,6 +643071,10 @@
"32a387288af1db934458bcc77512c388ec2ab168",
"testharness"
],
"fetch/metadata/META.yml": [
"96d1392b3b71ae36876347799a3e4f217c59a020",
"support"
],
"fetch/metadata/README.md": [
"34864d4a4b6bd911f496026ada7bdc41ba3a6905",
"support"
@ -657840,6 +657895,10 @@
"fd65f932982907bf62ab6455c9ab94612b0dca7a",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html": [
"5e3b7682cc8dd45a22bb74b5f7b11a6a4a728d72",
"testharness"
],
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html": [
"f0ff9ff5082d849d6b987a8ee4b46d5d0d1794e5",
"testharness"
@ -665877,11 +665936,11 @@
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini": [
"1d63261c554f96705801a92871a6159b1f0d5ea0",
"358c6f0902e88fc61d24368b0d0874d318ae92d3",
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini": [
"4f1939a431ae272024f62a4169bf8431efc2c5bb",
"83ade1dddf02b0e9d9df5721338bd68c0d0acac3",
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini": [
@ -667640,8 +667699,8 @@
"91c07f9fd3f3097367f2ad87a2ebb0d98b11d4e2",
"support"
],
"longtask-timing/buffered-flag-unsupported.window.js": [
"ea17b824c355ace2b67ccefc1ddbf25e03a299d0",
"longtask-timing/buffered-flag.window.js": [
"dafce7ea3bb2f3d7f4691bc6ca8bde439246abe2",
"testharness"
],
"longtask-timing/idlharness.window.js": [
@ -695433,7 +695492,7 @@
"support"
],
"resources/chromium/nfc-mock.js": [
"b1de419ca20d67bc2e69d6a54a6fbff7d400912b",
"224a6078c1e0d95299d1e3a2e79c6bf3f7614b5f",
"support"
],
"resources/chromium/sensor.mojom.js": [
@ -701700,6 +701759,10 @@
"7a9ad43dd98e00f7e2af4957365441a29aedf8e6",
"testharness"
],
"svg/animations/begin-attribute-mutation.html": [
"f28c8e9ad1ab06ae10cb9a6e883bd80ff58a8974",
"testharness"
],
"svg/animations/beginelement-instance-time-1.html": [
"aa1cb8c983d482439fccc6d91b50e69585f4d404",
"testharness"
@ -701724,6 +701787,10 @@
"19e7eef8c1ce470d67c2eaecf2f07a9d2907f2c1",
"testharness"
],
"svg/animations/cyclic-syncbase-2.html": [
"f48bbffa8599ae0f83f7977707027b75396cd3ce",
"testharness"
],
"svg/animations/cyclic-syncbase.html": [
"c0351156e310a8a6f0fca3ebee506b80983a53bb",
"testharness"
@ -706501,7 +706568,7 @@
"support"
],
"tools/ci/tc/decision.py": [
"a3c47aa404990253f556a9cf59bd7c6237ffece3",
"92a27ef79ab3fb49aff79197ca503b7a766c8c03",
"support"
],
"tools/ci/tc/download.py": [
@ -707265,7 +707332,7 @@
"support"
],
"tools/requirements_mypy.txt": [
"31545c2f0747a9c20d77b50d27096a4ecafd4351",
"194f4284b26903b1faf969b6ab5d30f5c48eb562",
"support"
],
"tools/runner/css/bootstrap-theme.min.css": [
@ -718425,7 +718492,7 @@
"testharness"
],
"web-nfc/NDEFRecord_constructor.https.html": [
"ea7b5e4950866ff7eeed5fd4ed127460b5ef6c33",
"1b2dda9bfc87da146c3b3562dff64568fb68f9b1",
"testharness"
],
"web-nfc/NDEFWriter-document-hidden-manual.https.html": [
@ -718433,7 +718500,7 @@
"manual"
],
"web-nfc/NDEFWriter_push.https.html": [
"6c7aca9fe938184bbc7090339be86a790454c7b6",
"a33b1fab3034af2058a133e8182086dc2cb2dfbe",
"testharness"
],
"web-nfc/README.md": [
@ -718449,7 +718516,7 @@
"testharness"
],
"web-nfc/resources/nfc-helpers.js": [
"0fe6fe80cb1cec7ef582bae5d7974bce9d1d8596",
"3ce725a7c475b28d96f15dfd12736ed8a54f0006",
"support"
],
"web-nfc/resources/support-iframe.html": [

View file

@ -5,6 +5,3 @@
[Serialization should round-trip after setting e.style['translate'\] = "1px 2px 0"]
expected: FAIL
[e.style['translate'\] = "100px calc(10px - 10%)" should set the property value]
expected: FAIL

View file

@ -312,21 +312,21 @@
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL

View file

@ -53,6 +53,12 @@
[combined text/javascript ]
expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript error]
expected: FAIL
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL

View file

@ -11,6 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[Content-Type-Options%3A%20nosniff]
[X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
expected: FAIL

View file

@ -8,8 +8,14 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
expected: TIMEOUT
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: FAIL
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for same-origin URLs.]
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for relative URLs.]
expected: TIMEOUT

View file

@ -0,0 +1,4 @@
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,5 +1,4 @@
[creating_browsing_context_test_01.html]
expected: TIMEOUT
[first argument: absolute url]
expected: TIMEOUT
expected: FAIL

View file

@ -1,24 +1,5 @@
[open-features-negative-innerwidth-innerheight.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
expected: FAIL
[features "innerheight=-404.5" should NOT set "height=404"]
expected: TIMEOUT
[features "innerwidth=-404.5" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=-404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerheight=-404e1" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=-404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerwidth=-404e1" should NOT set "width=404"]
expected: TIMEOUT

View file

@ -1,24 +1,5 @@
[open-features-negative-screenx-screeny.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
expected: FAIL
[features "screenx=-204" should NOT set "left=204"]
expected: TIMEOUT
[features "screeny=-204" should NOT set "top=204"]
expected: TIMEOUT
[features "screeny=-204.5" should NOT set "top=204"]
expected: TIMEOUT
[features "screeny=-0" should NOT set "top=204"]
expected: TIMEOUT
[features "screenx=-0" should NOT set "left=204"]
expected: TIMEOUT
[features "screenx=-204.5" should NOT set "left=204"]
expected: TIMEOUT

View file

@ -1,42 +1,32 @@
[open-features-non-integer-innerheight.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
expected: FAIL
[features "innerheight=405e-1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405LLl" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405^4" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405e1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405 " should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405/5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405.32" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405.5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405*3" should set "height=405"]
expected: TIMEOUT
[features "innerheight=_404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=L404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=/404" should NOT set "height=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-innerwidth.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
expected: FAIL
[features "innerwidth=405e-1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405*3" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405.5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405e1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405.32" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405 " should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405LLl" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405/5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405^4" should set "width=405"]
expected: TIMEOUT
[features "innerwidth=/404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=_404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=L404" should NOT set "width=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-left.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `left`]
expected: FAIL
[features "left=105e1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105 " should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105/5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105e-1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105^4" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105LLl" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105.32" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105*3" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105.5" should set "left=105"]
expected: TIMEOUT
[features "left=L104" should NOT set "left=104"]
expected: TIMEOUT
[features "left=/104" should NOT set "left=104"]
expected: TIMEOUT
[features "left=_104" should NOT set "left=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-screenx.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
expected: FAIL
[features "screenx=105.5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105e1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105 " should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105*3" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105e-1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105^4" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105LLl" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105/5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105.32" should set "left=105"]
expected: TIMEOUT
[features "screenx=_104" should NOT set "left=104"]
expected: TIMEOUT
[features "screenx=L104" should NOT set "left=104"]
expected: TIMEOUT
[features "screenx=/104" should NOT set "left=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-screeny.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
expected: FAIL
[features "screeny=405^4" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405e-1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405LLl" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405e1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405 " should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405/5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405*3" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405.32" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405.5" should set "height=405"]
expected: TIMEOUT
[features "screeny=_404" should NOT set "height=404"]
expected: TIMEOUT
[features "screeny=L404" should NOT set "height=404"]
expected: TIMEOUT
[features "screeny=/404" should NOT set "height=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-top.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `top`]
expected: FAIL
[features "top=105/5" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105*3" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105LLl" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105e-1" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105.32" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105e1" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105 " should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105^4" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105.5" should set "top=105"]
expected: TIMEOUT
[features "top=/104" should NOT set "top=104"]
expected: TIMEOUT
[features "top=_104" should NOT set "top=104"]
expected: TIMEOUT
[features "top=L104" should NOT set "top=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,48 +1,32 @@
[open-features-non-integer-width.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `width`]
expected: FAIL
[features "width=405^4" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405.5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405e1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405 " should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405.32" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405LLl" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405*3" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405e-1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405/5" should set "width=405"]
expected: TIMEOUT
[top=0,left=0: absence of feature "width" should be treated same as "width=0"]
expected: TIMEOUT
[features "width=_404" should NOT set "width=404"]
expected: TIMEOUT
[top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
expected: TIMEOUT
[features "width=/404" should NOT set "width=404"]
expected: TIMEOUT
[features "width=L404" should NOT set "width=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,4 +1,5 @@
[embedded-opener-remove-frame.html]
expected: CRASH
[opener and "removed" embedded documents]
expected: FAIL

View file

@ -1,5 +1,4 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@ -10,7 +9,7 @@
expected: FAIL
[Area element should support autofocus]
expected: TIMEOUT
expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: FAIL

View file

@ -1,6 +1,6 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
expected: CRASH
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
expected: FAIL

View file

@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
expected: CRASH
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN

View file

@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-2.html]
type: testharness
expected: TIMEOUT
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN

View file

@ -1,5 +1,5 @@
[form-double-submit.html]
expected: ERROR
[default submit action should supersede onclick submit()]
expected: TIMEOUT
expected: FAIL

View file

@ -1,2 +0,0 @@
[size.large.html]
expected: CRASH

View file

@ -1,5 +1,4 @@
[realtimeanalyser-fft-scaling.html]
expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[WorkerGlobalScope-close.html]
[Test sending a message after closing.]
expected: FAIL

View file

@ -1,5 +1,4 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -1,4 +1,5 @@
[sharedworker-in-worker.html]
expected: ERROR
[Base URL in workers: new SharedWorker()]
expected: FAIL

View file

@ -0,0 +1,2 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -3,17 +3,6 @@ policy:
pullRequests: public
tasks:
$let:
event_str: {$json: {$eval: event}}
scopes:
$if: 'tasks_for == "github-push"'
then:
$let:
branch:
$if: "event.ref[:11] == 'refs/heads/'"
then: "${event.ref[11:]}"
else: "${event.ref}"
in: "assume:repo:github.com/${event.repository.full_name}:branch:${branch}"
else: "assume:repo:github.com/${event.repository.full_name}:pull-request"
run_task:
$if: 'tasks_for == "github-push"'
then:
@ -27,43 +16,66 @@ tasks:
then: true
else: false
else: false
rev:
$if: 'tasks_for == "github-pull-request"'
then: "refs/pull/${event.number}/merge"
else: "${event.after}"
in:
- $if: run_task
then:
created: {$fromNow: ''}
deadline: {$fromNow: '24 hours'}
provisionerId: proj-wpt
workerType: ci
metadata:
name: "wpt-decision-task"
description: "The task that creates all of the other tasks in the task graph"
owner: "${event.sender.login}@users.noreply.github.com"
source: ${event.repository.clone_url}
payload:
image: harjgam/web-platform-tests:0.33
maxRunTime: 7200
artifacts:
public/results:
path: /home/test/artifacts
type: directory
command:
- /bin/bash
- --login
- -c
- set -ex;
~/start.sh
${event.repository.clone_url}
${rev};
cd ~/web-platform-tests;
./wpt tc-decision --tasks-path=/home/test/artifacts/tasks.json
features :
taskclusterProxy: true
scopes:
- ${scopes}
extra:
github_event: "${event_str}"
$let:
event_str: {$json: {$eval: event}}
scopes:
$if: 'tasks_for == "github-push"'
then:
$let:
branch:
$if: "event.ref[:11] == 'refs/heads/'"
then: "${event.ref[11:]}"
else: "${event.ref}"
in: "assume:repo:github.com/${event.repository.full_name}:branch:${branch}"
else: "assume:repo:github.com/${event.repository.full_name}:pull-request"
rev:
$if: 'tasks_for == "github-pull-request"'
then: "refs/pull/${event.number}/merge"
else: "${event.after}"
owner:
$if: 'tasks_for == "github-push"'
then:
$if: 'event.pusher.email'
then:
$if: '"@" in event.pusher.email'
then: ${event.pusher.email}
else: web-platform-tests@users.noreply.github.com
else: web-platform-tests@users.noreply.github.com
else: web-platform-tests@users.noreply.github.com
in:
created: {$fromNow: ''}
deadline: {$fromNow: '24 hours'}
provisionerId: proj-wpt
workerType: ci
metadata:
name: "wpt-decision-task"
description: "The task that creates all of the other tasks in the task graph"
owner: ${owner}
source: ${event.repository.clone_url}
payload:
image: harjgam/web-platform-tests:0.33
maxRunTime: 7200
artifacts:
public/results:
path: /home/test/artifacts
type: directory
command:
- /bin/bash
- --login
- -c
- set -ex;
~/start.sh
${event.repository.clone_url}
${rev};
cd ~/web-platform-tests;
./wpt tc-decision --tasks-path=/home/test/artifacts/tasks.json
features :
taskclusterProxy: true
scopes:
- ${scopes}
extra:
github_event: "${event_str}"

View file

@ -0,0 +1,8 @@
<?xml version="1.0" standalone="yes"?>
<svg version="1.1" viewBox="0 0 32 32" width="32" height="32" fill="none" stroke="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="0" y="0" width="16" height="16" fill="#c0c0c0" />
<rect x="16" y="0" width="16" height="16" fill="#ffffff" />
<rect x="0" y="16" width="16" height="16" fill="#ffffff" />
<rect x="16" y="16" width="16" height="16" fill="#c0c0c0" />
</svg>

After

Width:  |  Height:  |  Size: 454 B

View file

@ -0,0 +1,29 @@
<html>
<head>
<title>Content-DPR: css tiled background</title>
<link rel="author" title="Noam Rosenthal" href="noam@webkit.org">
<meta name="assert" content="Assert that content-dpr is taken into account for tiled background images">
<style>
#bg, #bg2 {
background-image: url(resources/background.svg);
width: 32px;
height: 32px;
}
#bg {
background-size: 16px 16px;
}
#bg2 {
background-size: 8px 8px;
}
</style>
</head>
<body>
The next div should have 16 boxes
<div id="bg">
</div>
The next div should have 64 boxes
<div id="bg2">
</div>
</body>
</html>

View file

@ -0,0 +1,27 @@
<html>
<head>
<title>Content-DPR: css tiled background</title>
<link rel="author" title="Noam Rosenthal" href="noam@webkit.org">
<link rel="match" href="tiled-background-image-with-content-dpr-ref.html" />
<meta name="assert" content="Assert that content-dpr is taken into account for tiled background images">
<style>
#bg, #bg2 {
width: 32px;
height: 32px;
background-image: url(resources/dpr.py?name=background.svg&mimeType=image/svg%2Bxml&dpr=2.0);
}
#bg2 {
background-size: 8px 8px;
}
</style>
</head>
<body>
The next div should have 16 boxes
<div id="bg">
</div>
The next div should have 64 boxes
<div id="bg2">
</div>
</body>
</html>

View file

@ -19,7 +19,7 @@ test_valid_value("translate", "100%");
test_valid_value("translate", "100px 0px", "100px");
test_valid_value("translate", "100px 0.1px", "100px 0.1px");
test_valid_value("translate", "100px 0%", "100px");
test_valid_value("translate", "100px calc(10px - 10%)", "100px calc(10px - 10%)");
test_valid_value("translate", "100px calc(10px - 10%)", "100px calc(-10% + 10px)");
test_valid_value("translate", "100px 200%");
test_valid_value("translate", "100% 200px");

View file

@ -0,0 +1,5 @@
suggested_reviewers:
- zcorpan
- jugglinmike
- mikewest
- iVanlIsh

View file

@ -0,0 +1,12 @@
<!doctype html>
<meta charset="utf-8">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
async_test(t => {
window.addEventListener('message', t.step_func_done(e => {
assert_equals(e.data, "can navigate");
}));
}, "A => B => B: B should be able to navigate B.");
</script>
<iframe src="https://{{hosts[][www]}}:{{ports[https][0]}}/html/semantics/embedded-content/the-iframe-element/support/iframe-tried-to-be-navigated-by-its-child.html"></iframe>

View file

@ -1,6 +1,7 @@
[multiTouchPoints.html]
expected:
if product == "firefox" or product == "safari" or product == "epiphany" or product == "webkit": ERROR
if product == "chrome" and os == "mac": ERROR
[TestDriver actions: two touch points with one moving one pause]
expected:
if product == "chrome" and os != "mac": FAIL

View file

@ -1,3 +1,4 @@
[multiTouchPointsWithPause.html]
expected:
if product == "firefox" or product == "safari": ERROR
if product == "chrome" and os == "mac": ERROR

View file

@ -1,19 +0,0 @@
async_test(t => {
if (!window.PerformanceLongTaskTiming) {
assert_unreached("Longtasks are not supported.");
}
new PerformanceObserver(t.step_func(entryList => {
const observer = new PerformanceObserver(t.step_func_done(list => {
list.getEntries().forEach(entry => {
assert_not_equals(entry.entryType, 'longtask');
});
}));
observer.observe({type: 'longtask', buffered: true});
observer.observe({type: 'mark'});
// Create a mark to ensure the |observer|'s callback is dispatched.
performance.mark('a');
})).observe({entryTypes: ['longtask']});
// Create a long task.
const begin = window.performance.now();
while (window.performance.now() < begin + 60);
}, 'PerformanceObserver with buffered flag cannot see previous longtask entries.');

View file

@ -0,0 +1,26 @@
async_test(t => {
assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
new PerformanceObserver(t.step_func((entryList, obs) => {
const observer = new PerformanceObserver(t.step_func_done(list => {
let longtaskObserved = false;
list.getEntries().forEach(entry => {
if (entry.entryType === 'mark')
return;
assert_equals(entry.entryType, 'longtask');
assert_equals(entry.name, 'self');
assert_greater_than(longtask.duration, 50);
longtaskObserved = true;
});
assert_true(longtaskObserved, 'Did not observe buffered longtask.');
}));
observer.observe({type: 'longtask', buffered: true});
// Observer mark so that we can flush the observer callback.
observer.observe({type: 'mark'});
performance.mark('m');
// Disconnect the embedding observer so this callback only runs once.
obs.disconnect();
})).observe({entryTypes: ['longtask']});
// Create a long task.
const begin = window.performance.now();
while (window.performance.now() < begin + 60);
}, 'PerformanceObserver with buffered flag can see previous longtask entries.');

View file

@ -27,6 +27,7 @@ function toMojoNDEFRecord(record) {
let nfcRecord = new device.mojom.NDEFRecord();
nfcRecord.recordType = record.recordType;
nfcRecord.mediaType = record.mediaType;
nfcRecord.id = record.id;
nfcRecord.data = toByteArray(record.data);
if (record.data != null && record.data.records !== undefined) {
// |record.data| may be an NDEFMessageInit, i.e. the payload is a message.
@ -59,6 +60,12 @@ function toByteArray(data) {
function compareNDEFRecords(providedRecord, receivedRecord) {
assert_equals(providedRecord.recordType, receivedRecord.recordType);
if (providedRecord.id === undefined) {
assert_equals(null, receivedRecord.id);
} else {
assert_equals(providedRecord.id, receivedRecord.id);
}
if (providedRecord.mediaType === undefined) {
assert_equals(null, receivedRecord.mediaType);
} else {

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<title>Mutating the 'begin' attribute after the element has started</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<svg>
<rect width="100" height="100" fill="blue">
<animate id="anim" attributeName="x" values="100; 0"
begin="0s" dur="50ms" fill="freeze"/>
</rect>
</svg>
<script>
async_test(function(t) {
let anim = document.getElementById("anim");
anim.endEventsReceived = 0;
anim.addEventListener('endEvent', t.step_func(function() {
anim.endEventsReceived++;
if (anim.endEventsReceived)
t.done();
}));
onload = function() {
// Allow some time to pass before mutating 'begin'. This should ensure
// that the element has started.
requestAnimationFrame(function() {
anim.ownerSVGElement.setCurrentTime(0);
anim.setAttribute("begin", "50ms");
});
};
});
</script>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<title>Cyclic syncbase dependency with syncbase trigger</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<svg>
<rect width="100" height="100" fill="blue">
<animate attributeName="fill" from="yellow" to="blue" id="a"
begin="c.end; b.begin" dur="10ms"/>
</rect>
<rect width="100" height="100" x="100" fill="blue">
<animate attributeName="fill" from="yellow" to="blue" id="b"
begin="c.end; a.begin" dur="10ms"/>
</rect>
<rect width="100" height="100" x="200" fill="blue">
<animate attributeName="fill" from="yellow" to="blue" id="c"
begin="0; 15ms" dur="10ms"/>
</rect>
</svg>
<script>
async_test(function(t) {
let a = document.getElementById('a');
a.ended = 0;
a.addEventListener('endEvent', t.step_func(function() {
a.ended++;
if (a.ended === 2)
t.done();
}));
});
</script>

View file

@ -194,9 +194,10 @@ cd web-platform-tests;
def get_owner(event):
pusher = event.get("pusher", {}).get("email", "")
if "@" in pusher:
return pusher
if "pusher" in event:
pusher = event.get("pusher", {}).get("email", "")
if pusher and "@" in pusher:
return pusher
return "web-platform-tests@users.noreply.github.com"

View file

@ -1,3 +1,3 @@
mypy==0.740
mypy==0.750
mypy-extensions==0.4.3
typed-ast==1.4.0

View file

@ -18,29 +18,56 @@
test(() => {
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('empty', test_text_data, 'text/plain')),
createRecord('empty', test_text_data, test_record_id, 'text/plain')),
'mediaType does not apply for empty record type.');
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('text', test_text_data, 'text/plain')),
createRecord('text', test_text_data, test_record_id, 'text/plain')),
'mediaType does not apply for text record type.');
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('url', test_url_data, 'text/plain')),
createRecord('url', test_url_data, test_record_id, 'text/plain')),
'mediaType does not apply for url record type.');
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('absolute-url', test_url_data, 'text/plain')),
createRecord('absolute-url', test_url_data, test_record_id, 'text/plain')),
'mediaType does not apply for absolute-url record type.');
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('unknown', test_buffer_data, 'application/octet-stream')),
createRecord('unknown', test_buffer_data, test_record_id, 'application/octet-stream')),
'mediaType does not apply for unknown record type.');
assert_throws(new TypeError, () => new NDEFRecord(
createRecord('foo.example.com:bar', test_buffer_data, 'application/octet-stream')),
createRecord('foo.example.com:bar', test_buffer_data, test_record_id, 'application/octet-stream')),
'mediaType does not apply for external record type.');
}, 'NDEFRecord constructor should only accept mediaType for mime record type');
test(() => {
{
const record = new NDEFRecord(createRecord('text', test_text_data));
assert_equals(record.id, null, 'id');
}
{
const record = new NDEFRecord(createRecord('text', test_text_data, ''));
assert_equals(record.id, '', 'id');
}
{
const dummy_id = 'https://dummy_host/mypath/myid';
const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
assert_equals(record.id, dummy_id, 'id');
}
{
const dummy_id = 'http://dummy_host/mypath/myid';
const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
assert_equals(record.id, dummy_id, 'id');
}
{
const dummy_id = 'mypath/myid';
const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
assert_equals(record.id, dummy_id, 'id');
}
}, 'NDEFRecord constructor with custom record ids');
test(() => {
const record = new NDEFRecord(createTextRecord(test_text_data));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@ -56,6 +83,7 @@
const record = new NDEFRecord(createTextRecord(uint8Array.buffer));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@ -71,6 +99,7 @@
const record = new NDEFRecord(createTextRecord(uint8Array));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@ -87,6 +116,7 @@
const record = new NDEFRecord(createTextRecord(test_text_data, encoding, lang));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, encoding, 'encoding');
assert_equals(record.lang, lang, 'lang');
const decoder = new TextDecoder();
@ -105,6 +135,7 @@
const record = new NDEFRecord(createTextRecord(test_text_data));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, test_lang, 'lang');
const decoder = new TextDecoder();
@ -116,6 +147,7 @@
const record = new NDEFRecord(createUrlRecord(test_url_data));
assert_equals(record.recordType, 'url', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
@ -127,6 +159,7 @@
const record = new NDEFRecord(createUrlRecord(test_url_data, true));
assert_equals(record.recordType, 'absolute-url', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
@ -146,6 +179,7 @@
const record = new NDEFRecord(createMimeRecord(buffer));
assert_equals(record.recordType, 'mime', 'recordType');
assert_equals(record.mediaType, 'application/octet-stream', 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_throws('NotSupportedError', () => record.toRecords(),
@ -156,6 +190,7 @@
let buffer_view = new Uint8Array(buffer, 1);
const record = new NDEFRecord(createMimeRecord(buffer_view));
assert_equals(record.recordType, 'mime', 'recordType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_throws('NotSupportedError', () => record.toRecords(),
@ -167,6 +202,7 @@
const record = new NDEFRecord(createMimeRecordFromJson(test_json_data));
assert_equals(record.recordType, 'mime', 'recordType');
assert_equals(record.mediaType, 'application/json', 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_object_equals(JSON.parse(new TextDecoder().decode(record.data)),
test_json_data,
'data has the same content with the original json');
@ -185,6 +221,7 @@
{
const record = new NDEFRecord(createUnknownRecord(buffer));
assert_equals(record.recordType, 'unknown', 'recordType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_throws('NotSupportedError', () => record.toRecords(),
@ -195,6 +232,7 @@
let buffer_view = new Uint8Array(buffer, 1);
const record = new NDEFRecord(createUnknownRecord(buffer_view));
assert_equals(record.recordType, 'unknown', 'recordType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_throws('NotSupportedError', () => record.toRecords(),
@ -211,9 +249,10 @@
new Uint8Array(buffer).set([1, 2, 3, 4]);
// Feed ArrayBuffer.
{
const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer));
const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer, test_record_id));
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_equals(record.toRecords(), null,
@ -222,9 +261,11 @@
// Feed ArrayBufferView.
{
let buffer_view = new Uint8Array(buffer, 1);
const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer_view));
const record = new NDEFRecord(createRecord(
'foo.eXamPle.coM:bAr*-', buffer_view, test_record_id));
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_equals(record.toRecords(), null,

View file

@ -30,7 +30,6 @@ const invalid_type_messages =
// NDEFRecord.data for 'text' record must be either a string,
// an arrayBuffer, or an arrayBufferView.
createMessage([createTextRecord(test_json_data)]),
createMessage([createTextRecord(test_number_data)]),
// NDEFRecord.encoding for 'text' record must be either "utf-8",
// "utf-16", "utf-16le" or "utf-16be".
@ -49,12 +48,10 @@ const invalid_type_messages =
// NDEFRecord.data for 'url' record must be string.
createMessage([createUrlRecord(test_buffer_data)]),
createMessage([createUrlRecord(test_number_data)]),
createMessage([createUrlRecord(test_json_data)]),
// NDEFRecord.data for 'absolute-url' record must be string.
createMessage([createUrlRecord(test_buffer_data, true)]),
createMessage([createUrlRecord(test_number_data, true)]),
createMessage([createUrlRecord(test_json_data, true)]),
// https://w3c.github.io/web-nfc/#dfn-map-binary-data-to-ndef

View file

@ -64,6 +64,7 @@ const test_buffer_data = new ArrayBuffer(test_text_byte_array.length);
const test_buffer_view = new Uint8Array(test_buffer_data);
test_buffer_view.set(test_text_byte_array);
const fake_tag_serial_number = 'c0:45:00:02';
const test_record_id = '/test_path/test_id';
const NFCHWStatus = {};
// OS-level NFC setting is ON
@ -81,10 +82,12 @@ function createMessage(records) {
}
}
function createRecord(recordType, data, mediaType, encoding, lang) {
function createRecord(recordType, data, id, mediaType, encoding, lang) {
let record = {};
if (recordType !== undefined)
record.recordType = recordType;
if (id !== undefined)
record.id = id;
if (mediaType !== undefined)
record.mediaType = mediaType;
if (encoding !== undefined)
@ -97,28 +100,29 @@ function createRecord(recordType, data, mediaType, encoding, lang) {
}
function createTextRecord(data, encoding, lang) {
return createRecord('text', data, undefined, encoding, lang);
return createRecord('text', data, test_record_id, undefined, encoding, lang);
}
function createMimeRecordFromJson(json) {
return createRecord(
'mime', new TextEncoder('utf-8').encode(JSON.stringify(json)),
'application/json');
test_record_id, 'application/json');
}
function createMimeRecord(buffer) {
return createRecord('mime', buffer, 'application/octet-stream');
return createRecord(
'mime', buffer, test_record_id, 'application/octet-stream');
}
function createUnknownRecord(buffer) {
return createRecord('unknown', buffer);
return createRecord('unknown', buffer, test_record_id);
}
function createUrlRecord(url, isAbsUrl) {
if (isAbsUrl) {
return createRecord('absolute-url', url);
return createRecord('absolute-url', url, test_record_id);
}
return createRecord('url', url);
return createRecord('url', url, test_record_id);
}
function createNDEFPushOptions(target, ignoreRead) {
@ -135,9 +139,11 @@ function assertNDEFMessagesEqual(providedMessage, receivedMessage) {
let provided = providedMessage;
if (providedMessage instanceof ArrayBuffer ||
ArrayBuffer.isView(providedMessage))
provided = createMessage([createMimeRecord(providedMessage)]);
provided = createMessage([createRecord(
'mime', providedMessage, undefined /* id */,
'application/octet-stream')]);
else if (typeof providedMessage === 'string')
provided = createMessage([createTextRecord(providedMessage)]);
provided = createMessage([createRecord('text', providedMessage)]);
assert_equals(provided.records.length, receivedMessage.data.length,
'NDEFMessages must have same number of NDEFRecords');
@ -161,6 +167,7 @@ function assertWebNDEFMessagesEqual(message, expectedMessage) {
let expectedRecord = expectedMessage.records[i];
assert_equals(record.recordType, expectedRecord.recordType);
assert_equals(record.mediaType, expectedRecord.mediaType);
assert_equals(record.id, expectedRecord.id);
// Compares record data
assert_array_equals(new Uint8Array(record.data),