Update web-platform-tests to revision ade06500869396f7a46b95bc3553af4ca9c07f31

This commit is contained in:
WPT Sync Bot 2018-10-17 21:30:21 -04:00
parent 9a0404ac5f
commit ed390a659c
51 changed files with 531 additions and 1075 deletions

View file

@ -37,6 +37,3 @@
[Revoke blob URL after creating Request, will fetch] [Revoke blob URL after creating Request, will fetch]
expected: FAIL expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

View file

@ -109585,6 +109585,42 @@
{} {}
] ]
], ],
"css/css-conditional/at-supports-040.html": [
[
"/css/css-conditional/at-supports-040.html",
[
[
"/css/css-conditional/at-supports-001-ref.html",
"=="
]
],
{}
]
],
"css/css-conditional/at-supports-041.html": [
[
"/css/css-conditional/at-supports-041.html",
[
[
"/css/css-conditional/at-supports-001-ref.html",
"=="
]
],
{}
]
],
"css/css-conditional/at-supports-042.html": [
[
"/css/css-conditional/at-supports-042.html",
[
[
"/css/css-conditional/at-supports-001-ref.html",
"=="
]
],
{}
]
],
"css/css-contain/contain-animation-001.html": [ "css/css-contain/contain-animation-001.html": [
[ [
"/css/css-contain/contain-animation-001.html", "/css/css-contain/contain-animation-001.html",
@ -113629,6 +113665,18 @@
{} {}
] ]
], ],
"css/css-display/select-4-option-optgroup-display-none.html": [
[
"/css/css-display/select-4-option-optgroup-display-none.html",
[
[
"/css/css-display/select-4-option-optgroup-display-none-ref.html",
"=="
]
],
{}
]
],
"css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01.xht": [ "css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01.xht": [
[ [
"/css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01.xht", "/css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01.xht",
@ -250328,6 +250376,11 @@
{} {}
] ]
], ],
"css/css-display/select-4-option-optgroup-display-none-ref.html": [
[
{}
]
],
"css/css-display/support/acid.css": [ "css/css-display/support/acid.css": [
[ [
{} {}
@ -334920,6 +334973,12 @@
{} {}
] ]
], ],
"css/css-flexbox/flex-minimum-height-flex-items-010.html": [
[
"/css/css-flexbox/flex-minimum-height-flex-items-010.html",
{}
]
],
"css/css-flexbox/flexbox_first-letter.html": [ "css/css-flexbox/flexbox_first-letter.html": [
[ [
"/css/css-flexbox/flexbox_first-letter.html", "/css/css-flexbox/flexbox_first-letter.html",
@ -344212,6 +344271,12 @@
{} {}
] ]
], ],
"css/cssom-view/screenLeftTop.html": [
[
"/css/cssom-view/screenLeftTop.html",
{}
]
],
"css/cssom-view/scroll-behavior-default-css.html": [ "css/cssom-view/scroll-behavior-default-css.html": [
[ [
"/css/cssom-view/scroll-behavior-default-css.html", "/css/cssom-view/scroll-behavior-default-css.html",
@ -387818,12 +387883,6 @@
{} {}
] ]
], ],
"payment-request/PaymentItem/type_member.https.html": [
[
"/payment-request/PaymentItem/type_member.https.html",
{}
]
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [ "payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
[ [
"/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html", "/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html",
@ -480120,7 +480179,7 @@
"reftest" "reftest"
], ],
"css/CSS2/borders/border-top-width-003.xht": [ "css/CSS2/borders/border-top-width-003.xht": [
"ca0316bfc5b83f7cade603e88b747b67a88cf763", "f08e1c4fd441234f9a5b8a25001e0add48ed44f5",
"reftest" "reftest"
], ],
"css/CSS2/borders/border-top-width-004.xht": [ "css/CSS2/borders/border-top-width-004.xht": [
@ -506700,19 +506759,19 @@
"reftest" "reftest"
], ],
"css/CSS2/selectors/default-attribute-selector-005.xht": [ "css/CSS2/selectors/default-attribute-selector-005.xht": [
"6c5543b25b044f883d08ae77d690f9aa14cb6d58", "3bc507ff3c62c0355ea3151491c1689444f1a4c3",
"visual" "visual"
], ],
"css/CSS2/selectors/default-attribute-selector-006.xht": [ "css/CSS2/selectors/default-attribute-selector-006.xht": [
"8cf80bf1d1c643fba4b53905c863bff79f4588aa", "2a71aa0dcd196be2ef557e2fcb2e4e4d566a1027",
"visual" "visual"
], ],
"css/CSS2/selectors/default-attribute-selector-007.xht": [ "css/CSS2/selectors/default-attribute-selector-007.xht": [
"b2025e5e24b588ad7b3e3189d78c60084a0f0d00", "ef5dc3495c1bff4162ecc965013ffe54a75b32bd",
"visual" "visual"
], ],
"css/CSS2/selectors/default-attribute-selector-008.xht": [ "css/CSS2/selectors/default-attribute-selector-008.xht": [
"8aab5bddf3e69b408325dc09f890c96e948682d0", "8c0de163c802e9d412a6b7d948f38dbe605650cb",
"visual" "visual"
], ],
"css/CSS2/selectors/descendent-selector-001.xht": [ "css/CSS2/selectors/descendent-selector-001.xht": [
@ -533539,6 +533598,18 @@
"58e7ac2f00da80b9147e9dc7280292267a09ebad", "58e7ac2f00da80b9147e9dc7280292267a09ebad",
"reftest" "reftest"
], ],
"css/css-conditional/at-supports-040.html": [
"6c4a58f346baa7b7788dd6be5e5926759c279a82",
"reftest"
],
"css/css-conditional/at-supports-041.html": [
"804fb3c383538bc3959ce51744a6b76e25cb5771",
"reftest"
],
"css/css-conditional/at-supports-042.html": [
"47241f37a35792c554545b3f8f6365afc835b07d",
"reftest"
],
"css/css-conditional/idlharness.html": [ "css/css-conditional/idlharness.html": [
"410466b25230b246c09cd12d1d13b8ef58786abf", "410466b25230b246c09cd12d1d13b8ef58786abf",
"testharness" "testharness"
@ -536407,6 +536478,14 @@
"6f493ba85cbc5082b99e0f7e72283651925fb482", "6f493ba85cbc5082b99e0f7e72283651925fb482",
"visual" "visual"
], ],
"css/css-display/select-4-option-optgroup-display-none-ref.html": [
"230c8a6d4f00157f934ea3bd1ff1d5090575767f",
"support"
],
"css/css-display/select-4-option-optgroup-display-none.html": [
"a6da3d53c71c87a9774af3403ed9f38fb25f75c6",
"reftest"
],
"css/css-display/support/acid.css": [ "css/css-display/support/acid.css": [
"62d1aca2e5147cb849f8a36d616cf7143e9cf055", "62d1aca2e5147cb849f8a36d616cf7143e9cf055",
"support" "support"
@ -537175,6 +537254,10 @@
"718386af02069fa1a3fff0ee5aaa10415ef4b23a", "718386af02069fa1a3fff0ee5aaa10415ef4b23a",
"testharness" "testharness"
], ],
"css/css-flexbox/flex-minimum-height-flex-items-010.html": [
"482c062d8df96d5521b6d763bc27d89ec1698e47",
"testharness"
],
"css/css-flexbox/flex-minimum-width-flex-items-001.xht": [ "css/css-flexbox/flex-minimum-width-flex-items-001.xht": [
"b8e2866edaa46af46900c287238894cd8ddef24c", "b8e2866edaa46af46900c287238894cd8ddef24c",
"reftest" "reftest"
@ -581483,6 +581566,10 @@
"7bb944c9d59349b3a25ab14981ae34f5ef991bec", "7bb944c9d59349b3a25ab14981ae34f5ef991bec",
"support" "support"
], ],
"css/cssom-view/screenLeftTop.html": [
"58d868866eb275724c996bdc1a636ff6173d75a9",
"testharness"
],
"css/cssom-view/scroll-behavior-default-css.html": [ "css/cssom-view/scroll-behavior-default-css.html": [
"8606b1f3ed40b49c693213e02df69d088d93b979", "8606b1f3ed40b49c693213e02df69d088d93b979",
"testharness" "testharness"
@ -581808,7 +581895,7 @@
"testharness" "testharness"
], ],
"css/cssom/CSS.html": [ "css/cssom/CSS.html": [
"fd2966a104c0804bc66c0e2b7353d9f03631564d", "7d558f04466ffad77e36f8aaa90abd220a24c27b",
"testharness" "testharness"
], ],
"css/cssom/CSSKeyframeRule.html": [ "css/cssom/CSSKeyframeRule.html": [
@ -595020,7 +595107,7 @@
"support" "support"
], ],
"docs/_running-tests/safari.md": [ "docs/_running-tests/safari.md": [
"3ef508d3780aae433100702f03bdac9f33190c62", "1fb5cb02359a9e5ee3e07485b547221ccb7faa1c",
"support" "support"
], ],
"docs/_writing-tests/ahem.md": [ "docs/_writing-tests/ahem.md": [
@ -597144,7 +597231,7 @@
"support" "support"
], ],
"editing/data/insert-list-items-in-table-cells.js": [ "editing/data/insert-list-items-in-table-cells.js": [
"e1c1e15c6bd49c90f4587db1d596c350e19dcd88", "6a4d3985a570dd4acbf182c48d5acce2f2c1a0e1",
"support" "support"
], ],
"editing/data/inserthorizontalrule.js": [ "editing/data/inserthorizontalrule.js": [
@ -597164,7 +597251,7 @@
"support" "support"
], ],
"editing/data/insertorderedlist.js": [ "editing/data/insertorderedlist.js": [
"31259552cd170dc50c2d301f69f72474c75849b6", "b4f11ecae308780db49369092eed151a61c65bca",
"support" "support"
], ],
"editing/data/insertparagraph.js": [ "editing/data/insertparagraph.js": [
@ -598544,11 +598631,11 @@
"support" "support"
], ],
"encoding/resources/two-boms-utf-16be.html": [ "encoding/resources/two-boms-utf-16be.html": [
"b8c055b1b9c4b9de56cf7644eab6b4e1b18e1829", "6a5b0a5517fd422b7859f8332416523198aebec0",
"support" "support"
], ],
"encoding/resources/two-boms-utf-16le.html": [ "encoding/resources/two-boms-utf-16le.html": [
"8042f33eb34c0147ad6812e2a4620d12ccb7b45d", "535a40d398d3b50bba40269639524022ae0c2fcf",
"support" "support"
], ],
"encoding/resources/two-boms-utf-8.html": [ "encoding/resources/two-boms-utf-8.html": [
@ -601620,7 +601707,7 @@
"testharness" "testharness"
], ],
"fetch/sec-metadata/fetch.tentative.https.sub.html": [ "fetch/sec-metadata/fetch.tentative.https.sub.html": [
"12072476bebb693233a4cbffcb71019b1d1d5a91", "d18042ca98b083cb7ebe7b42070afe47daa4b47c",
"testharness" "testharness"
], ],
"fetch/sec-metadata/font.tentative.https.sub.html": [ "fetch/sec-metadata/font.tentative.https.sub.html": [
@ -601660,7 +601747,7 @@
"testharness" "testharness"
], ],
"fetch/sec-metadata/report.tentative.https.sub.html": [ "fetch/sec-metadata/report.tentative.https.sub.html": [
"279836457ebe72354ec68525bd92bc533b11b0dd", "a74da6a7a7d60fcdc35dd32873ea25cf5e356dea",
"testharness" "testharness"
], ],
"fetch/sec-metadata/report.tentative.https.sub.html.sub.headers": [ "fetch/sec-metadata/report.tentative.https.sub.html.sub.headers": [
@ -601680,7 +601767,7 @@
"support" "support"
], ],
"fetch/sec-metadata/resources/helper.js": [ "fetch/sec-metadata/resources/helper.js": [
"55e36d49fac39e814e10df1629e8b8fec0c8ebef", "037f7e1e1deb929322b26ee5436123a7b24db92f",
"support" "support"
], ],
"fetch/sec-metadata/resources/post-to-owner.py": [ "fetch/sec-metadata/resources/post-to-owner.py": [
@ -622144,7 +622231,7 @@
"manual" "manual"
], ],
"input-events/input-events-exec-command.html": [ "input-events/input-events-exec-command.html": [
"6c512023296ca54df7357576920c15738ca7e068", "d4dea0859e26e024b363dfcc1ee2ab2d263fb062",
"testharness" "testharness"
], ],
"input-events/input-events-get-target-ranges-manual.html": [ "input-events/input-events-get-target-ranges-manual.html": [
@ -622480,7 +622567,7 @@
"support" "support"
], ],
"interfaces/netinfo.idl": [ "interfaces/netinfo.idl": [
"191e9567b2d57d0632a998f7de4911d933a08c7b", "6b3d5525a4264990433d8492514d9923445aa41c",
"support" "support"
], ],
"interfaces/notifications.idl": [ "interfaces/notifications.idl": [
@ -622560,7 +622647,7 @@
"support" "support"
], ],
"interfaces/reporting.idl": [ "interfaces/reporting.idl": [
"e9800365c4c03e9d98990de54bdf0fede7690448", "8e88663a700cdb1cdca490048c63ea1e6023b9dc",
"support" "support"
], ],
"interfaces/requestidlecallback.idl": [ "interfaces/requestidlecallback.idl": [
@ -622612,7 +622699,7 @@
"support" "support"
], ],
"interfaces/touch-events.idl": [ "interfaces/touch-events.idl": [
"0bedbf89964f12b55feae4d5e4c9512f71a841cd", "5e341bd7b17be06a615142dbccfad22e3e01fb5f",
"support" "support"
], ],
"interfaces/trusted-types.tentative.idl": [ "interfaces/trusted-types.tentative.idl": [
@ -634499,10 +634586,6 @@
"edde533be6b2e49415b81ae4df167139117a0d7c", "edde533be6b2e49415b81ae4df167139117a0d7c",
"manual" "manual"
], ],
"payment-request/PaymentItem/type_member.https.html": [
"dc62a83f597a0b53c686689fb8f549130982242a",
"testharness"
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [ "payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
"ec0aa96dddb46b26617064ab54e9d02e2a588cbb", "ec0aa96dddb46b26617064ab54e9d02e2a588cbb",
"testharness" "testharness"
@ -644596,7 +644679,7 @@
"support" "support"
], ],
"resources/test/conftest.py": [ "resources/test/conftest.py": [
"dde9e9dc0a76ab2a34bf45913702ab148b31c2b6", "9f59b3826c42e04943c1b7bc23083ac7ce7415de",
"support" "support"
], ],
"resources/test/harness.html": [ "resources/test/harness.html": [
@ -645764,7 +645847,7 @@
"support" "support"
], ],
"screen-capture/getdisplaymedia.https.html": [ "screen-capture/getdisplaymedia.https.html": [
"9b66419cb0a1eb149294419ddd3549e4ba032de5", "f5edab5b7adfb70c15efbdea5014c631277484d4",
"testharness" "testharness"
], ],
"screen-capture/idlharness.window.js": [ "screen-capture/idlharness.window.js": [
@ -654748,7 +654831,7 @@
"support" "support"
], ],
"tools/ci/taskcluster-run.py": [ "tools/ci/taskcluster-run.py": [
"5a720baa2e9bba12c53a8db898273d7a7a6be4fa", "fc6338ed31f73fc4a40703b0c918a60b0e174e20",
"support" "support"
], ],
"tools/ci/tcdownload.py": [ "tools/ci/tcdownload.py": [
@ -659468,7 +659551,7 @@
"support" "support"
], ],
"tools/wpt/browser.py": [ "tools/wpt/browser.py": [
"db64c369d54271d28726da4706a9c8c03f4ee94d", "016b76fce89b510ada5568b72a7df2d4d3398a0d",
"support" "support"
], ],
"tools/wpt/commands.json": [ "tools/wpt/commands.json": [
@ -659492,7 +659575,7 @@
"support" "support"
], ],
"tools/wpt/run.py": [ "tools/wpt/run.py": [
"02857ed0b0c6d85b41b5b283b56c1480009367e0", "6f7ad1a53def31e22539295bb0c96ff84b742b45",
"support" "support"
], ],
"tools/wpt/testfiles.py": [ "tools/wpt/testfiles.py": [
@ -659812,7 +659895,7 @@
"support" "support"
], ],
"tools/wptrunner/wptrunner/browsers/servodriver.py": [ "tools/wptrunner/wptrunner/browsers/servodriver.py": [
"d788effc469bc2f582ba7ead65700e7a13c37c59", "1632f8f539ced2807ea7fa89258f6db9ef4eb47c",
"support" "support"
], ],
"tools/wptrunner/wptrunner/browsers/webkit.py": [ "tools/wptrunner/wptrunner/browsers/webkit.py": [

View file

@ -1,3 +0,0 @@
[border-top-width-003.xht]
type: reftest
expected: FAIL

View file

@ -0,0 +1,2 @@
[at-supports-040.html]
expected: FAIL

View file

@ -0,0 +1,7 @@
[flex-minimum-height-flex-items-010.html]
[.container 2]
expected: FAIL
[.container 1]
expected: FAIL

View file

@ -0,0 +1,7 @@
[screenLeftTop.html]
[screenTop]
expected: FAIL
[screenLeft]
expected: FAIL

View file

@ -0,0 +1,4 @@
[CSS.html]
[CSS.supports, selector function]
expected: FAIL

View file

@ -1,4 +1,5 @@
[fetch-in-iframe.html] [fetch-in-iframe.html]
expected: CRASH
[Untitled] [Untitled]
expected: FAIL expected: FAIL

View file

@ -1,2 +0,0 @@
[report.tentative.https.sub.html]
expected: TIMEOUT

View file

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

View file

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

View file

@ -11,5 +11,5 @@
expected: TIMEOUT expected: TIMEOUT
[picture: source (max-width:500px) valid image, img valid image, resize to narrow] [picture: source (max-width:500px) valid image, img valid image, resize to narrow]
expected: TIMEOUT expected: FAIL

View file

@ -1,7 +0,0 @@
[toggleEvent.html]
[Calling open twice on 'details' fires only one toggle event]
expected: FAIL
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
expected: FAIL

View file

@ -9,6 +9,3 @@
[document.open should throw an InvalidStateError with XML document even when the ignore-opens-during-unload counter is greater than 0 (during pagehide event)] [document.open should throw an InvalidStateError with XML document even when the ignore-opens-during-unload counter is greater than 0 (during pagehide event)]
expected: FAIL expected: FAIL
[document.open should throw an InvalidStateError with XML document even when there is an active parser executing script]
expected: FAIL

View file

@ -1,283 +0,0 @@
[limited-quirks.html]
[top: -\\31 .5]
expected: FAIL
[bottom: -1A]
expected: FAIL
[bottom: -1a]
expected: FAIL
[top: @1]
expected: FAIL
[top: "1a"]
expected: FAIL
[top: @a]
expected: FAIL
[bottom: "1"]
expected: FAIL
[bottom: -/**/1]
expected: FAIL
[top: +/**/1]
expected: FAIL
[bottom: @1a]
expected: FAIL
[top: 1\\31 ]
expected: FAIL
[top: url('1')]
expected: FAIL
[bottom: -\\31 ]
expected: FAIL
[top: calc(1)]
expected: FAIL
[top: \\31 ]
expected: FAIL
[bottom: +1\\31 ]
expected: FAIL
[bottom: 1\\31 .5]
expected: FAIL
[bottom: #0001]
expected: FAIL
[top: calc(2 * 2px)]
expected: FAIL
[bottom: 1a]
expected: FAIL
[bottom: A]
expected: FAIL
[bottom: #01]
expected: FAIL
[top: +\\31 .5]
expected: FAIL
[bottom: #1]
expected: FAIL
[top: -/**/1]
expected: FAIL
[bottom: +\\31 .5]
expected: FAIL
[bottom: \\31 ]
expected: FAIL
[bottom: calc(1)]
expected: FAIL
[top: #001]
expected: FAIL
[top: +\\31 ]
expected: FAIL
[bottom: +\\31 ]
expected: FAIL
[top: +1.5]
expected: FAIL
[top: +1\\31 ]
expected: FAIL
[bottom: @a]
expected: FAIL
[bottom: @1]
expected: FAIL
[top: #1]
expected: FAIL
[top: 1a]
expected: FAIL
[bottom: +1a]
expected: FAIL
[bottom: +1A]
expected: FAIL
[bottom: "a"]
expected: FAIL
[top: #00001]
expected: FAIL
[bottom: -1\\31 .5]
expected: FAIL
[top: "1"]
expected: FAIL
[bottom: 1.5]
expected: FAIL
[bottom: -\\31 .5]
expected: FAIL
[bottom: url('1')]
expected: FAIL
[bottom: -1.5]
expected: FAIL
[top: \\31 .5]
expected: FAIL
[bottom: "1a"]
expected: FAIL
[bottom: calc(2 * 2px)]
expected: FAIL
[bottom: +1\\31 .5]
expected: FAIL
[bottom: 1\\31 ]
expected: FAIL
[bottom: +/**/1]
expected: FAIL
[bottom: #00001]
expected: FAIL
[top: url(1)]
expected: FAIL
[bottom: #001]
expected: FAIL
[top: +1\\31 .5]
expected: FAIL
[top: -1a]
expected: FAIL
[top: -1A]
expected: FAIL
[bottom: url(1)]
expected: FAIL
[top: a]
expected: FAIL
[top: A]
expected: FAIL
[top: #000001]
expected: FAIL
[top: 1]
expected: FAIL
[top: 1\\31 .5]
expected: FAIL
[bottom: a]
expected: FAIL
[bottom: 1]
expected: FAIL
[bottom: +1]
expected: FAIL
[bottom: #000001]
expected: FAIL
[bottom: +a]
expected: FAIL
[bottom: +A]
expected: FAIL
[top: 1.5]
expected: FAIL
[top: +A]
expected: FAIL
[top: +a]
expected: FAIL
[top: +1]
expected: FAIL
[top: -1.5]
expected: FAIL
[top: -1\\31 .5]
expected: FAIL
[top: +1a]
expected: FAIL
[top: +1A]
expected: FAIL
[top: @1a]
expected: FAIL
[bottom: \\31 .5]
expected: FAIL
[top: "a"]
expected: FAIL
[top: #01]
expected: FAIL
[bottom: +1.5]
expected: FAIL
[bottom: -A]
expected: FAIL
[bottom: -a]
expected: FAIL
[bottom: -1\\31 ]
expected: FAIL
[top: #0001]
expected: FAIL
[bottom: -1]
expected: FAIL
[top: -\\31 ]
expected: FAIL
[top: -A]
expected: FAIL
[top: -a]
expected: FAIL
[top: -1]
expected: FAIL
[top: -1\\31 ]
expected: FAIL

View file

@ -1,283 +0,0 @@
[no-quirks.html]
[top: -\\31 .5]
expected: FAIL
[bottom: -1A]
expected: FAIL
[bottom: -1a]
expected: FAIL
[top: @1]
expected: FAIL
[top: "1a"]
expected: FAIL
[top: @a]
expected: FAIL
[bottom: "1"]
expected: FAIL
[bottom: -/**/1]
expected: FAIL
[top: +/**/1]
expected: FAIL
[bottom: @1a]
expected: FAIL
[top: 1\\31 ]
expected: FAIL
[top: url('1')]
expected: FAIL
[bottom: -\\31 ]
expected: FAIL
[top: calc(1)]
expected: FAIL
[top: \\31 ]
expected: FAIL
[bottom: +1\\31 ]
expected: FAIL
[bottom: 1\\31 .5]
expected: FAIL
[bottom: #0001]
expected: FAIL
[top: calc(2 * 2px)]
expected: FAIL
[bottom: 1a]
expected: FAIL
[bottom: A]
expected: FAIL
[bottom: #01]
expected: FAIL
[top: +\\31 .5]
expected: FAIL
[bottom: #1]
expected: FAIL
[top: -/**/1]
expected: FAIL
[bottom: +\\31 .5]
expected: FAIL
[bottom: \\31 ]
expected: FAIL
[bottom: calc(1)]
expected: FAIL
[top: #001]
expected: FAIL
[top: +\\31 ]
expected: FAIL
[bottom: +\\31 ]
expected: FAIL
[top: +1.5]
expected: FAIL
[top: +1\\31 ]
expected: FAIL
[bottom: @a]
expected: FAIL
[bottom: @1]
expected: FAIL
[top: #1]
expected: FAIL
[top: 1a]
expected: FAIL
[bottom: +1a]
expected: FAIL
[bottom: +1A]
expected: FAIL
[bottom: "a"]
expected: FAIL
[top: #00001]
expected: FAIL
[bottom: -1\\31 .5]
expected: FAIL
[top: "1"]
expected: FAIL
[bottom: 1.5]
expected: FAIL
[bottom: -\\31 .5]
expected: FAIL
[bottom: url('1')]
expected: FAIL
[bottom: -1.5]
expected: FAIL
[top: \\31 .5]
expected: FAIL
[bottom: "1a"]
expected: FAIL
[bottom: calc(2 * 2px)]
expected: FAIL
[bottom: +1\\31 .5]
expected: FAIL
[bottom: 1\\31 ]
expected: FAIL
[bottom: +/**/1]
expected: FAIL
[bottom: #00001]
expected: FAIL
[top: url(1)]
expected: FAIL
[bottom: #001]
expected: FAIL
[top: +1\\31 .5]
expected: FAIL
[top: -1a]
expected: FAIL
[top: -1A]
expected: FAIL
[bottom: url(1)]
expected: FAIL
[top: a]
expected: FAIL
[top: A]
expected: FAIL
[top: #000001]
expected: FAIL
[top: 1]
expected: FAIL
[top: 1\\31 .5]
expected: FAIL
[bottom: a]
expected: FAIL
[bottom: 1]
expected: FAIL
[bottom: +1]
expected: FAIL
[bottom: #000001]
expected: FAIL
[bottom: +a]
expected: FAIL
[bottom: +A]
expected: FAIL
[top: 1.5]
expected: FAIL
[top: +A]
expected: FAIL
[top: +a]
expected: FAIL
[top: +1]
expected: FAIL
[top: -1.5]
expected: FAIL
[top: -1\\31 .5]
expected: FAIL
[top: +1a]
expected: FAIL
[top: +1A]
expected: FAIL
[top: @1a]
expected: FAIL
[bottom: \\31 .5]
expected: FAIL
[top: "a"]
expected: FAIL
[top: #01]
expected: FAIL
[bottom: +1.5]
expected: FAIL
[bottom: -A]
expected: FAIL
[bottom: -a]
expected: FAIL
[bottom: -1\\31 ]
expected: FAIL
[top: #0001]
expected: FAIL
[bottom: -1]
expected: FAIL
[top: -\\31 ]
expected: FAIL
[top: -A]
expected: FAIL
[top: -a]
expected: FAIL
[top: -1]
expected: FAIL
[top: -1\\31 ]
expected: FAIL

View file

@ -1,283 +0,0 @@
[quirks.html]
[top: -\\31 .5]
expected: FAIL
[bottom: -1A]
expected: FAIL
[bottom: -1a]
expected: FAIL
[top: @1]
expected: FAIL
[top: "1a"]
expected: FAIL
[top: @a]
expected: FAIL
[bottom: "1"]
expected: FAIL
[bottom: -/**/1]
expected: FAIL
[top: +/**/1]
expected: FAIL
[bottom: @1a]
expected: FAIL
[top: 1\\31 ]
expected: FAIL
[top: url('1')]
expected: FAIL
[bottom: -\\31 ]
expected: FAIL
[top: calc(1)]
expected: FAIL
[top: \\31 ]
expected: FAIL
[bottom: +1\\31 ]
expected: FAIL
[bottom: 1\\31 .5]
expected: FAIL
[bottom: #0001]
expected: FAIL
[top: calc(2 * 2px)]
expected: FAIL
[bottom: 1a]
expected: FAIL
[bottom: A]
expected: FAIL
[bottom: #01]
expected: FAIL
[top: +\\31 .5]
expected: FAIL
[bottom: #1]
expected: FAIL
[top: -/**/1]
expected: FAIL
[bottom: +\\31 .5]
expected: FAIL
[bottom: \\31 ]
expected: FAIL
[bottom: calc(1)]
expected: FAIL
[top: #001]
expected: FAIL
[top: +\\31 ]
expected: FAIL
[bottom: +\\31 ]
expected: FAIL
[top: +1.5]
expected: FAIL
[top: +1\\31 ]
expected: FAIL
[bottom: @a]
expected: FAIL
[bottom: @1]
expected: FAIL
[top: #1]
expected: FAIL
[top: 1a]
expected: FAIL
[bottom: +1a]
expected: FAIL
[bottom: +1A]
expected: FAIL
[bottom: "a"]
expected: FAIL
[top: #00001]
expected: FAIL
[bottom: -1\\31 .5]
expected: FAIL
[top: "1"]
expected: FAIL
[bottom: 1.5]
expected: FAIL
[bottom: -\\31 .5]
expected: FAIL
[bottom: url('1')]
expected: FAIL
[bottom: -1.5]
expected: FAIL
[top: \\31 .5]
expected: FAIL
[bottom: "1a"]
expected: FAIL
[bottom: calc(2 * 2px)]
expected: FAIL
[bottom: +1\\31 .5]
expected: FAIL
[bottom: 1\\31 ]
expected: FAIL
[bottom: +/**/1]
expected: FAIL
[bottom: #00001]
expected: FAIL
[top: url(1)]
expected: FAIL
[bottom: #001]
expected: FAIL
[top: +1\\31 .5]
expected: FAIL
[top: -1a]
expected: FAIL
[top: -1A]
expected: FAIL
[bottom: url(1)]
expected: FAIL
[top: a]
expected: FAIL
[top: A]
expected: FAIL
[top: #000001]
expected: FAIL
[top: 1]
expected: FAIL
[top: 1\\31 .5]
expected: FAIL
[bottom: a]
expected: FAIL
[bottom: 1]
expected: FAIL
[bottom: +1]
expected: FAIL
[bottom: #000001]
expected: FAIL
[bottom: +a]
expected: FAIL
[bottom: +A]
expected: FAIL
[top: 1.5]
expected: FAIL
[top: +A]
expected: FAIL
[top: +a]
expected: FAIL
[top: +1]
expected: FAIL
[top: -1.5]
expected: FAIL
[top: -1\\31 .5]
expected: FAIL
[top: +1a]
expected: FAIL
[top: +1A]
expected: FAIL
[top: @1a]
expected: FAIL
[bottom: \\31 .5]
expected: FAIL
[top: "a"]
expected: FAIL
[top: #01]
expected: FAIL
[bottom: +1.5]
expected: FAIL
[bottom: -A]
expected: FAIL
[bottom: -a]
expected: FAIL
[bottom: -1\\31 ]
expected: FAIL
[top: #0001]
expected: FAIL
[bottom: -1]
expected: FAIL
[top: -\\31 ]
expected: FAIL
[top: -A]
expected: FAIL
[top: -a]
expected: FAIL
[top: -1]
expected: FAIL
[top: -1\\31 ]
expected: FAIL

View file

@ -191,3 +191,6 @@
[HTMLElement interface: attribute ontouchcancel] [HTMLElement interface: attribute ontouchcancel]
expected: FAIL expected: FAIL
[idl_test setup]
expected: FAIL

View file

@ -11,23 +11,29 @@
[response.formData() with input: _charset_=windows-1252&test=%C2x] [response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL expected: FAIL
[request.formData() with input: a=b&c=d&] [response.formData() with input: a&b&c]
expected: FAIL
[response.formData() with input: a=b&c=d]
expected: FAIL expected: FAIL
[urlencoded-parser.any.worker.html] [urlencoded-parser.any.worker.html]
[response.formData() with input: a=b&c=d&]
expected: FAIL
[request.formData() with input: a=b&c=d] [request.formData() with input: a=b&c=d]
expected: FAIL expected: FAIL
[request.formData() with input: a=b&c=d&] [request.formData() with input: a=b&c=d&]
expected: FAIL expected: FAIL
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: a&b&c] [request.formData() with input: a&b&c]
expected: FAIL expected: FAIL
[request.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: a=b&c=d]
expected: FAIL

View file

@ -25,7 +25,7 @@
</style> </style>
</head> </head>
<body> <body>
<p>Test passes if there is a wide and thin horizontal black line and <strong>no red</strong></p> <p>Test passes if there is a wide and thin horizontal black line and <strong>no red</strong>.</p>
<div id="wrapper"> <div id="wrapper">
<div id="test"></div> <div id="test"></div>
</div> </div>

View file

@ -22,7 +22,7 @@
<body> <body>
<p>Test passes if there is a green stripe and <strong>no red</strong></p> <p>Test passes if there is a green stripe and <strong>no red</strong>.</p>
<p><a>&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <p><a>&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</a></p> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</a></p>

View file

@ -22,7 +22,7 @@
<body> <body>
<p>Test passes if there is a green bar across the page and <strong>no red</strong></p> <p>Test passes if there is a green bar across the page and <strong>no red</strong>.</p>
<form action=""> <form action="">
<p>&nbsp;</p> <p>&nbsp;</p>

View file

@ -29,7 +29,7 @@
<body> <body>
<p>Test passes if there is a green square and <strong>no red</strong></p> <p>Test passes if there is a green square and <strong>no red</strong>.</p>
<form action=""> <form action="">
<p><input></input></p> <p><input></input></p>

View file

@ -29,7 +29,7 @@
<body> <body>
<p>Test passes if there is a green square and <strong>no red</strong></p> <p>Test passes if there is a green square and <strong>no red</strong>.</p>
<form action=""> <form action="">
<p><button>&nbsp;</button></p> <p><button>&nbsp;</button></p>

View file

@ -0,0 +1,18 @@
<!doctype html>
<title>CSS Conditional Test: @supports selector() with pseudo-elements.</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" href="https://mozilla.org" title="Mozilla">
<link rel="help" href="https://drafts.csswg.org/css-conditional/#at-supports">
<link rel="match" href="at-supports-001-ref.html">
<style>
div {
background-color:red;
height:100px;
width:100px;
}
@supports selector(::before) {
div { background: green };
}
</style>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
<div></div>

View file

@ -0,0 +1,18 @@
<!doctype html>
<title>CSS Conditional Test: @supports selector() with -webkit- unknown pseudo-elements and negation.</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" href="https://mozilla.org" title="Mozilla">
<link rel="help" href="https://drafts.csswg.org/css-conditional/#at-supports">
<link rel="match" href="at-supports-001-ref.html">
<style>
div {
background-color:red;
height:100px;
width:100px;
}
@supports not selector(::-webkit-unknown-pseudo) {
div { background: green };
}
</style>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
<div></div>

View file

@ -0,0 +1,18 @@
<!doctype html>
<title>CSS Conditional Test: @supports selector() with multiple selectors doesn't work.</title>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="author" href="https://mozilla.org" title="Mozilla">
<link rel="help" href="https://drafts.csswg.org/css-conditional/#at-supports">
<link rel="match" href="at-supports-001-ref.html">
<style>
div {
background-color: green;
height: 100px;
width: 100px;
}
@supports selector(div, div) {
div { background: red };
}
</style>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
<div></div>

View file

@ -0,0 +1,41 @@
<!DOCTYPE HTML>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
<meta charset="utf-8">
<title>Reference: display:none on OPTION and OPTGROUP</title>
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
<style>
.none { display:none; }
.contents { display:contents; }
.red { color: red; }
.green { color: green; }
select { -webkit-appearance: none; }
</style>
</head>
<body>
<pre>FAIL if there is any red color</pre>
<optgroup></optgroup>
<optgroup class="contents red"></optgroup>
<optgroup class="contents green" label="optgroup"></optgroup>
<br>
<select class="red" size="4"></select>
<select size="4" class="red"></select>
<select size="4" class="red"></select>
<select size="4" class="red"><optgroup></select>
<select size="4"></select>
<select size="4" class="red"></select>
<select size="4" class="red"></select>
<select size="4" class="red"></select>
</body>
</html>

View file

@ -0,0 +1,48 @@
<!DOCTYPE HTML>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html><head>
<meta charset="utf-8">
<title>CSS Test: display:none on OPTION and OPTGROUP</title>
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
<link rel="help" href="https://drafts.csswg.org/css-display-3/#valdef-display-none">
<link rel="match" href="select-4-option-optgroup-display-none-ref.html">
<style>
.none { display:none; }
.contents { display:contents; }
.red { color: red; }
.green { color: green; }
select { -webkit-appearance: none; }
</style>
</head>
<body>
<pre>FAIL if there is any red color</pre>
<option class="none red">text</option>
<optgroup class="none red">text</optgroup>
<optgroup class="none red"><option>option</option></optgroup>
<optgroup><option class="none red">option</option></optgroup>
<optgroup class="contents red"><option class="none">option</option></optgroup>
<optgroup class="contents green" label="optgroup"><option class="none red">option</option></optgroup>
<optgroup class="none red" label="optgroup"><option class="red">option</option></optgroup>
<br>
<select class="red" size="4">select</select>
<select size="4" class="red"><optgroup class="none" label="optgroup"></select>
<select size="4" class="red"><option class="none">option</select>
<select size="4" class="red"><optgroup><option class="none">option</select>
<select size="4"><optgroup class="none"><option class="green">option</select>
<select size="4" class="red"><optgroup class="none green" label="optgroup"><option>option</select>
<select size="4" class="red"><optgroup class="none"><option class="none">option</select>
<select size="4" class="red"><optgroup class="none green" label="optgroup"><option class="none">option</select>
</body>
</html>

View file

@ -0,0 +1,64 @@
<!DOCTYPE html>
<title>Tests correct handling of min-height: min-content with dynamic changes</title>
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#resolve-flexible-lengths" title="4.5. Implied Minimum Size of Flex Items" />
<link rel="author" title="Google Inc." href="http://www.google.com/">
<link href="support/flexbox.css" rel="stylesheet">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<style>
.container {
height: 300px;
outline: 2px solid black;
}
.inner
{
width: 400px;
flex: 1;
background-color: green;
}
#container2 .flexbox > * { flex-basis: 0; }
#container2 .column > * { flex-basis: auto; }
.container .flexbox { min-height: min-content; }
.container > .flexbox { min-height: 0; }
</style>
<script>
function change() {
var container = document.getElementById('container');
container.offsetHeight;
container.style.height = '80px';
container = document.getElementById('container2');
container.offsetHeight;
container.style.height = '80px';
checkLayout('.container');
}
</script>
<body onload="change()">
<p>Green rectangle should be entirely within the black rectangle</p>
<div id="log"></div>
<div id="container" class="container">
<div class="flexbox column" style="height: 100%;">
<div class="flexbox flex-one">
<div class="flexbox column">
<div class="flexbox column flex-one">
<div class="inner" data-expected-height="80">
</div>
</div>
</div>
</div>
</div>
</div>
<div id="container2" class="container">
<div class="flexbox column" style="height: 100%;">
<div class="flexbox flex-one">
<div class="flexbox column">
<div class="flexbox column flex-one">
<div class="inner" data-expected-height="80">
</div>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-window-screenleft">
<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-window-screentop">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
assert_equals(typeof window.screenLeft, "number", "screenLeft type");
assert_equals(window.screenLeft, window.screenX, "alias of screenX");
}, "screenLeft");
test(() => {
assert_equals(typeof window.screenTop, "number", "screenTop type");
assert_equals(window.screenTop, window.screenY, "alias of screenY");
}, "screenTop");
</script>

View file

@ -35,4 +35,12 @@
assert_equals(CSS.supports("width", "blah"), false, "CSS.supports: two argument form fails for invalid value"); assert_equals(CSS.supports("width", "blah"), false, "CSS.supports: two argument form fails for invalid value");
assert_equals(CSS.supports("--foo", "blah"), true, "CSS.supports: two argument form succeeds for custom property"); assert_equals(CSS.supports("--foo", "blah"), true, "CSS.supports: two argument form succeeds for custom property");
}, "CSS.supports, two argument form"); }, "CSS.supports, two argument form");
test(function () {
assert_equals(CSS.supports("selector(div)"), true, "CSS.supports: selector() function accepts a selector");
assert_equals(CSS.supports("selector(div, div)"), false, "CSS.supports: selector() function doesn't accept a selector list");
assert_equals(CSS.supports("selector(::-webkit-unknown-pseudo-element)"), false, "CSS.supports: selector() function rejects unknown webkit pseudo-elements.");
assert_equals(CSS.supports("selector(::before)"), true, "CSS.supports: selector() function accepts known pseudo-elements");
assert_equals(CSS.supports("selector(div + .c)"), true, "CSS.supports: selector() with simple combinators");
assert_equals(CSS.supports("selector(div | .c)"), false, "CSS.supports: selector() with unknown combinators");
}, "CSS.supports, selector function");
</script> </script>

View file

@ -12,7 +12,7 @@ To run Safari on macOS, some manual setup is required:
* Trust the certificate: * Trust the certificate:
`security add-trusted-cert -k "$(security default-keychain | cut -d\" -f2)" tools/certs/cacert.pem` `security add-trusted-cert -k "$(security default-keychain | cut -d\" -f2)" tools/certs/cacert.pem`
* Set `OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES` in your environment. This is a * Set `no_proxy='*'` in your environment. This is a
workaround for a known workaround for a known
[macOS High Sierra issue](https://github.com/web-platform-tests/wpt/issues/9007). [macOS High Sierra issue](https://github.com/web-platform-tests/wpt/issues/9007).

View file

@ -2,17 +2,17 @@
var browserTests = [ var browserTests = [
['<div contenteditable="true"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>', ['<div contenteditable="true"><table><tr><td>[fsdf]</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>',
[["insertOrderedList",""]], [["insertOrderedList",""]],
'<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf<br></li></ol></td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>', '<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf</li></ol></td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>',
[true], [true],
{"insertOrderedList":[false,false,"false",false,true,"true"]}], {"insertOrderedList":[false,false,"false",false,true,"true"]}],
['<div contenteditable="true"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>', ['<div contenteditable="true"><table><tr data-start=0 data-end=2><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>',
[["insertOrderedList",""]], [["insertOrderedList",""]],
'<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf<br></li></ol></td><td><ol><li>fsdf<br></li></ol></td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>', '<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf</li></ol></td><td><ol><li>fsdf</li></ol></td></tr><tr><td>gghfg</td><td>fsfg</td></tr></tbody></table></div>',
[true], [true],
{"insertOrderedList":[false,false,"false",false,false,"false"]}], {"insertOrderedList":[false,false,"false",false,false,"false"]}],
['<div contenteditable="true"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>', ['<div contenteditable="true"><table><tr data-start=0><td>fsdf</td><td>fsdf</td></tr><tr data-end=2><td>gghfg</td><td>fsfg</td></tr></table></div>',
[["insertOrderedList",""]], [["insertOrderedList",""]],
'<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf<br></li></ol></td><td><ol><li>fsdf<br></li></ol></td></tr><tr><td><ol><li>gghfg<br></li></ol></td><td><ol><li>fsfg<br></li></ol></td></tr></tbody></table></div>', '<div contenteditable="true"><table><tbody><tr><td><ol><li>fsdf</li></ol></td><td><ol><li>fsdf</li></ol></td></tr><tr><td><ol><li>gghfg</li></ol></td><td><ol><li>fsfg</li></ol></td></tr></tbody></table></div>',
[true], [true],
{"insertOrderedList":[false,false,"false",false,false,"false"]}], {"insertOrderedList":[false,false,"false",false,false,"false"]}],
['<div contenteditable="true"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>', ['<div contenteditable="true"><table data-start=0 data-end=1><tr><td>fsdf</td><td>fsdf</td></tr><tr><td>gghfg</td><td>fsfg</td></tr></table></div>',

View file

@ -674,5 +674,20 @@ var browserTests = [
[["defaultparagraphseparator","p"],["insertorderedlist",""]], [["defaultparagraphseparator","p"],["insertorderedlist",""]],
"<ol><li>foo</li> <li>[bar]</li> <li>baz</li></ol>", "<ol><li>foo</li> <li>[bar]</li> <li>baz</li></ol>",
[true,true], [true,true],
{"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}] {"defaultparagraphseparator":[false,false,"div",false,false,"p"],"insertorderedlist":[false,false,"",false,true,""]}],
["<div><span style='font-family: times; color: blue'>[bar]</span></div>",
[["insertorderedlist",""]],
"<ol><li><span style=\"font-family:times; color:rgb(0, 0, 255)\">[bar]</span></li></ol>",
[true],
{"insertorderedlist":[false,false,"false",false,true,"true"]}],
["<div><span style='font-family: times; color: blue'>bar</span></div><span style='font-family: italic; color: green'>[baz]</span>",
[["insertorderedlist",""]],
"<div><span style=\"font-family:times; color:rgb(0, 0, 255)\">bar</span></div><ol><li><span style=\"font-family:italic; color:rgb(0, 128, 0)\">[baz]</span></li></ol>",
[true],
{"insertorderedlist":[false,false,"false",false,true,"true"]}],
["<div><ol style='font-family: times; color: blue'><li>bar</li></ol><span style='font-family: italic; color: green'>[baz]</span></div>",
[["insertorderedlist",""]],
"<ol style=\"font-family:times; color:rgb(0, 0, 255)\"><li>bar</li><li><span style=\"font-family:italic; color:rgb(0, 128, 0)\">[baz]</span></li></ol>",
[true],
{"insertorderedlist":[false,false,"false",false,true,"true"]}],
] ]

View file

@ -1 +1 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 

View file

@ -1 +1 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 

View file

@ -9,7 +9,7 @@
.then(j => { .then(j => {
assert_header_equals(j.header, { assert_header_equals(j.header, {
"cause": undefined, "cause": undefined,
"destination": "", "destination": "empty",
"site": "same-origin" "site": "same-origin"
}); });
}); });
@ -21,7 +21,7 @@
.then(j => { .then(j => {
assert_header_equals(j.header, { assert_header_equals(j.header, {
"cause": undefined, "cause": undefined,
"destination": "", "destination": "empty",
"site": "same-site" "site": "same-site"
}); });
}); });
@ -33,7 +33,7 @@
.then(j => { .then(j => {
assert_header_equals(j.header, { assert_header_equals(j.header, {
"cause": undefined, "cause": undefined,
"destination": "", "destination": "empty",
"site": "cross-site" "site": "cross-site"
}); });
}); });

View file

@ -6,30 +6,26 @@
<link id="style" href="https://foo.bar" rel="stylesheet"> <link id="style" href="https://foo.bar" rel="stylesheet">
<body></body> <body></body>
<script> <script>
let counter = 0; function generate_test(expected, name) {
document.addEventListener("securitypolicyviolation", (e) => { async_test(t => {
counter++; t.step_timeout(_ => {
if (counter == 3) { return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=report-" + name)
promise_test(t => {
expected = {"destination":"report", "site":"same-origin"};
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=report-same-origin")
.then(response => response.text()) .then(response => response.text())
.then(text => assert_header_equals(text, expected)); .then(text => assert_header_equals(text, expected))
}, "Same-Origin report"); .then(_ => t.done());
}, 1000);
}, name + " report");
}
promise_test(t => { test(_ => {
expected = {"destination":"report", "site":"same-site"}; let counter = 0;
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=report-same-site") document.addEventListener("securitypolicyviolation", (e) => {
.then(response => response.text()) counter++;
.then(text => assert_header_equals(text, expected)); if (counter == 3) {
}, "Same-site report"); generate_test({"destination":"report", "site":"same-origin"}, "same-origin");
generate_test({"destination":"report", "site":"same-site"}, "same-site");
promise_test(t => { generate_test({"destination":"report", "site":"cross-site"}, "cross-site");
expected = {"destination":"report", "site":"cross-site"}; }
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=report-cross-site") });
.then(response => response.text()) }, "Initialization.");
.then(text => assert_header_equals(text, expected));
}, "Cross-site report");
}
});
</script> </script>

View file

@ -2,7 +2,6 @@ function parse_metadata(value) {
let result = {}; let result = {};
value.split(',').forEach(item => { value.split(',').forEach(item => {
let parsed = item.trim().split('='); let parsed = item.trim().split('=');
parsed[1] = parsed[1].trim().replace(/^"|"$/g, '');
result[parsed[0]] = parsed[1]; result[parsed[0]] = parsed[1];
}); });
return result; return result;

View file

@ -35,9 +35,9 @@ test(function() {
testExecCommandInputType('insertText', 'bc', 'insertText'); testExecCommandInputType('insertText', 'bc', 'insertText');
assert_equals(txt.innerHTML, 'abc'); assert_equals(txt.innerHTML, 'abc');
testExecCommandInputType('insertOrderedList', null, 'insertOrderedList'); testExecCommandInputType('insertOrderedList', null, 'insertOrderedList');
assert_equals(txt.innerHTML, '<ol><li>abc<br></li></ol>'); assert_equals(txt.innerHTML, '<ol><li>abc</li></ol>');
testExecCommandInputType('insertUnorderedList', null, 'insertUnorderedList'); testExecCommandInputType('insertUnorderedList', null, 'insertUnorderedList');
assert_equals(txt.innerHTML, '<ul><li>abc<br></li></ul>'); assert_equals(txt.innerHTML, '<ul><li>abc</li></ul>');
testExecCommandInputType('insertLineBreak', null, 'insertLineBreak'); testExecCommandInputType('insertLineBreak', null, 'insertLineBreak');
testExecCommandInputType('insertParagraph', null, 'insertParagraph'); testExecCommandInputType('insertParagraph', null, 'insertParagraph');

View file

@ -23,12 +23,12 @@ enum EffectiveConnectionType {
}; };
[NoInterfaceObject, Exposed=(Window,Worker)] [NoInterfaceObject, Exposed=(Window,Worker)]
interface NavigatorNetworkInformation { interface NavigatorNetworkInformation {
readonly attribute NetworkInformation connection; readonly attribute NetworkInformation connection;
}; };
Navigator implements NavigatorNetworkInformation; Navigator implements NavigatorNetworkInformation;
WorkerNavigator implements NavigatorNetworkInformation; WorkerNavigator implements NavigatorNetworkInformation;
[Exposed=(Window,Worker)] [Exposed=(Window,Worker)]
interface NetworkInformation : EventTarget { interface NetworkInformation : EventTarget {

View file

@ -52,5 +52,5 @@ interface CrashReportBody : ReportBody {
dictionary GenerateTestReportParameters { dictionary GenerateTestReportParameters {
required DOMString message; required DOMString message;
DOMString group; DOMString group = "default";
}; };

View file

@ -73,10 +73,3 @@ partial interface GlobalEventHandlers {
attribute EventHandler ontouchmove; attribute EventHandler ontouchmove;
attribute EventHandler ontouchcancel; attribute EventHandler ontouchcancel;
}; };
partial interface Document {
// Deprecated in this specification
Touch createTouch(WindowProxy view, EventTarget target, long identifier, double pageX, double pageY, double screenX, double screenY);
// Deprecated in this specification
TouchList createTouchList(Touch... touches);
};

View file

@ -1,77 +0,0 @@
<!doctype html>
<meta charset="utf8">
<link rel="help" href="https://w3c.github.io/payment-request/#dom-paymentitem-type">
<title>
PaymentItem type member
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
const validMethods = [
{ supportedMethods: "basic-card" },
{ supportedMethods: "https://apple.com/apple-pay" },
];
const validTotal = {
label: "Total",
amount: {
currency: "USD",
value: "5.00",
},
};
const validDisplayItem = {
label: "Item",
amount: {
currency: "USD",
value: "1.00",
},
};
const validDetails = {
total: validTotal,
displayItems: [validDisplayItem],
};
test(() => {
new PaymentRequest(validMethods, validDetails);
}, "Smoke test");
test(() => {
// Let's make an invalid DisplayItem for the total
const invalidTotal = Object.assign({}, validTotal, {
type: "this is not valid",
});
const invalidDetails = Object.assign({}, validDetails, {
total: invalidTotal,
});
assert_throws(new TypeError(), () => {
new PaymentRequest(validMethods, invalidDetails);
});
}, "An invalid enum value for PaymentDetailsInit.total's type throws TypeError");
test(() => {
// Let's make an invalid DisplayItem to add to displayItems
const invalidDisplayItem = Object.assign({}, validDisplayItem, {
type: "this is not valid",
});
const invalidDetails = Object.assign({}, validDetails, {
displayItems: [invalidDisplayItem, validDisplayItem],
});
assert_throws(new TypeError(), () => {
new PaymentRequest(validMethods, invalidDetails);
});
}, "Invalid enum value for PaymentItem.type member throws a TypeError");
test(() => {
// Let's make an invalid DisplayItem to add to displayItems
const taxDisplayItem = Object.assign({}, validDisplayItem, { type: "tax" });
const taxTotal = Object.assign({}, validTotal, { type: "tax" });
const validDetailsWithType = Object.assign({}, validDetails, {
total: taxTotal,
displayItems: [taxDisplayItem],
});
try {
new PaymentRequest(validMethods, validDetailsWithType);
} catch (err) {
assert_unexpected(err.message);
}
}, "Valid enum values for PaymentItem.type member does not throw");
</script>

View file

@ -4,6 +4,7 @@ import os
import ssl import ssl
import html5lib import html5lib
import py
import pytest import pytest
from selenium import webdriver from selenium import webdriver
from six import text_type from six import text_type
@ -16,9 +17,11 @@ WPT_ROOT = os.path.normpath(os.path.join(HERE, '..', '..'))
HARNESS = os.path.join(HERE, 'harness.html') HARNESS = os.path.join(HERE, 'harness.html')
TEST_TYPES = ('functional', 'unit') TEST_TYPES = ('functional', 'unit')
def pytest_addoption(parser): def pytest_addoption(parser):
parser.addoption("--binary", action="store", default=None, help="path to browser binary") parser.addoption("--binary", action="store", default=None, help="path to browser binary")
def pytest_collect_file(path, parent): def pytest_collect_file(path, parent):
if path.ext.lower() != '.html': if path.ext.lower() != '.html':
return return
@ -28,6 +31,7 @@ def pytest_collect_file(path, parent):
return HTMLItem(str(path), test_type, parent) return HTMLItem(str(path), test_type, parent)
def pytest_configure(config): def pytest_configure(config):
config.driver = webdriver.Firefox(firefox_binary=config.getoption("--binary")) config.driver = webdriver.Firefox(firefox_binary=config.getoption("--binary"))
config.add_cleanup(config.driver.quit) config.add_cleanup(config.driver.quit)
@ -46,6 +50,7 @@ def pytest_configure(config):
config.ssl_context = ssl._create_unverified_context() config.ssl_context = ssl._create_unverified_context()
config.add_cleanup(config.server.stop) config.add_cleanup(config.server.stop)
def resolve_uri(context, uri): def resolve_uri(context, uri):
if uri.startswith('/'): if uri.startswith('/'):
base = WPT_ROOT base = WPT_ROOT
@ -56,6 +61,7 @@ def resolve_uri(context, uri):
return os.path.exists(os.path.join(base, path)) return os.path.exists(os.path.join(base, path))
class HTMLItem(pytest.Item, pytest.Collector): class HTMLItem(pytest.Item, pytest.Collector):
def __init__(self, filename, test_type, parent): def __init__(self, filename, test_type, parent):
self.url = parent.session.config.server.url(filename) self.url = parent.session.config.server.url(filename)
@ -116,7 +122,7 @@ class HTMLItem(pytest.Item, pytest.Collector):
# This cannot use super(HTMLItem, self).__init__(..) because only the # This cannot use super(HTMLItem, self).__init__(..) because only the
# Collector constructor takes the fspath argument. # Collector constructor takes the fspath argument.
pytest.Item.__init__(self, name, parent) pytest.Item.__init__(self, name, parent)
pytest.Collector.__init__(self, name, parent, fspath=filename) pytest.Collector.__init__(self, name, parent, fspath=py.path.local(filename))
def reportinfo(self): def reportinfo(self):

View file

@ -6,19 +6,6 @@
<script> <script>
'use strict'; 'use strict';
// Constraint parameter has a default value of {audio:false, video: false}.
promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator.getDisplayMedia()
.then(function(s) {
fail('getDisplayMedia should have failed');
})
.catch(function(e) {
assert_equals(e.name, 'TypeError');
});
}, 'getDisplayMedia() with no constraints');
promise_test(function() { promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia'); assert_idl_attribute(navigator, 'getDisplayMedia');
@ -28,18 +15,35 @@ promise_test(function() {
}); });
}, 'getDisplayMedia() with video true'); }, 'getDisplayMedia() with video true');
// Empty constraint parameter and boolean values of false defaults to
// {video: true}.
promise_test(function() { promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia'); assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator.getDisplayMedia({video: false}) return navigator.getDisplayMedia().then(function(s) {
.then(function(s) { assert_equals(s.getVideoTracks().length, 1);
fail('getDisplayMedia should have failed'); assert_equals(s.getAudioTracks().length, 0);
}) });
.catch(function(e) { }, 'getDisplayMedia() with no constraints');
assert_equals(e.name, 'TypeError');
}); promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator.getDisplayMedia({video: false}).then(function(s) {
assert_equals(s.getVideoTracks().length, 1);
assert_equals(s.getAudioTracks().length, 0);
});
}, 'getDisplayMedia() with video false'); }, 'getDisplayMedia() with video false');
promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator.getDisplayMedia({audio: false}).then(function(s) {
assert_equals(s.getVideoTracks().length, 1);
assert_equals(s.getAudioTracks().length, 0);
});
}, 'getDisplayMedia() with audio false');
promise_test(function() { promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia'); assert_idl_attribute(navigator, 'getDisplayMedia');
@ -52,27 +56,52 @@ promise_test(function() {
promise_test(function() { promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia'); assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator.getDisplayMedia({audio: false}) return navigator
.getDisplayMedia({video: {advanced: [{zoom: 1}]}})
.then(function(s) { .then(function(s) {
fail('getDisplayMedia should have failed'); fail('getDisplayMedia should have failed');
}) })
.catch(function(e) { .catch(function(e) {
assert_equals(e.name, 'TypeError'); assert_equals(e.name, 'TypeError');
}); });
}, 'getDisplayMedia() with audio false'); }, 'getDisplayMedia() call with advanced constraint');
promise_test(function() { promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia'); assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator return navigator
.getDisplayMedia({audio: false, video: {width: 1280, height: 720}}) .getDisplayMedia({video: {width: {min: 360}}})
.then(function(s) { .then(function(s) {
fail('getDisplayMedia should have failed'); fail('getDisplayMedia should have failed');
}) })
.catch(function(e) { .catch(function(e) {
assert_equals(e.name, 'InvalidAccessError'); assert_equals(e.name, 'TypeError');
}); });
}, 'getDisplayMedia() call with non-bool constraint'); }, 'getDisplayMedia() call with min constraint');
promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator
.getDisplayMedia({video: {width: {exact: 360}}})
.then(function(s) {
fail('getDisplayMedia should have failed');
})
.catch(function(e) {
assert_equals(e.name, 'TypeError');
});
}, 'getDisplayMedia() call with exact constraint');
promise_test(function() {
assert_idl_attribute(navigator, 'getDisplayMedia');
return navigator
.getDisplayMedia({video: {width: {max: 360}}})
.then(function(s) {
assert_equals(s.getVideoTracks().length, 1);
assert_equals(s.getAudioTracks().length, 0);
});
}, 'getDisplayMedia() call with max constraint');
// Content shell picks a fake desktop device by default. // Content shell picks a fake desktop device by default.
promise_test(function() { promise_test(function() {

View file

@ -31,10 +31,12 @@ def find_wptreport(args):
return parser.parse_known_args(args)[0].log_wptreport return parser.parse_known_args(args)[0].log_wptreport
def gzip_file(filename): def gzip_file(filename, delete_original=True):
with open(filename, 'rb') as f_in: with open(filename, 'rb') as f_in:
with gzip.open('%s.gz' % filename, 'wb') as f_out: with gzip.open('%s.gz' % filename, 'wb') as f_out:
shutil.copyfileobj(f_in, f_out) shutil.copyfileobj(f_in, f_out)
if delete_original:
os.unlink(filename)
def main(product, commit_range, wpt_args): def main(product, commit_range, wpt_args):
@ -67,9 +69,8 @@ def main(product, commit_range, wpt_args):
logger.info("Running all tests") logger.info("Running all tests")
wpt_args += [ wpt_args += [
"--log-tbpl=../artifacts/log_tbpl.log",
"--log-tbpl-level=info", "--log-tbpl-level=info",
"--log-mach=-", "--log-tbpl=-",
"-y", "-y",
"--no-pause", "--no-pause",
"--no-restart-on-unexpected", "--no-restart-on-unexpected",

View file

@ -264,7 +264,7 @@ class Firefox(Browser):
dest = os.path.join(dest, "profiles", channel) dest = os.path.join(dest, "profiles", channel)
if version: if version:
dest = dest.join(version) dest = os.path.join(dest, version)
have_cache = False have_cache = False
if os.path.exists(dest): if os.path.exists(dest):
if channel != "nightly": if channel != "nightly":
@ -711,11 +711,15 @@ class Servo(Browser):
def version(self, binary): def version(self, binary):
"""Retrieve the release version of the installed browser.""" """Retrieve the release version of the installed browser."""
output = call(binary, "--version") output = call(binary, "--version")
m = re.search(r"[0-9\.]+( [a-z]+)?$", output.strip()) m = re.search(r"Servo ([0-9\.]+-[a-f0-9]+)?(-dirty)?$", output.strip())
if m: if m:
return m.group(0) return m.group(0)
class ServoWebDriver(Servo):
product = "servodriver"
class Sauce(Browser): class Sauce(Browser):
"""Sauce-specific interface.""" """Sauce-specific interface."""

View file

@ -414,6 +414,11 @@ class Servo(BrowserSetup):
kwargs["binary"] = binary kwargs["binary"] = binary
class ServoWebDriver(Servo):
name = "servodriver"
browser_cls = browser.ServoWebDriver
class WebKit(BrowserSetup): class WebKit(BrowserSetup):
name = "webkit" name = "webkit"
browser_cls = browser.WebKit browser_cls = browser.WebKit
@ -436,7 +441,7 @@ product_setup = {
"safari": Safari, "safari": Safari,
"safari_webdriver": SafariWebDriver, "safari_webdriver": SafariWebDriver,
"servo": Servo, "servo": Servo,
"servodriver": Servo, "servodriver": ServoWebDriver,
"sauce": Sauce, "sauce": Sauce,
"opera": Opera, "opera": Opera,
"webkit": WebKit, "webkit": WebKit,
@ -482,7 +487,7 @@ def setup_wptrunner(venv, prompt=True, install_browser=False, **kwargs):
if channel != kwargs["channel"]: if channel != kwargs["channel"]:
logger.info("Interpreting channel '%s' as '%s'" % (kwargs["channel"], logger.info("Interpreting channel '%s' as '%s'" % (kwargs["channel"],
channel)) channel))
kwargs["browser_channel"] = channel kwargs["browser_channel"] = channel
else: else:
logger.info("Valid channels for %s not known; using argument unmodified" % kwargs["product"]) logger.info("Valid channels for %s not known; using argument unmodified" % kwargs["product"])
del kwargs["channel"] del kwargs["channel"]

View file

@ -4,7 +4,7 @@ import tempfile
from mozprocess import ProcessHandler from mozprocess import ProcessHandler
from serve.serve import make_hosts_file from tools.serve.serve import make_hosts_file
from .base import Browser, require_arg, get_free_port, browser_command, ExecutorBrowser from .base import Browser, require_arg, get_free_port, browser_command, ExecutorBrowser
from ..executors import executor_kwargs as base_executor_kwargs from ..executors import executor_kwargs as base_executor_kwargs