mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Update web-platform-tests to revision 60ad712df2130b21908c4a055abf241d68ba9647
This commit is contained in:
parent
ccc4149b30
commit
03d8b09382
46 changed files with 1257 additions and 139 deletions
|
@ -37,3 +37,6 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -136969,6 +136969,30 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/border-collapse-double-border.html": [
|
||||
[
|
||||
"/css/css-tables/border-collapse-double-border.html",
|
||||
[
|
||||
[
|
||||
"/css/css-tables/border-collapse-double-border-notref.html",
|
||||
"!="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/border-conflict-resolution.html": [
|
||||
[
|
||||
"/css/css-tables/border-conflict-resolution.html",
|
||||
[
|
||||
[
|
||||
"/css/css-tables/border-conflict-resolution-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/fixup-dynamic-anonymous-inline-table-001.html": [
|
||||
[
|
||||
"/css/css-tables/fixup-dynamic-anonymous-inline-table-001.html",
|
||||
|
@ -269819,6 +269843,16 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/border-collapse-double-border-notref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/border-conflict-resolution-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/floats/floats-wrap-bfc-006b-ref.xht": [
|
||||
[
|
||||
{}
|
||||
|
@ -322214,6 +322248,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/new_window/__init__.py": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/perform_actions/__init__.py": [
|
||||
[
|
||||
{}
|
||||
|
@ -345913,6 +345952,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/clamp-negative-overflow.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/clamp-negative-overflow.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/clipped-scrollers-skipped.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/clipped-scrollers-skipped.html",
|
||||
|
@ -345943,6 +345988,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/exclude-sticky.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/exclude-sticky.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/heuristic-with-offset-update.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/heuristic-with-offset-update.html",
|
||||
|
@ -345961,6 +346012,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/multicol-fragmented-anchor.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/multicol-fragmented-anchor.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/negative-layout-overflow.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/negative-layout-overflow.html",
|
||||
|
@ -345979,6 +346036,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out-inner-table.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/opt-out-inner-table.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out-table.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/opt-out-table.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out.html": [
|
||||
[
|
||||
"/css/css-scroll-anchoring/opt-out.html",
|
||||
|
@ -347179,6 +347248,96 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-computed.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-collapse-computed.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-invalid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-collapse-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-valid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-collapse-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-computed.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-spacing-computed.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-invalid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-spacing-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-valid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/border-spacing-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-computed.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/caption-side-computed.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-invalid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/caption-side-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-valid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/caption-side-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-computed.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/empty-cells-computed.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-invalid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/empty-cells-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-valid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/empty-cells-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-computed.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/table-layout-computed.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-invalid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/table-layout-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-valid.html": [
|
||||
[
|
||||
"/css/css-tables/parsing/table-layout-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-tables/percent-width-ignored-001.tentative.html": [
|
||||
[
|
||||
"/css/css-tables/percent-width-ignored-001.tentative.html",
|
||||
|
@ -445811,6 +445970,32 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/new_window/new.py": [
|
||||
[
|
||||
"/webdriver/tests/new_window/new.py",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/new_window/new_tab.py": [
|
||||
[
|
||||
"/webdriver/tests/new_window/new_tab.py",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/new_window/new_window.py": [
|
||||
[
|
||||
"/webdriver/tests/new_window/new_window.py",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/new_window/user_prompts.py": [
|
||||
[
|
||||
"/webdriver/tests/new_window/user_prompts.py",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/perform_actions/key.py": [
|
||||
[
|
||||
"/webdriver/tests/perform_actions/key.py",
|
||||
|
@ -570236,6 +570421,10 @@
|
|||
"2c46c28dc2190592d242c3260ea5cc28415c16c0",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/clamp-negative-overflow.html": [
|
||||
"4f0b5fe9a26766b566672d9b8f9174bcb6857a3d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/clipped-scrollers-skipped.html": [
|
||||
"594cd604f4c5e52afa75894d45931150d0b56b0d",
|
||||
"testharness"
|
||||
|
@ -570256,6 +570445,10 @@
|
|||
"cea6b61dfe8b60754f656c860fe4d6f2dfff0c18",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/exclude-sticky.html": [
|
||||
"2158d39802969be102ff9a20e256a3ae78acb51d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/heuristic-with-offset-update.html": [
|
||||
"7fcbd983ed569025e5f46fe69002ca91e86fd21a",
|
||||
"testharness"
|
||||
|
@ -570268,6 +570461,10 @@
|
|||
"fa7655bcd8afce189368ac412e094f98ccebbdca",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/multicol-fragmented-anchor.html": [
|
||||
"931a88ccbfd261487b2233f0b6292f9c1e2e16e6",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/negative-layout-overflow.html": [
|
||||
"e1ce331f1affaf15e312f2c720a38acaa11b60a5",
|
||||
"testharness"
|
||||
|
@ -570280,6 +570477,14 @@
|
|||
"ec548dc3d65bf3237039924ccdb0347a765f1c46",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out-inner-table.html": [
|
||||
"d5ec0738212f42bd0c01823a115bd73caf8a8cf4",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out-table.html": [
|
||||
"83cfef97970b24a8cd03534d0060049769d80e29",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/opt-out.html": [
|
||||
"12d46c13f9629472d82a9ffd955d1cf40dbbfe6b",
|
||||
"testharness"
|
||||
|
@ -572348,6 +572553,22 @@
|
|||
"99d2cfc239fb15f26c58bc1da7c258ae3d6d9fbc",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-tables/border-collapse-double-border-notref.html": [
|
||||
"8f4222211d76fb8f6be9cb61a7b9979a3b7b89a7",
|
||||
"support"
|
||||
],
|
||||
"css/css-tables/border-collapse-double-border.html": [
|
||||
"f7a00756e8154300ebdf3073f9b2e0945cb07eb0",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-tables/border-conflict-resolution-ref.html": [
|
||||
"f19032171b8a0d8e33a78c1f53388a19c79b757d",
|
||||
"support"
|
||||
],
|
||||
"css/css-tables/border-conflict-resolution.html": [
|
||||
"7248befef57932b2d849630637051e02b480a361",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-tables/bounding-box-computation-1.html": [
|
||||
"4173f399bd7cfec93733552fb85890231d8da9c9",
|
||||
"testharness"
|
||||
|
@ -572516,6 +572737,66 @@
|
|||
"a8745487b6702b8b8e8ac85bd843014dc296b717",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-computed.html": [
|
||||
"1ad0b6d701a7bbc1b49a9f3d3a34270dbd64ed29",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-invalid.html": [
|
||||
"9b10062f0f35be958818ef70345e4ab9df56258d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/border-collapse-valid.html": [
|
||||
"2dc8ae45a3862ba465711ab57dd8f8f7c1af9bab",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-computed.html": [
|
||||
"384321fa8ed393923a4175a4844d7b624bda2e53",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-invalid.html": [
|
||||
"47fd283ccfb4fabdb73ed0853d3f4942bb54a7c2",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/border-spacing-valid.html": [
|
||||
"98bf402fc6ccd0266908da2d6270e5e4af71f670",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-computed.html": [
|
||||
"ea618891878e195b97374fc460bb02d8c88c0f5c",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-invalid.html": [
|
||||
"1552e4d241f640681862dc76d0e1b0193fc3c889",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/caption-side-valid.html": [
|
||||
"a97683a6f428ad9844f99997c2c6da1156f57304",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-computed.html": [
|
||||
"f8f6663c6603b35beefe3dffab2719fa6fba8ccf",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-invalid.html": [
|
||||
"4b5bf95dcdcbf9bd904510f35e9fc516b782e24a",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/empty-cells-valid.html": [
|
||||
"c3483aafe01d1b4da6ded96f8c66dab39c971a93",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-computed.html": [
|
||||
"53a43151ed576686759a9e87286dc21a9934276d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-invalid.html": [
|
||||
"23a60ca56e75af561cae308e2ce33711a2208c1d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/parsing/table-layout-valid.html": [
|
||||
"bf94ed83693de1e49c7396579c4fecd6ffe88bee",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-tables/percent-width-ignored-001.tentative.html": [
|
||||
"214eee7152b66a4198a2e81d7d62da9a295b5d98",
|
||||
"testharness"
|
||||
|
@ -602321,15 +602602,15 @@
|
|||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-content-vert-001-ref.xhtml": [
|
||||
"f09e2a448da8a5466bffd31d505cd90cbc34fcc2",
|
||||
"ef2a0685f25d84ed8cc1f9272a3c59b3ccb3470b",
|
||||
"support"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-content-vert-001a.xhtml": [
|
||||
"56bdd5fe4020ea641aa0c778fc49b500e4de2b6d",
|
||||
"678b7f5096e94c0c78097407e0cf8ad89a2d893f",
|
||||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-content-vert-001b.xhtml": [
|
||||
"002f20fb3335c7e0cb890dd267f36adeabab4f1b",
|
||||
"faed08350aaec8e20bcad677b71d71f7ea5d0f9b",
|
||||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-align-content-vert-002-ref.xhtml": [
|
||||
|
@ -603125,15 +603406,15 @@
|
|||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-horiz-001-ref.xhtml": [
|
||||
"4619337e75bff1824d83ade9e3926ba592560701",
|
||||
"e3f0276fda17436b653e236b359f5837c9257b40",
|
||||
"support"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-horiz-001a.xhtml": [
|
||||
"37c9db7a3165c22d12328c3294d71b45a8580dba",
|
||||
"494c35bb68703a67ceb6e15817b221ddf488c13a",
|
||||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-horiz-001b.xhtml": [
|
||||
"43c5405647d72d71c10b699e6c390f16b6a0f04a",
|
||||
"468d5150fb33d22e9bf56b23af6b74e87d04dd74",
|
||||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-horiz-002-ref.xhtml": [
|
||||
|
@ -603197,11 +603478,11 @@
|
|||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-vert-003-ref.xhtml": [
|
||||
"a205a6bad6bbb65895e82cf020ad18268e3c8872",
|
||||
"12064db1a5df2dbe82b214d8bc92ee78dcd0b350",
|
||||
"support"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-vert-003.xhtml": [
|
||||
"dd32333e4fb15d51723454af44279db3d7db5896",
|
||||
"8b99455e71590dc294be187f8ebfde6a43d6ed76",
|
||||
"reftest"
|
||||
],
|
||||
"css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-justify-content-vert-004-ref.xhtml": [
|
||||
|
@ -681972,6 +682253,26 @@
|
|||
"4f2652bba86ce67eb6f6e0c42ee4d2e2685f113e",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/new_window/__init__.py": [
|
||||
"e16014597cf88f465e910358c27f72381292bd6d",
|
||||
"support"
|
||||
],
|
||||
"webdriver/tests/new_window/new.py": [
|
||||
"0abdeac614e2d565a4a1c6a4b463a3a08f2721da",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/new_window/new_tab.py": [
|
||||
"fbb249fd78361681fe755f72d14a6879d5725cbf",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/new_window/new_window.py": [
|
||||
"eb4db6729ecaa2c6a8ba92f272c4dee90899e3a2",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/new_window/user_prompts.py": [
|
||||
"0d841468ee48995a4f1b2c71ec7f69adcb37baae",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/perform_actions/__init__.py": [
|
||||
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
||||
"support"
|
||||
|
|
|
@ -509,3 +509,27 @@
|
|||
[display display(static to absolute) / values]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-left-radius border-radius(px-px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-right-radius border-radius(px-px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-right-radius border-radius(px-px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-right-radius border-radius(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-left-radius border-radius(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-left-radius border-radius(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-right-radius border-radius(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-left-radius border-radius(px-px) / events]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -3,3 +3,6 @@
|
|||
[scroll-behavior: smooth on DIV element]
|
||||
expected: FAIL
|
||||
|
||||
[Instant scrolling while doing history navigation.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: CRASH
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -58,100 +57,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: cp1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso88599 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: x-cp1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: windows-1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: windows-1254 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[x-mac-cyrillic: x-mac-ukrainian (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: csisolatin5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: cp1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: x-cp1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: windows-1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: l5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: x-cp1254 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: latin5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: cp1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-ir-148 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: windows-1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: windows-1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: x-cp1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: x-cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: cp1254 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: latin1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1253: cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: x-cp1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: windows-1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: us-ascii (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: cp1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: windows-1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[single-byte-decoder.html?TextDecoder]
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[non-active-document.html]
|
||||
[DOMParser]
|
||||
expected: FAIL
|
||||
|
||||
[createHTMLDocument]
|
||||
expected: FAIL
|
||||
|
||||
[<template>]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[transition_calc_implicit.html]
|
||||
expected: TIMEOUT
|
4
tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini
Normal file
4
tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[paint_timing.html]
|
||||
[Performance entries observer]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
|
||||
<head>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style type="text/css">
|
||||
#scroller {
|
||||
overflow: scroll;
|
||||
width: 500px;
|
||||
height: 500px;
|
||||
}
|
||||
#anchor {
|
||||
position: relative;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin-top: 100px;
|
||||
margin-bottom: 1000px;
|
||||
background-color: blue;
|
||||
}
|
||||
#positioned {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
top: -200px;
|
||||
background-color: yellow;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="scroller">
|
||||
<div id="anchor">
|
||||
<div id="positioned">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
test(() => {
|
||||
let scroller = document.querySelector('#scroller');
|
||||
let positioned = document.querySelector('#positioned');
|
||||
|
||||
// Scroll down to select #anchor as an anchor node
|
||||
scroller.scrollTop = 20;
|
||||
|
||||
// Move #positioned downwards, which will move the unclamped scrollable
|
||||
// overflow rect of #anchor downards as well
|
||||
positioned.style.top = '-180px';
|
||||
// To trigger the bug that this regression tests in Gecko, we need
|
||||
// to not take Gecko's relative positioning fast path. To do
|
||||
// this, change the 'left' of #positioned from 'auto' to '0px'.
|
||||
positioned.style.left = '0px';
|
||||
|
||||
// The implementation should clamp the scrollable overflow rect
|
||||
// before the start-edge of the anchor node, and not apply an
|
||||
// adjustment
|
||||
assert_equals(scroller.scrollTop, 20);
|
||||
}, 'scrollable overflow before the start-edge of the anchor node should be clamped');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 400vh; margin: 0; }
|
||||
#sticky, #content { width: 200px; height: 100px; }
|
||||
#sticky { position: sticky; left: 100px; top: 50px; }
|
||||
#before { height: 50px; }
|
||||
#content { margin-top: 100px; }
|
||||
|
||||
</style>
|
||||
<div id="sticky">sticky</div>
|
||||
<div id="before"></div>
|
||||
<div id="content">content</div>
|
||||
<script>
|
||||
|
||||
// Tests that the anchor selection algorithm skips sticky-positioned elements.
|
||||
|
||||
test(() => {
|
||||
document.scrollingElement.scrollTop = 150;
|
||||
document.querySelector("#before").style.height = "100px";
|
||||
assert_equals(document.scrollingElement.scrollTop, 200);
|
||||
}, "Sticky-positioned headers shouldn't be chosen as scroll anchors (we should use 'content' instead)");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,56 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { margin: 0; }
|
||||
#scroller {
|
||||
overflow: scroll;
|
||||
height: 100px;
|
||||
}
|
||||
#multicol {
|
||||
margin-top: 20px;
|
||||
height: 200px;
|
||||
columns: 2;
|
||||
column-fill: auto;
|
||||
}
|
||||
#before {
|
||||
margin-top: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
#content {
|
||||
height: 10px;
|
||||
}
|
||||
</style>
|
||||
<div id="scroller">
|
||||
<div id="multicol">
|
||||
<div id="fragmented">
|
||||
<div id="before"></div>
|
||||
<div id="content">content</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
// Tests a scroll anchor inside of a div fragmented across multicol
|
||||
|
||||
test(() => {
|
||||
let scroller = document.querySelector("#scroller");
|
||||
let before = document.querySelector("#before");
|
||||
let content = document.querySelector("#content");
|
||||
|
||||
// Scroll down so that we select a scroll anchor. We should select #content
|
||||
// and not #before, as #before is positioned offscreen in the first column
|
||||
scroller.scrollTop = 10;
|
||||
|
||||
// Increase the height of #before so that it fragments into the second
|
||||
// column and pushes #content down.
|
||||
before.style.height = "110px";
|
||||
|
||||
// We should have anchored to #content and have done an adjustment of 10px
|
||||
assert_equals(scroller.scrollTop, 20);
|
||||
}, "An element in a fragmented div should be able to be selected as an anchor node.");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
#scroller {
|
||||
height: 200px;
|
||||
overflow: scroll;
|
||||
}
|
||||
#before { height: 50px; }
|
||||
#table-row {
|
||||
display: table-row;
|
||||
overflow-anchor: none;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
#after { margin-bottom: 500px; }
|
||||
|
||||
</style>
|
||||
<div id="scroller">
|
||||
<div id="before"></div>
|
||||
<div id="table-row">content</div>
|
||||
<div id="after"></div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
// Tests that the anchor exclusion API works with table parts that generate
|
||||
// anonymous table box wrappers
|
||||
|
||||
test(() => {
|
||||
let scroller = document.querySelector('#scroller');
|
||||
let before = document.querySelector('#before');
|
||||
|
||||
// Scroll down so that #table-row is the only element in view
|
||||
scroller.scrollTop = 50;
|
||||
|
||||
// Expand #before so that we might perform a scroll adjustment
|
||||
before.style.height = "100px";
|
||||
|
||||
// We shouldn't have selected #table-row as an anchor as it is
|
||||
// 'overflow-anchor: none'
|
||||
assert_equals(scroller.scrollTop, 50);
|
||||
}, "A table with anonymous wrappers and 'overflow-anchor: none' shouldn't generate any scroll anchor candidates.");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
#scroller {
|
||||
height: 200px;
|
||||
overflow: scroll;
|
||||
}
|
||||
#before { height: 50px; }
|
||||
#table {
|
||||
display: table;
|
||||
overflow-anchor: none;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin-bottom: 500px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="scroller">
|
||||
<div id="before"></div>
|
||||
<div id="table">content</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
// Tests that the anchor exclusion API works with tables
|
||||
|
||||
test(() => {
|
||||
let scroller = document.querySelector('#scroller');
|
||||
let before = document.querySelector('#before');
|
||||
|
||||
// Scroll down so that #table is the only element in view
|
||||
scroller.scrollTop = 50;
|
||||
|
||||
// Expand #before so that we might perform a scroll adjustment
|
||||
before.style.height = "100px";
|
||||
|
||||
// We shouldn't have selected #table as an anchor as it is
|
||||
// 'overflow-anchor: none'
|
||||
assert_equals(scroller.scrollTop, 50);
|
||||
}, "A table with 'overflow-anchor: none' shouldn't generate any scroll anchor candidates.");
|
||||
|
||||
</script>
|
|
@ -0,0 +1,7 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test Reference</title>
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<table style="border-collapse: collapse; border-style: solid;">
|
||||
<td>Should see a non-solid border</td>
|
||||
</table>
|
|
@ -0,0 +1,10 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test: border-collapsed tables don't unconditionally render double borders as solid</title>
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1521066">
|
||||
<link rel="help" href="https://drafts.csswg.org/css2/tables.html#collapsing-borders">
|
||||
<link rel="mismatch" href="border-collapse-double-border-notref.html">
|
||||
<table style="border-collapse: collapse; border-style: double;">
|
||||
<td>Should see a non-solid border</td>
|
||||
</table>
|
|
@ -0,0 +1,25 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test Reference</title>
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<style>
|
||||
table {
|
||||
font-size: 2em;
|
||||
border-collapse: collapse;
|
||||
border: 5px solid green;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>You should see no non-solid borders and no red.</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="4" style="border: 5px solid purple;">hello</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-right: 5px solid blue; border-bottom: 9px hidden red;">one</td>
|
||||
<td style="border-right: 5px solid blue;">two</td>
|
||||
<td>three</td>
|
||||
<td style="border-left: 5px solid blue">four</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1,28 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test: Table border resolution rules</title>
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1520138">
|
||||
<link rel="help" href="https://drafts.csswg.org/css2/tables.html#border-conflict-resolution">
|
||||
<link rel="match" href="border-conflict-resolution-ref.html">
|
||||
<style>
|
||||
table {
|
||||
font-size: 2em;
|
||||
border-collapse: collapse;
|
||||
border: 5px solid green;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>You should see no non-solid borders and no red.</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="4" style="border: 5px solid purple;">hello</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-top: 5px solid blue; border-right: 5px solid blue; border-bottom: 9px hidden red; border-left: 9px none;">one</td>
|
||||
<td style="border-top: 5px dashed blue; border-right: 5px solid blue; border-bottom: 5px outset red;">two</td>
|
||||
<td style="border-top: 5px ridge blue; border-right: 5px ridge red; border-bottom: 5px inset red;">three</td>
|
||||
<td style="border-left: 5px solid blue; border-bottom: 5px dotted red;">four</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module: getComputedValue().borderCollapse</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-collapse">
|
||||
<meta name="assert" content="border-collapse computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("border-collapse", "separate");
|
||||
test_computed_value("border-collapse", "collapse");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing border-collapse with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-collapse">
|
||||
<meta name="assert" content="border-collapse supports only the grammar 'separate | collapse'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("border-collapse", "none");
|
||||
test_invalid_value("border-collapse", "separate collapse");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing border-collapse with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-collapse">
|
||||
<meta name="assert" content="border-collapse supports the full grammar 'separate | collapse'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("border-collapse", "separate");
|
||||
test_valid_value("border-collapse", "collapse");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module: getComputedValue().borderSpacing</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-spacing">
|
||||
<meta name="assert" content="border-spacing computed value is two absolute lengths.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<style>
|
||||
#target {
|
||||
font-size: 40px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
test_computed_value("border-spacing", "10px 20px");
|
||||
test_computed_value("border-spacing", "0", "0px 0px");
|
||||
test_computed_value("border-spacing", "calc(10px + 0.5em) calc(10px - 0.5em)", "30px 0px");
|
||||
test_computed_value("border-spacing", "calc(10px - 0.5em) calc(10px + 0.5em)", "0px 30px");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing border-spacing with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-spacing">
|
||||
<meta name="assert" content="border-spacing supports only the grammar '<length>{1,2}'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("border-spacing", "10%");
|
||||
test_invalid_value("border-spacing", "-20px");
|
||||
test_invalid_value("border-spacing", "30");
|
||||
test_invalid_value("border-spacing", "40px 50px 60px");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing border-spacing with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-border-spacing">
|
||||
<meta name="assert" content="border-spacing supports the full grammar '<length>{1,2}'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("border-spacing", "0px");
|
||||
test_valid_value("border-spacing", "10px 20px");
|
||||
test_valid_value("border-spacing", "calc(10px + 0.5em) calc(10px - 0.5em)");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module: getComputedValue().captionSide</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-caption-side">
|
||||
<meta name="assert" content="caption-side computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("caption-side", "top");
|
||||
test_computed_value("caption-side", "bottom");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing caption-side with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-caption-side">
|
||||
<meta name="assert" content="caption-side supports only the grammar 'top | bottom'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("caption-side", "auto");
|
||||
test_invalid_value("caption-side", "left");
|
||||
test_invalid_value("caption-side", "right");
|
||||
test_invalid_value("caption-side", "top bottom");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing caption-side with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-caption-side">
|
||||
<meta name="assert" content="caption-side supports the full grammar 'top | bottom'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("caption-side", "top");
|
||||
test_valid_value("caption-side", "bottom");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module: getComputedValue().emptyCells</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-empty-cells">
|
||||
<meta name="assert" content="empty-cells computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("empty-cells", "show");
|
||||
test_computed_value("empty-cells", "hide");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing empty-cells with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-empty-cells">
|
||||
<meta name="assert" content="empty-cells supports only the grammar 'show | hide'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("empty-cells", "auto");
|
||||
test_invalid_value("empty-cells", "show hide");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing empty-cells with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-empty-cells">
|
||||
<meta name="assert" content="empty-cells supports the full grammar 'show | hide'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("empty-cells", "show");
|
||||
test_valid_value("empty-cells", "hide");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module: getComputedValue().tableLayout</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-table-layout">
|
||||
<meta name="assert" content="table-layout computed value is as specified.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("table-layout", "auto");
|
||||
test_computed_value("table-layout", "fixed");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing table-layout with invalid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-table-layout">
|
||||
<meta name="assert" content="table-layout supports only the grammar 'auto | fixed'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_invalid_value("table-layout", "none");
|
||||
test_invalid_value("table-layout", "auto fixed");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Table Module Test: parsing table-layout with valid values</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-tables/#propdef-table-layout">
|
||||
<meta name="assert" content="table-layout supports the full grammar 'auto | fixed'.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
test_valid_value("table-layout", "auto");
|
||||
test_valid_value("table-layout", "fixed");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -12,24 +12,24 @@
|
|||
width: 200px;
|
||||
margin-bottom: 2px;
|
||||
background: lightgray;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
clear: all;
|
||||
}
|
||||
div.a {
|
||||
width: 10px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
background: lightgreen;
|
||||
float: left;
|
||||
}
|
||||
div.b {
|
||||
width: 30px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
background: pink;
|
||||
float: left;
|
||||
}
|
||||
div.c {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
background: orange;
|
||||
float: left;
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
|||
/* Inside of 'b': */
|
||||
div.fixedSizeChild {
|
||||
width: 30px;
|
||||
height: 10px;
|
||||
height: 5px;
|
||||
background: purple;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<style>
|
||||
div.flexbox {
|
||||
width: 200px;
|
||||
height: 20px; /* Short, to force us to wrap */
|
||||
height: 10px; /* Short, to force us to wrap */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
|
@ -23,19 +23,19 @@
|
|||
}
|
||||
div.a {
|
||||
width: 10px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
width: auto; /* width comes from contents */
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: orange;
|
||||
}
|
||||
|
@ -43,7 +43,7 @@
|
|||
/* Inside of 'b': */
|
||||
div.fixedSizeChild {
|
||||
width: 30px;
|
||||
height: 10px;
|
||||
height: 5px;
|
||||
background: purple;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<style>
|
||||
div.flexbox {
|
||||
width: 200px;
|
||||
max-height: 20px; /* Short, to force us to wrap */
|
||||
max-height: 10px; /* Short, to force us to wrap */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
|
@ -24,19 +24,19 @@
|
|||
}
|
||||
div.a {
|
||||
width: 10px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
width: auto; /* width comes from contents */
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: none;
|
||||
background: orange;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@
|
|||
/* Inside of 'b': */
|
||||
div.fixedSizeChild {
|
||||
width: 30px;
|
||||
height: 10px;
|
||||
height: 5px;
|
||||
background: purple;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -16,17 +16,17 @@
|
|||
display: inline-block;
|
||||
}
|
||||
div.a {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
width: 50px;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
width: 100px;
|
||||
background: orange;
|
||||
}
|
||||
|
|
|
@ -18,17 +18,17 @@
|
|||
margin-bottom: 2px;
|
||||
}
|
||||
div.a {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 10px;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 50px;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 100px;
|
||||
background: orange;
|
||||
}
|
||||
|
|
|
@ -24,17 +24,17 @@
|
|||
clear: both;
|
||||
}
|
||||
div.a {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 10px;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 50px;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
height: 20px;
|
||||
height: 10px;
|
||||
flex: 0 100px;
|
||||
background: orange;
|
||||
}
|
||||
|
|
|
@ -15,17 +15,17 @@
|
|||
float: left;
|
||||
}
|
||||
div.a {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
height: 35px;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
height: 40px;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
height: 45px;
|
||||
background: orange;
|
||||
}
|
||||
|
|
|
@ -29,17 +29,17 @@
|
|||
float: left;
|
||||
}
|
||||
div.a {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
flex: 0 0 35px;
|
||||
background: lightgreen;
|
||||
}
|
||||
div.b {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
flex: 0 0 40px;
|
||||
background: pink;
|
||||
}
|
||||
div.c {
|
||||
width: 20px;
|
||||
width: 10px;
|
||||
flex: 0 0 45px;
|
||||
background: orange;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
def opener(session):
|
||||
return session.execute_script("""
|
||||
return window.opener;
|
||||
""")
|
||||
|
||||
|
||||
def window_name(session):
|
||||
return session.execute_script("""
|
||||
return window.name;
|
||||
""")
|
|
@ -0,0 +1,52 @@
|
|||
import pytest
|
||||
|
||||
from webdriver.transport import Response
|
||||
|
||||
from tests.support.asserts import assert_error, assert_success
|
||||
|
||||
|
||||
def new_window(session, type_hint=None):
|
||||
return session.transport.send(
|
||||
"POST", "session/{session_id}/window/new".format(**vars(session)),
|
||||
{"type": type_hint})
|
||||
|
||||
|
||||
def test_null_parameter_value(session, http):
|
||||
path = "/session/{session_id}/window/new".format(**vars(session))
|
||||
with http.post(path, None) as response:
|
||||
assert_error(Response.from_http(response), "invalid argument")
|
||||
|
||||
|
||||
def test_no_browsing_context(session, closed_window):
|
||||
response = new_window(session)
|
||||
assert_error(response, "no such window")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("type_hint", [True, 42, 4.2, [], {}])
|
||||
def test_type_with_invalid_type(session, type_hint):
|
||||
response = new_window(session, type_hint)
|
||||
assert_error(response, "invalid argument")
|
||||
|
||||
|
||||
def test_type_with_null_value(session):
|
||||
original_handles = session.handles
|
||||
|
||||
response = new_window(session, type_hint=None)
|
||||
value = assert_success(response)
|
||||
handles = session.handles
|
||||
assert len(handles) == len(original_handles) + 1
|
||||
assert value["handle"] in handles
|
||||
assert value["handle"] not in original_handles
|
||||
assert value["type"] in ["tab", "window"]
|
||||
|
||||
|
||||
def test_type_with_unknown_value(session):
|
||||
original_handles = session.handles
|
||||
|
||||
response = new_window(session, type_hint="foo")
|
||||
value = assert_success(response)
|
||||
handles = session.handles
|
||||
assert len(handles) == len(original_handles) + 1
|
||||
assert value["handle"] in handles
|
||||
assert value["handle"] not in original_handles
|
||||
assert value["type"] in ["tab", "window"]
|
|
@ -0,0 +1,48 @@
|
|||
from tests.support.asserts import assert_success
|
||||
|
||||
from . import opener, window_name
|
||||
|
||||
|
||||
def new_window(session, type_hint=None):
|
||||
return session.transport.send(
|
||||
"POST", "session/{session_id}/window/new".format(**vars(session)),
|
||||
{"type": type_hint})
|
||||
|
||||
|
||||
def test_new_tab(session):
|
||||
original_handles = session.handles
|
||||
|
||||
response = new_window(session, type_hint="tab")
|
||||
value = assert_success(response)
|
||||
handles = session.handles
|
||||
assert len(handles) == len(original_handles) + 1
|
||||
assert value["handle"] in handles
|
||||
assert value["handle"] not in original_handles
|
||||
assert value["type"] == "tab"
|
||||
|
||||
|
||||
def test_new_tab_opens_about_blank(session):
|
||||
response = new_window(session, type_hint="tab")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "tab"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert session.url == "about:blank"
|
||||
|
||||
|
||||
def test_new_tab_sets_no_window_name(session):
|
||||
response = new_window(session, type_hint="tab")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "tab"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert window_name(session) == ""
|
||||
|
||||
|
||||
def test_new_tab_sets_no_opener(session):
|
||||
response = new_window(session, type_hint="tab")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "tab"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert opener(session) is None
|
|
@ -0,0 +1,48 @@
|
|||
from tests.support.asserts import assert_success
|
||||
|
||||
from . import opener, window_name
|
||||
|
||||
|
||||
def new_window(session, type_hint=None):
|
||||
return session.transport.send(
|
||||
"POST", "session/{session_id}/window/new".format(**vars(session)),
|
||||
{"type": type_hint})
|
||||
|
||||
|
||||
def test_type_with_window(session):
|
||||
original_handles = session.handles
|
||||
|
||||
response = new_window(session, type_hint="window")
|
||||
value = assert_success(response)
|
||||
handles = session.handles
|
||||
assert len(handles) == len(original_handles) + 1
|
||||
assert value["handle"] in handles
|
||||
assert value["handle"] not in original_handles
|
||||
assert value["type"] == "window"
|
||||
|
||||
|
||||
def test_new_window_opens_about_blank(session):
|
||||
response = new_window(session, type_hint="window")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "window"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert session.url == "about:blank"
|
||||
|
||||
|
||||
def test_new_window_sets_no_window_name(session):
|
||||
response = new_window(session, type_hint="window")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "window"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert window_name(session) == ""
|
||||
|
||||
|
||||
def test_new_window_sets_no_opener(session):
|
||||
response = new_window(session, type_hint="window")
|
||||
value = assert_success(response)
|
||||
assert value["type"] == "window"
|
||||
|
||||
session.handle = value["handle"]
|
||||
assert opener(session) is None
|
|
@ -0,0 +1,121 @@
|
|||
# META: timeout=long
|
||||
|
||||
import pytest
|
||||
|
||||
from tests.support.asserts import assert_dialog_handled, assert_error, assert_success
|
||||
|
||||
|
||||
def new_window(session, type_hint=None):
|
||||
return session.transport.send(
|
||||
"POST", "session/{session_id}/window/new".format(**vars(session)),
|
||||
{"type": type_hint})
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def check_user_prompt_closed_without_exception(session, create_dialog):
|
||||
def check_user_prompt_closed_without_exception(dialog_type, retval):
|
||||
original_handles = session.handles
|
||||
|
||||
create_dialog(dialog_type, text=dialog_type)
|
||||
|
||||
response = new_window(session)
|
||||
value = assert_success(response)
|
||||
|
||||
handles = session.handles
|
||||
assert len(handles) == len(original_handles) + 1
|
||||
assert value["handle"] in handles
|
||||
assert value["handle"] not in original_handles
|
||||
|
||||
assert_dialog_handled(session, expected_text=dialog_type, expected_retval=retval)
|
||||
|
||||
return check_user_prompt_closed_without_exception
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def check_user_prompt_closed_with_exception(session, create_dialog):
|
||||
def check_user_prompt_closed_with_exception(dialog_type, retval):
|
||||
original_handles = session.handles
|
||||
|
||||
create_dialog(dialog_type, text=dialog_type)
|
||||
|
||||
response = new_window(session)
|
||||
assert_error(response, "unexpected alert open")
|
||||
|
||||
assert_dialog_handled(session, expected_text=dialog_type, expected_retval=retval)
|
||||
|
||||
assert len(session.handles) == len(original_handles)
|
||||
|
||||
return check_user_prompt_closed_with_exception
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def check_user_prompt_not_closed_but_exception(session, create_dialog):
|
||||
def check_user_prompt_not_closed_but_exception(dialog_type):
|
||||
original_handles = session.handles
|
||||
|
||||
create_dialog(dialog_type, text=dialog_type)
|
||||
|
||||
response = new_window(session)
|
||||
assert_error(response, "unexpected alert open")
|
||||
|
||||
assert session.alert.text == dialog_type
|
||||
session.alert.dismiss()
|
||||
|
||||
assert len(session.handles) == len(original_handles)
|
||||
|
||||
return check_user_prompt_not_closed_but_exception
|
||||
|
||||
|
||||
@pytest.mark.capabilities({"unhandledPromptBehavior": "accept"})
|
||||
@pytest.mark.parametrize("dialog_type, retval", [
|
||||
("alert", None),
|
||||
("confirm", True),
|
||||
("prompt", ""),
|
||||
])
|
||||
def test_accept(check_user_prompt_closed_without_exception, dialog_type, retval):
|
||||
check_user_prompt_closed_without_exception(dialog_type, retval)
|
||||
|
||||
|
||||
@pytest.mark.capabilities({"unhandledPromptBehavior": "accept and notify"})
|
||||
@pytest.mark.parametrize("dialog_type, retval", [
|
||||
("alert", None),
|
||||
("confirm", True),
|
||||
("prompt", ""),
|
||||
])
|
||||
def test_accept_and_notify(check_user_prompt_closed_with_exception, dialog_type, retval):
|
||||
check_user_prompt_closed_with_exception(dialog_type, retval)
|
||||
|
||||
|
||||
@pytest.mark.capabilities({"unhandledPromptBehavior": "dismiss"})
|
||||
@pytest.mark.parametrize("dialog_type, retval", [
|
||||
("alert", None),
|
||||
("confirm", False),
|
||||
("prompt", None),
|
||||
])
|
||||
def test_dismiss(check_user_prompt_closed_without_exception, dialog_type, retval):
|
||||
check_user_prompt_closed_without_exception(dialog_type, retval)
|
||||
|
||||
|
||||
@pytest.mark.capabilities({"unhandledPromptBehavior": "dismiss and notify"})
|
||||
@pytest.mark.parametrize("dialog_type, retval", [
|
||||
("alert", None),
|
||||
("confirm", False),
|
||||
("prompt", None),
|
||||
])
|
||||
def test_dismiss_and_notify(check_user_prompt_closed_with_exception, dialog_type, retval):
|
||||
check_user_prompt_closed_with_exception(dialog_type, retval)
|
||||
|
||||
|
||||
@pytest.mark.capabilities({"unhandledPromptBehavior": "ignore"})
|
||||
@pytest.mark.parametrize("dialog_type", ["alert", "confirm", "prompt"])
|
||||
def test_ignore(check_user_prompt_not_closed_but_exception, dialog_type):
|
||||
check_user_prompt_not_closed_but_exception(dialog_type)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("dialog_type, retval", [
|
||||
("alert", None),
|
||||
("confirm", False),
|
||||
("prompt", None),
|
||||
])
|
||||
def test_default(check_user_prompt_closed_with_exception, dialog_type, retval):
|
||||
check_user_prompt_closed_with_exception(dialog_type, retval)
|
Loading…
Add table
Add a link
Reference in a new issue