From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- testing/web-platform/tests/quirks/META.yml | 3 + .../tests/quirks/active-and-hover-manual.html | 181 +++++++++ .../tests/quirks/blocks-ignore-line-height.html | 85 +++++ .../tests/quirks/body-fills-html-quirk-float.html | 19 + .../tests/quirks/body-fills-html-quirk-inline.html | 19 + .../quirks/body-fills-html-quirk-positioned.html | 19 + .../tests/quirks/body-fills-html-quirk-ref.html | 4 + .../tests/quirks/body-fills-html-quirk-ref2.html | 6 + .../quirks/body-fills-html-quirk-vertical.html | 23 ++ .../tests/quirks/body-fills-html-quirk.html | 22 ++ .../classname-query-after-sibling-adoption.html | 32 ++ .../list-item-whole-line-quirks-crash.html | 5 + .../tests/quirks/dd-dl-firefox-001-ref.html | 8 + .../tests/quirks/dd-dl-firefox-001.html | 18 + .../quirks/hashless-hex-color/limited-quirks.html | 16 + .../tests/quirks/hashless-hex-color/no-quirks.html | 16 + .../tests/quirks/hashless-hex-color/quirks.html | 16 + .../quirks/hashless-hex-color/support/common.js | 423 +++++++++++++++++++++ .../historical/list-item-bullet-size-ref.html | 13 + .../quirks/historical/list-item-bullet-size.html | 16 + .../reference/vertical-align-in-quirks-ref.html | 52 +++ .../historical/vertical-align-in-quirks.html | 56 +++ .../quirks/html-fills-viewport-quirk-ref.html | 6 + .../quirks/html-fills-viewport-quirk-vertical.html | 25 ++ .../tests/quirks/html-fills-viewport-quirk.html | 24 ++ .../tests/quirks/line-height-calculation.html | 96 +++++ .../quirks/line-height-in-list-item.tentative.html | 12 + .../quirks/line-height-limited-quirks-mode.html | 26 ++ .../tests/quirks/line-height-quirks-mode.html | 26 ++ .../web-platform/tests/quirks/line-height-ref.html | 22 ++ ...height-trailing-collapsable-whitespace-ref.html | 4 + ...ine-height-trailing-collapsable-whitespace.html | 12 + .../quirks/percentage-height-calculation.html | 158 ++++++++ ...entage-height-quirk-excludes-flex-grid-001.html | 78 ++++ ...entage-height-quirk-excludes-flex-grid-002.html | 56 +++ .../reference/green-100px-square-no-red.html | 4 + ...ge-height-quirk-excludes-flex-grid-001-ref.html | 76 ++++ ...height-quirk-excludes-flex-grid-002-notref.html | 54 +++ ...ge-height-quirk-excludes-flex-grid-002-ref.html | 49 +++ .../table-cell-width-calculation-abspos-ref.html | 18 + .../tests/quirks/support/test-ref-iframe.js | 17 + testing/web-platform/tests/quirks/supports.html | 48 +++ ...able-cell-nowrap-minimum-width-calculation.html | 72 ++++ .../table-cell-width-calculation-abspos.html | 21 + .../table-cell-width-calculation-applies-to.html | 18 + .../tests/quirks/table-cell-width-calculation.html | 174 +++++++++ ...eplaced-descendant-percentage-height-crash.html | 14 + .../quirks-ref.html | 13 + .../quirks.html | 14 + .../standards-ref.html | 15 + .../standards.html | 16 + .../unitless-length/excluded-properties-001.html | 85 +++++ .../unitless-length/excluded-properties-002.html | 43 +++ .../unitless-length/excluded-properties-003.html | 42 ++ .../quirks/unitless-length/limited-quirks.html | 15 + .../tests/quirks/unitless-length/no-quirks.html | 16 + .../tests/quirks/unitless-length/quirks.html | 15 + .../tests/quirks/unitless-length/support/common.js | 152 ++++++++ 58 files changed, 2588 insertions(+) create mode 100644 testing/web-platform/tests/quirks/META.yml create mode 100644 testing/web-platform/tests/quirks/active-and-hover-manual.html create mode 100644 testing/web-platform/tests/quirks/blocks-ignore-line-height.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-float.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-inline.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-positioned.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-ref.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-ref2.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk-vertical.html create mode 100644 testing/web-platform/tests/quirks/body-fills-html-quirk.html create mode 100644 testing/web-platform/tests/quirks/classname-query-after-sibling-adoption.html create mode 100644 testing/web-platform/tests/quirks/crashtests/list-item-whole-line-quirks-crash.html create mode 100644 testing/web-platform/tests/quirks/dd-dl-firefox-001-ref.html create mode 100644 testing/web-platform/tests/quirks/dd-dl-firefox-001.html create mode 100644 testing/web-platform/tests/quirks/hashless-hex-color/limited-quirks.html create mode 100644 testing/web-platform/tests/quirks/hashless-hex-color/no-quirks.html create mode 100644 testing/web-platform/tests/quirks/hashless-hex-color/quirks.html create mode 100644 testing/web-platform/tests/quirks/hashless-hex-color/support/common.js create mode 100644 testing/web-platform/tests/quirks/historical/list-item-bullet-size-ref.html create mode 100644 testing/web-platform/tests/quirks/historical/list-item-bullet-size.html create mode 100644 testing/web-platform/tests/quirks/historical/reference/vertical-align-in-quirks-ref.html create mode 100644 testing/web-platform/tests/quirks/historical/vertical-align-in-quirks.html create mode 100644 testing/web-platform/tests/quirks/html-fills-viewport-quirk-ref.html create mode 100644 testing/web-platform/tests/quirks/html-fills-viewport-quirk-vertical.html create mode 100644 testing/web-platform/tests/quirks/html-fills-viewport-quirk.html create mode 100644 testing/web-platform/tests/quirks/line-height-calculation.html create mode 100644 testing/web-platform/tests/quirks/line-height-in-list-item.tentative.html create mode 100644 testing/web-platform/tests/quirks/line-height-limited-quirks-mode.html create mode 100644 testing/web-platform/tests/quirks/line-height-quirks-mode.html create mode 100644 testing/web-platform/tests/quirks/line-height-ref.html create mode 100644 testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace-ref.html create mode 100644 testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace.html create mode 100644 testing/web-platform/tests/quirks/percentage-height-calculation.html create mode 100644 testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-001.html create mode 100644 testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-002.html create mode 100644 testing/web-platform/tests/quirks/reference/green-100px-square-no-red.html create mode 100644 testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-001-ref.html create mode 100644 testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-notref.html create mode 100644 testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html create mode 100644 testing/web-platform/tests/quirks/reference/table-cell-width-calculation-abspos-ref.html create mode 100644 testing/web-platform/tests/quirks/support/test-ref-iframe.js create mode 100644 testing/web-platform/tests/quirks/supports.html create mode 100644 testing/web-platform/tests/quirks/table-cell-nowrap-minimum-width-calculation.html create mode 100644 testing/web-platform/tests/quirks/table-cell-width-calculation-abspos.html create mode 100644 testing/web-platform/tests/quirks/table-cell-width-calculation-applies-to.html create mode 100644 testing/web-platform/tests/quirks/table-cell-width-calculation.html create mode 100644 testing/web-platform/tests/quirks/table-replaced-descendant-percentage-height-crash.html create mode 100644 testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-ref.html create mode 100644 testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks.html create mode 100644 testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-ref.html create mode 100644 testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/excluded-properties-001.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/excluded-properties-002.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/excluded-properties-003.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/limited-quirks.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/no-quirks.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/quirks.html create mode 100644 testing/web-platform/tests/quirks/unitless-length/support/common.js (limited to 'testing/web-platform/tests/quirks') diff --git a/testing/web-platform/tests/quirks/META.yml b/testing/web-platform/tests/quirks/META.yml new file mode 100644 index 0000000000..29f19c5c6a --- /dev/null +++ b/testing/web-platform/tests/quirks/META.yml @@ -0,0 +1,3 @@ +spec: https://quirks.spec.whatwg.org/ +suggested_reviewers: + - zcorpan diff --git a/testing/web-platform/tests/quirks/active-and-hover-manual.html b/testing/web-platform/tests/quirks/active-and-hover-manual.html new file mode 100644 index 0000000000..10d787dd37 --- /dev/null +++ b/testing/web-platform/tests/quirks/active-and-hover-manual.html @@ -0,0 +1,181 @@ + + + + The :active and :hover quirk + + + + + +

Click on the boxes below (using a pointing device).

+
+

quirks: + +

almost: + +

standards: + + + + + diff --git a/testing/web-platform/tests/quirks/blocks-ignore-line-height.html b/testing/web-platform/tests/quirks/blocks-ignore-line-height.html new file mode 100644 index 0000000000..c07f6cf49b --- /dev/null +++ b/testing/web-platform/tests/quirks/blocks-ignore-line-height.html @@ -0,0 +1,85 @@ + + + + The blocks ignore line-height quirk + + + + + +

+ + + + + + diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-float.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-float.html new file mode 100644 index 0000000000..c1fdd16ac0 --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-float.html @@ -0,0 +1,19 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-inline.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-inline.html new file mode 100644 index 0000000000..82dc7a6171 --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-inline.html @@ -0,0 +1,19 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-positioned.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-positioned.html new file mode 100644 index 0000000000..f46caddc78 --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-positioned.html @@ -0,0 +1,19 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-ref.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-ref.html new file mode 100644 index 0000000000..d4da87bd9f --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-ref.html @@ -0,0 +1,4 @@ + + +
+ diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-ref2.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-ref2.html new file mode 100644 index 0000000000..68ceb2b8b1 --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-ref2.html @@ -0,0 +1,6 @@ + + +
+
+
+ diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk-vertical.html b/testing/web-platform/tests/quirks/body-fills-html-quirk-vertical.html new file mode 100644 index 0000000000..485c14d35e --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk-vertical.html @@ -0,0 +1,23 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/body-fills-html-quirk.html b/testing/web-platform/tests/quirks/body-fills-html-quirk.html new file mode 100644 index 0000000000..83ccea7dca --- /dev/null +++ b/testing/web-platform/tests/quirks/body-fills-html-quirk.html @@ -0,0 +1,22 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/classname-query-after-sibling-adoption.html b/testing/web-platform/tests/quirks/classname-query-after-sibling-adoption.html new file mode 100644 index 0000000000..0fcad36776 --- /dev/null +++ b/testing/web-platform/tests/quirks/classname-query-after-sibling-adoption.html @@ -0,0 +1,32 @@ + + + + Quirks mode elements with class names should remain queriable regardless of sibling adoption into standards mode documents + + + + +
+ + +
+ + + + \ No newline at end of file diff --git a/testing/web-platform/tests/quirks/crashtests/list-item-whole-line-quirks-crash.html b/testing/web-platform/tests/quirks/crashtests/list-item-whole-line-quirks-crash.html new file mode 100644 index 0000000000..b91b09db0e --- /dev/null +++ b/testing/web-platform/tests/quirks/crashtests/list-item-whole-line-quirks-crash.html @@ -0,0 +1,5 @@ + +
a
    +
    a
      +
      a
        +
        a
          diff --git a/testing/web-platform/tests/quirks/dd-dl-firefox-001-ref.html b/testing/web-platform/tests/quirks/dd-dl-firefox-001-ref.html new file mode 100644 index 0000000000..46a4d7d156 --- /dev/null +++ b/testing/web-platform/tests/quirks/dd-dl-firefox-001-ref.html @@ -0,0 +1,8 @@ + +CSS Test Reference +
          Prevent quirky dl margin from messing up with us
          +
          +
          One
          +
          Two
          +
          +
          Three
          Four
          diff --git a/testing/web-platform/tests/quirks/dd-dl-firefox-001.html b/testing/web-platform/tests/quirks/dd-dl-firefox-001.html new file mode 100644 index 0000000000..96fc76f08f --- /dev/null +++ b/testing/web-platform/tests/quirks/dd-dl-firefox-001.html @@ -0,0 +1,18 @@ + +dd and dl don't have weird text-indent quirks + + + + + +
          Prevent quirky dl margin from messing up with us
          +
          +
          One
          +
          Two
          +
          +
          Three
          Four
          diff --git a/testing/web-platform/tests/quirks/hashless-hex-color/limited-quirks.html b/testing/web-platform/tests/quirks/hashless-hex-color/limited-quirks.html new file mode 100644 index 0000000000..f7dd7ed4bd --- /dev/null +++ b/testing/web-platform/tests/quirks/hashless-hex-color/limited-quirks.html @@ -0,0 +1,16 @@ + + + + The hashless hex color quirk (limited-quirks) + + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/hashless-hex-color/no-quirks.html b/testing/web-platform/tests/quirks/hashless-hex-color/no-quirks.html new file mode 100644 index 0000000000..2ea5c666b7 --- /dev/null +++ b/testing/web-platform/tests/quirks/hashless-hex-color/no-quirks.html @@ -0,0 +1,16 @@ + + + + The hashless hex color quirk (no-quirks) + + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/hashless-hex-color/quirks.html b/testing/web-platform/tests/quirks/hashless-hex-color/quirks.html new file mode 100644 index 0000000000..bc45da2eab --- /dev/null +++ b/testing/web-platform/tests/quirks/hashless-hex-color/quirks.html @@ -0,0 +1,16 @@ + + + + The hashless hex color quirk (quirks) + + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/hashless-hex-color/support/common.js b/testing/web-platform/tests/quirks/hashless-hex-color/support/common.js new file mode 100644 index 0000000000..eea618050d --- /dev/null +++ b/testing/web-platform/tests/quirks/hashless-hex-color/support/common.js @@ -0,0 +1,423 @@ +setup({explicit_done:true}); +onload = function() { + setupIframe(); + + var tests = [ + {input:"123", q:"#000123"}, + {input:"023", q:"#000023"}, + {input:"003", q:"#000003"}, + {input:"000", q:"#000"}, + {input:"abc", q:"#abc"}, + {input:"ABC", q:"#abc"}, + {input:"1ab", q:"#0001ab"}, + {input:"1AB", q:"#0001ab"}, + {input:"112233", q:"#123"}, + {input:"012233", q:"#012233"}, + {input:"002233", q:"#023"}, + {input:"000233", q:"#000233"}, + {input:"000033", q:"#003"}, + {input:"000003", q:"#000003"}, + {input:"000000", q:"#000000"}, + {input:"aabbcc", q:"#abc"}, + {input:"AABBCC", q:"#abc"}, + {input:"11aabb", q:"#1ab"}, + {input:"11AABB", q:"#1ab"}, + {input:"\\31 23", q:"#123"}, + {input:"\\61 bc", q:"#abc"}, + {input:"\\41 BC", q:"#abc"}, + {input:"\\31 ab", q:"#1ab"}, + {input:"\\31 AB", q:"#1ab"}, + {input:"\\31 12233", q:"#123"}, + {input:"\\61 abbcc", q:"#abc"}, + {input:"\\41 ABBCC", q:"#abc"}, + {input:"\\31 1aabb", q:"#1ab"}, + {input:"\\31 1AABB", q:"#1ab"}, + {input:"12\\33 ", q:"#000123"}, + {input:"1", q:"#000001"}, + {input:"12", q:"#000012"}, + {input:"1234", q:"#001234"}, + {input:"12345", q:"#012345"}, + {input:"1234567"}, + {input:"12345678"}, + {input:"a"}, + {input:"aa"}, + {input:"aaaa"}, + {input:"aaaaa"}, + {input:"aaaaaaa"}, + {input:"aaaaaaaa"}, + {input:"A"}, + {input:"AA"}, + {input:"AAAA"}, + {input:"AAAAA"}, + {input:"AAAAAAA"}, + {input:"AAAAAAAA"}, + {input:"1a", q:"#00001a"}, + {input:"1abc", q:"#001abc"}, + {input:"1abcd", q:"#01abcd"}, + {input:"1abcdef"}, + {input:"1abcdeff"}, + {input:"+1", q:"#000001"}, + {input:"+12", q:"#000012"}, + {input:"+123", q:"#000123"}, + {input:"+1234", q:"#001234"}, + {input:"+12345", q:"#012345"}, + {input:"+123456", q:"#123456"}, + {input:"+1234567"}, + {input:"+12345678"}, + {input:"-1"}, + {input:"-12"}, + {input:"-123"}, + {input:"-1234"}, + {input:"-12345"}, + {input:"-123456"}, + {input:"-1234567"}, + {input:"-12345678"}, + {input:"+1a", q:"#00001a"}, + {input:"+12a", q:"#00012a"}, + {input:"+123a", q:"#00123a"}, + {input:"+1234a", q:"#01234a"}, + {input:"+12345a", q:"#12345a"}, + {input:"+123456a"}, + {input:"+1234567a"}, + {input:"-1a"}, + {input:"-12a"}, + {input:"-123a"}, + {input:"-1234a"}, + {input:"-12345a"}, + {input:"-123456a"}, + {input:"-1234567a"}, + {input:"-12345678a"}, + {input:"+1A", q:"#00001a"}, + {input:"+12A", q:"#00012a"}, + {input:"+123A", q:"#00123a"}, + {input:"+1234A", q:"#01234a"}, + {input:"+12345A", q:"#12345a"}, + {input:"+123456A"}, + {input:"+1234567A"}, + {input:"-1A"}, + {input:"-12A"}, + {input:"-123A"}, + {input:"-1234A"}, + {input:"-12345A"}, + {input:"-123456A"}, + {input:"-1234567A"}, + {input:"-12345678A"}, + {input:"+a"}, + {input:"+aa"}, + {input:"+aaa"}, + {input:"+aaaa"}, + {input:"+aaaaa"}, + {input:"+aaaaaa"}, + {input:"+aaaaaaa"}, + {input:"+aaaaaaaa"}, + {input:"-a"}, + {input:"-aa"}, + {input:"-aaa"}, + {input:"-aaaa"}, + {input:"-aaaaa"}, + {input:"-aaaaaa"}, + {input:"-aaaaaaa"}, + {input:"-aaaaaaaa"}, + {input:"-aaaaaaaaa"}, + {input:"+A"}, + {input:"+AA"}, + {input:"+AAA"}, + {input:"+AAAA"}, + {input:"+AAAAA"}, + {input:"+AAAAAA"}, + {input:"+AAAAAAA"}, + {input:"+AAAAAAAA"}, + {input:"-A"}, + {input:"-AA"}, + {input:"-AAA"}, + {input:"-AAAA"}, + {input:"-AAAAA"}, + {input:"-AAAAAA"}, + {input:"-AAAAAAA"}, + {input:"-AAAAAAAA"}, + {input:"-AAAAAAAAA"}, + {input:"1.1"}, + {input:"1.11"}, + {input:"1.111"}, + {input:"1.1111"}, + {input:"1.11111"}, + {input:"1.111111"}, + {input:"1.1111111"}, + {input:"+1.1"}, + {input:"+1.11"}, + {input:"+1.111"}, + {input:"+1.1111"}, + {input:"+1.11111"}, + {input:"+1.111111"}, + {input:"+1.1111111"}, + {input:"-1.1"}, + {input:"-1.11"}, + {input:"-1.111"}, + {input:"-1.1111"}, + {input:"-1.11111"}, + {input:"-1.111111"}, + {input:"-1.1111111"}, + {input:"1.1a"}, + {input:"1.11a"}, + {input:"1.111a"}, + {input:"1.1111a"}, + {input:"1.11111a"}, + {input:"1.111111a"}, + {input:"+1.1a"}, + {input:"+1.11a"}, + {input:"+1.111a"}, + {input:"+1.1111a"}, + {input:"+1.11111a"}, + {input:"+1.111111a"}, + {input:"-1.1a"}, + {input:"-1.11a"}, + {input:"-1.111a"}, + {input:"-1.1111a"}, + {input:"-1.11111a"}, + {input:"-1.111111a"}, + {input:"1.0"}, + {input:"11.0"}, + {input:"111.0"}, + {input:"1111.0"}, + {input:"11111.0"}, + {input:"111111.0"}, + {input:"1111111.0"}, + {input:"11111111.0"}, + {input:"+1.0"}, + {input:"+11.0"}, + {input:"+111.0"}, + {input:"+1111.0"}, + {input:"+11111.0"}, + {input:"+111111.0"}, + {input:"+1111111.0"}, + {input:"+11111111.0"}, + {input:"-1.0"}, + {input:"-11.0"}, + {input:"-111.0"}, + {input:"-1111.0"}, + {input:"-11111.0"}, + {input:"-111111.0"}, + {input:"-1111111.0"}, + {input:"-11111111.0"}, + {input:"1.0a"}, + {input:"11.0a"}, + {input:"111.0a"}, + {input:"1111.0a"}, + {input:"11111.0a"}, + {input:"111111.0a"}, + {input:"1111111.0a"}, + {input:"+1.0a"}, + {input:"+11.0a"}, + {input:"+111.0a"}, + {input:"+1111.0a"}, + {input:"+11111.0a"}, + {input:"+111111.0a"}, + {input:"+1111111.0a"}, + {input:"-1.0a"}, + {input:"-11.0a"}, + {input:"-111.0a"}, + {input:"-1111.0a"}, + {input:"-11111.0a"}, + {input:"-111111.0a"}, + {input:"-1111111.0a"}, + {input:"+/**/123"}, + {input:"-/**/123"}, + {input:"+/**/123456"}, + {input:"-/**/123456"}, + {input:"+/**/abc"}, + {input:"-/**/abc"}, + {input:"+/**/abcdef"}, + {input:"-/**/abcdef"}, + {input:"+/**/12a"}, + {input:"-/**/12a"}, + {input:"+/**/12345a"}, + {input:"-/**/12345a"}, + {input:"abg"}, + {input:"aabbcg"}, + {input:"1ag"}, + {input:"1122ag"}, + {input:"ABG"}, + {input:"AABBCG"}, + {input:"1AG"}, + {input:"1122AG"}, + {input:"@a"}, + {input:"@ab"}, + {input:"@abc"}, + {input:"@abcd"}, + {input:"@abcde"}, + {input:"@abcdef"}, + {input:"@1"}, + {input:"@11"}, + {input:"@111"}, + {input:"@1111"}, + {input:"@11111"}, + {input:"@111111"}, + {input:"@1a"}, + {input:"@11a"}, + {input:"@111a"}, + {input:"@1111a"}, + {input:"@11111a"}, + {input:'"a"'}, + {input:'"ab"'}, + {input:'"abc"'}, + {input:'"abcd"'}, + {input:'"abcde"'}, + {input:'"abcdef"'}, + {input:'"1"'}, + {input:'"11"'}, + {input:'"111"'}, + {input:'"1111"'}, + {input:'"11111"'}, + {input:'"111111"'}, + {input:'"1a"'}, + {input:'"11a"'}, + {input:'"111a"'}, + {input:'"1111a"'}, + {input:'"11111a"'}, + {input:"url(a)", svg:'url(a)'}, + {input:"url(aa)", svg:'url(aa)'}, + {input:"url(aaa)", svg:'url(aaa)'}, + {input:"url(aaaa)", svg:'url(aaaa)'}, + {input:"url(aaaaa)", svg:'url(aaaaa)'}, + {input:"url(aaaaaa)", svg:'url(aaaaaa)'}, + {input:"url('a')", svg:'url(a)'}, + {input:"url('aa')", svg:'url(aa)'}, + {input:"url('aaa')", svg:'url(aaa)'}, + {input:"url('aaaa')", svg:'url(aaaa)'}, + {input:"url('aaaaa')", svg:'url(aaaaa)'}, + {input:"url('aaaaaa')", svg:'url(aaaaaa)'}, + {input:"#a"}, + {input:"#aa"}, + {input:"#aaaaa"}, + {input:"#aaaaaaa"}, + {input:"#1"}, + {input:"#11"}, + {input:"#11111"}, + {input:"#1111111"}, + {input:"#1a"}, + {input:"#1111a"}, + {input:"#111111a"}, + {input:"1%"}, + {input:"11%"}, + {input:"111%"}, + {input:"1111%"}, + {input:"11111%"}, + {input:"111111%"}, + {input:"calc(123)"}, + {input:"rgb(119, 255, 255)", q:"#7ff", s:"#7ff", svg:"#7ff"}, + {input:"rgba(119, 255, 255, 001)", q:"#7ff", s:"#7ff", svg:"#7ff"}, + {input:"hsl(100, 100%, 100%)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"hsla(100, 100%, 100%, 001)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"rgb(calc(100 + 155), 255, 255)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"rgba(calc(100 + 155), 255, 255, 001)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"hsl(calc(050 + 050), 100%, 100%)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"hsla(calc(050 + 050), 100%, 100%, 001)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"rgb(/**/255, 255, 255)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"rgb(/**/255/**/, /**/255/**/, /**/255/**/)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"rgb(calc(/**/100/**/ + /**/155/**/), 255, 255)", q:"#fff", s:"#fff", svg:"#fff"}, + {input:"#123 123 abc 12a", q:"#123 #000123 #abc #00012a", shorthand:true}, + {input:"rgb(119, 255, 255) 123", q:"#7ff #000123", shorthand:true}, + {input:"123 rgb(119, 255, 255)", q:"#000123 #7ff", shorthand:true}, + {input:"1e1"}, + {input:"11e1"}, + {input:"111e1"}, + {input:"1111e1"}, + {input:"11111e1"}, + {input:"111111e1"}, + {input:"1e+1"}, + {input:"11e+1"}, + {input:"111e+1"}, + {input:"1111e+1"}, + {input:"11111e+1"}, + {input:"111111e+1"}, + {input:"1e-0"}, + {input:"11e-0"}, + {input:"111e-0"}, + {input:"1111e-0"}, + {input:"11111e-0"}, + {input:"111111e-0"}, + {input:"1e1a"}, + {input:"11e1a"}, + {input:"111e1a"}, + {input:"1111e1a"}, + {input:"11111e1a"}, + {input:"111111e1a"}, + {desc:"1111111111...", input:"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"}, + {desc:"1111111111...a", input:"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111a"}, + {desc:"a1111111111...", input:"a1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"}, + ]; + + var props = [ + {prop:'background-color', check:'background-color'}, + {prop:'border-color', check:'border-top-color', check_also:['border-right-color', 'border-bottom-color', 'border-left-color']}, + {prop:'border-top-color', check:'border-top-color'}, + {prop:'border-right-color', check:'border-right-color'}, + {prop:'border-bottom-color', check:'border-bottom-color'}, + {prop:'border-left-color', check:'border-left-color'}, + {prop:'color', check:'color'}, + ]; + var style_template = '#test{{prop}:{test};}' + + '#ref{{prop}:{ref};}'; + + tests.forEach(function(t) { + var name = t.desc || t.input; + var test_html = async_test(name); + var test_svg = async_test(name + ' (SVG)'); + for (var i in props) { + if (t.shorthand && !(props[i].check_also)) { + continue; + } + test_html.step(function() { + win.style.textContent = style_template.replace('{test}', t.input) + .replace('{ref}', quirks ? t.q : t.s).replace(/\{prop\}/g, props[i].prop); + assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check), + win.getComputedStyle(win.ref).getPropertyValue(props[i].check), + props[i].prop); + if (t.shorthand && props[i].check_also) { + for (var j in props[i].check_also) { + assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check_also[j]), + win.getComputedStyle(win.ref).getPropertyValue(props[i].check_also[j]), + props[i].prop + ' checking ' + props[i].check_also[j]); + } + } + }); + test_svg.step(function() { + win.svg.setAttribute('fill', t.input); + if (t.svg) { + win.svg_ref.setAttribute('fill', t.svg); + } else { + win.svg_ref.removeAttribute('fill'); + } + assert_equals(win.getComputedStyle(win.svg).fill, win.getComputedStyle(win.svg_ref).fill, 'SVG fill=""'); + }); + } + test_html.done(); + test_svg.done(); + }); + + if (quirks) { + var other_tests = [ + {input:'background:abc', prop:'background-color'}, + {input:'border-top:1px solid abc', prop:'border-top-color'}, + {input:'border-right:1px solid abc', prop:'border-right-color'}, + {input:'border-bottom:1px solid abc', prop:'border-bottom-color'}, + {input:'border-left:1px solid abc', prop:'border-left-color'}, + {input:'border:1px solid abc', prop:'border-top-color'}, + {input:'outline-color:abc', prop:'outline-color'}, + {input:'outline:1px solid abc', prop:'outline-color'} + ]; + + var other_template = "#test{{test};}" + + other_tests.forEach(function(t) { + test(function() { + win.style.textContent = other_template.replace('{test}', t.input); + assert_equals(win.getComputedStyle(win.test).getPropertyValue(t.prop), + win.getComputedStyle(win.ref).getPropertyValue(t.prop), + 'quirk was supported'); + }, document.title+', excluded property '+t.input); + }); + } + + done(); +} diff --git a/testing/web-platform/tests/quirks/historical/list-item-bullet-size-ref.html b/testing/web-platform/tests/quirks/historical/list-item-bullet-size-ref.html new file mode 100644 index 0000000000..f449ce9924 --- /dev/null +++ b/testing/web-platform/tests/quirks/historical/list-item-bullet-size-ref.html @@ -0,0 +1,13 @@ + +Historical quirk: list item bullet size + +

          There should be a normal-size bullet and a big bullet below.

          + + diff --git a/testing/web-platform/tests/quirks/historical/list-item-bullet-size.html b/testing/web-platform/tests/quirks/historical/list-item-bullet-size.html new file mode 100644 index 0000000000..bf996edf78 --- /dev/null +++ b/testing/web-platform/tests/quirks/historical/list-item-bullet-size.html @@ -0,0 +1,16 @@ + +Historical quirk: list item bullet size + + + + +

          There should be a normal-size bullet and a big bullet below.

          + + diff --git a/testing/web-platform/tests/quirks/historical/reference/vertical-align-in-quirks-ref.html b/testing/web-platform/tests/quirks/historical/reference/vertical-align-in-quirks-ref.html new file mode 100644 index 0000000000..7bef765150 --- /dev/null +++ b/testing/web-platform/tests/quirks/historical/reference/vertical-align-in-quirks-ref.html @@ -0,0 +1,52 @@ + + + +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          + diff --git a/testing/web-platform/tests/quirks/historical/vertical-align-in-quirks.html b/testing/web-platform/tests/quirks/historical/vertical-align-in-quirks.html new file mode 100644 index 0000000000..c076724304 --- /dev/null +++ b/testing/web-platform/tests/quirks/historical/vertical-align-in-quirks.html @@ -0,0 +1,56 @@ + +CSS Text level 3 Test: letter spacing after bidi + + + + + +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          +
          + Y +
          + diff --git a/testing/web-platform/tests/quirks/html-fills-viewport-quirk-ref.html b/testing/web-platform/tests/quirks/html-fills-viewport-quirk-ref.html new file mode 100644 index 0000000000..2d93fff417 --- /dev/null +++ b/testing/web-platform/tests/quirks/html-fills-viewport-quirk-ref.html @@ -0,0 +1,6 @@ + + +
          +
          +
          + diff --git a/testing/web-platform/tests/quirks/html-fills-viewport-quirk-vertical.html b/testing/web-platform/tests/quirks/html-fills-viewport-quirk-vertical.html new file mode 100644 index 0000000000..e5083b4eab --- /dev/null +++ b/testing/web-platform/tests/quirks/html-fills-viewport-quirk-vertical.html @@ -0,0 +1,25 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/html-fills-viewport-quirk.html b/testing/web-platform/tests/quirks/html-fills-viewport-quirk.html new file mode 100644 index 0000000000..892fe489a2 --- /dev/null +++ b/testing/web-platform/tests/quirks/html-fills-viewport-quirk.html @@ -0,0 +1,24 @@ + + + + + + + diff --git a/testing/web-platform/tests/quirks/line-height-calculation.html b/testing/web-platform/tests/quirks/line-height-calculation.html new file mode 100644 index 0000000000..cc5254ae1b --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-calculation.html @@ -0,0 +1,96 @@ + + + + The line height calculation quirk + + + + + +
          + + + + + + diff --git a/testing/web-platform/tests/quirks/line-height-in-list-item.tentative.html b/testing/web-platform/tests/quirks/line-height-in-list-item.tentative.html new file mode 100644 index 0000000000..be655e51fc --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-in-list-item.tentative.html @@ -0,0 +1,12 @@ + + + + + +

          There should be a filled green square below, and no red.

          +
          +
        • +
          +
          +
        • +
          diff --git a/testing/web-platform/tests/quirks/line-height-limited-quirks-mode.html b/testing/web-platform/tests/quirks/line-height-limited-quirks-mode.html new file mode 100644 index 0000000000..db0c3fa2b4 --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-limited-quirks-mode.html @@ -0,0 +1,26 @@ + + + + + + + + + + + +
          +
          + PASS +
          + + diff --git a/testing/web-platform/tests/quirks/line-height-quirks-mode.html b/testing/web-platform/tests/quirks/line-height-quirks-mode.html new file mode 100644 index 0000000000..9e9baf6222 --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-quirks-mode.html @@ -0,0 +1,26 @@ + + + + + + + + + + + +
          +
          + PASS +
          + + diff --git a/testing/web-platform/tests/quirks/line-height-ref.html b/testing/web-platform/tests/quirks/line-height-ref.html new file mode 100644 index 0000000000..a5c92e732d --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-ref.html @@ -0,0 +1,22 @@ + + + + + + + +
          +
          + PASS +
          + + diff --git a/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace-ref.html b/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace-ref.html new file mode 100644 index 0000000000..92c3b3c3ca --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace-ref.html @@ -0,0 +1,4 @@ + + +

          Test passes if there is a filled green square and no red.

          +
          diff --git a/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace.html b/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace.html new file mode 100644 index 0000000000..00a9ca276b --- /dev/null +++ b/testing/web-platform/tests/quirks/line-height-trailing-collapsable-whitespace.html @@ -0,0 +1,12 @@ + + + + +

          Test passes if there is a filled green square and no red.

          +
          +
          + +
          +
          +
          diff --git a/testing/web-platform/tests/quirks/percentage-height-calculation.html b/testing/web-platform/tests/quirks/percentage-height-calculation.html new file mode 100644 index 0000000000..a40b8b7d3f --- /dev/null +++ b/testing/web-platform/tests/quirks/percentage-height-calculation.html @@ -0,0 +1,158 @@ + + + + The percentage height calculation quirk + + + + + +
          + + + + + + + diff --git a/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-001.html b/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-001.html new file mode 100644 index 0000000000..cb0f772b1f --- /dev/null +++ b/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-001.html @@ -0,0 +1,78 @@ + + + + Test: Percent height quirk does not traverse flex/grid containers + + + + + + + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-002.html b/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-002.html new file mode 100644 index 0000000000..88df89d093 --- /dev/null +++ b/testing/web-platform/tests/quirks/percentage-height-quirk-excludes-flex-grid-002.html @@ -0,0 +1,56 @@ + + + + Test: Percent height quirk applies for percent heights on flex/grid containers + + + + + + + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/testing/web-platform/tests/quirks/reference/green-100px-square-no-red.html b/testing/web-platform/tests/quirks/reference/green-100px-square-no-red.html new file mode 100644 index 0000000000..159d9a52a0 --- /dev/null +++ b/testing/web-platform/tests/quirks/reference/green-100px-square-no-red.html @@ -0,0 +1,4 @@ + + +

          There should be a filled green square below, and no red.

          +
          diff --git a/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-001-ref.html b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-001-ref.html new file mode 100644 index 0000000000..29f8e26a67 --- /dev/null +++ b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-001-ref.html @@ -0,0 +1,76 @@ + + + + + Reference: Percent height quirk does not traverse flex/grid containers + + + + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-notref.html b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-notref.html new file mode 100644 index 0000000000..19aa243a00 --- /dev/null +++ b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-notref.html @@ -0,0 +1,54 @@ + + + + + Not-reference case: Percent height quirk applies for percent heights on flex/grid containers + + + + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html new file mode 100644 index 0000000000..c63bc0efa8 --- /dev/null +++ b/testing/web-platform/tests/quirks/reference/percentage-height-quirk-excludes-flex-grid-002-ref.html @@ -0,0 +1,49 @@ + + + + + Reference case: Percent height quirk applies for percent heights on flex/grid containers + + + + + + +
          +
          +
          +
          +
          +
          +
          +
          +
          + + diff --git a/testing/web-platform/tests/quirks/reference/table-cell-width-calculation-abspos-ref.html b/testing/web-platform/tests/quirks/reference/table-cell-width-calculation-abspos-ref.html new file mode 100644 index 0000000000..41d2203b4a --- /dev/null +++ b/testing/web-platform/tests/quirks/reference/table-cell-width-calculation-abspos-ref.html @@ -0,0 +1,18 @@ + + + + + + +
          1234567
          diff --git a/testing/web-platform/tests/quirks/support/test-ref-iframe.js b/testing/web-platform/tests/quirks/support/test-ref-iframe.js new file mode 100644 index 0000000000..e5df41d424 --- /dev/null +++ b/testing/web-platform/tests/quirks/support/test-ref-iframe.js @@ -0,0 +1,17 @@ +function setupIframe() { + var iframe = document.querySelector('iframe'); + var html = "
          "; + if (iframe.className === "limited-quirks") { + html = '' + html; + } else if (iframe.className === "no-quirks") { + html = '' + html; + } + window.quirks = iframe.className === "quirks"; + window.win = iframe.contentWindow; + win.document.open(); + win.document.write(html); + win.document.close(); + ['style', 'test', 'ref', 'svg', 'svg_ref'].forEach(function(id) { + win[id] = win.document.getElementById(id); + }); +} diff --git a/testing/web-platform/tests/quirks/supports.html b/testing/web-platform/tests/quirks/supports.html new file mode 100644 index 0000000000..913f7d9f73 --- /dev/null +++ b/testing/web-platform/tests/quirks/supports.html @@ -0,0 +1,48 @@ + +Syntax quirks in @supports/CSS.supports + + + + + + + +
          +
          +
          + diff --git a/testing/web-platform/tests/quirks/table-cell-nowrap-minimum-width-calculation.html b/testing/web-platform/tests/quirks/table-cell-nowrap-minimum-width-calculation.html new file mode 100644 index 0000000000..25590c64a3 --- /dev/null +++ b/testing/web-platform/tests/quirks/table-cell-nowrap-minimum-width-calculation.html @@ -0,0 +1,72 @@ + + + + The table cell nowrap minimum width calculation quirk + + + + + +
          + + + + + + diff --git a/testing/web-platform/tests/quirks/table-cell-width-calculation-abspos.html b/testing/web-platform/tests/quirks/table-cell-width-calculation-abspos.html new file mode 100644 index 0000000000..4b9cb21387 --- /dev/null +++ b/testing/web-platform/tests/quirks/table-cell-width-calculation-abspos.html @@ -0,0 +1,21 @@ +An out-of-flow imagef in the table cell width calculation quirk + + + + + + + + +
          1234567
          diff --git a/testing/web-platform/tests/quirks/table-cell-width-calculation-applies-to.html b/testing/web-platform/tests/quirks/table-cell-width-calculation-applies-to.html new file mode 100644 index 0000000000..d7cd7fd16c --- /dev/null +++ b/testing/web-platform/tests/quirks/table-cell-width-calculation-applies-to.html @@ -0,0 +1,18 @@ +The table cell width calculation quirk should not apply to inline blocks + + + + + + + + + + +
          5050
          + + diff --git a/testing/web-platform/tests/quirks/table-cell-width-calculation.html b/testing/web-platform/tests/quirks/table-cell-width-calculation.html new file mode 100644 index 0000000000..7d76a9194b --- /dev/null +++ b/testing/web-platform/tests/quirks/table-cell-width-calculation.html @@ -0,0 +1,174 @@ + + + + The table cell width calculation quirk + + + + + +
          + + + + + + diff --git a/testing/web-platform/tests/quirks/table-replaced-descendant-percentage-height-crash.html b/testing/web-platform/tests/quirks/table-replaced-descendant-percentage-height-crash.html new file mode 100644 index 0000000000..385d6caf20 --- /dev/null +++ b/testing/web-platform/tests/quirks/table-replaced-descendant-percentage-height-crash.html @@ -0,0 +1,14 @@ + + + + +
          +
          + +
          +
          + + + diff --git a/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-ref.html b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-ref.html new file mode 100644 index 0000000000..a72475f40c --- /dev/null +++ b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks-ref.html @@ -0,0 +1,13 @@ +text decoration doesn't propagate into tables quirks mode ref + +
          this should not be underlined
          +
          this should not be underlined
          +
          this should not be underlined
          +
          this should be underlined
          diff --git a/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks.html b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks.html new file mode 100644 index 0000000000..669c886821 --- /dev/null +++ b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/quirks.html @@ -0,0 +1,14 @@ +text decoration doesn't propagate into tables quirk + + +
          this should not be underlined
          +
          this should not be underlined
          +
          this should not be underlined
          +
          this should be underlined
          diff --git a/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-ref.html b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-ref.html new file mode 100644 index 0000000000..188e00ba94 --- /dev/null +++ b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards-ref.html @@ -0,0 +1,15 @@ + +text decoration doesn't propagate into tables standards mode ref + +
          this should be underlined
          +
          this should not be underlined
          +
          this should be underlined
          +
          this should be underlined
          diff --git a/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards.html b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards.html new file mode 100644 index 0000000000..62d4859696 --- /dev/null +++ b/testing/web-platform/tests/quirks/text-decoration-doesnt-propagate-into-tables/standards.html @@ -0,0 +1,16 @@ + +text decoration doesn't propagate into tables standards mode + + +
          this should be underlined
          +
          this should not be underlined
          +
          this should be underlined
          +
          this should be underlined
          diff --git a/testing/web-platform/tests/quirks/unitless-length/excluded-properties-001.html b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-001.html new file mode 100644 index 0000000000..09fedcf601 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-001.html @@ -0,0 +1,85 @@ + + + +Many properties do not support quirky-length + + + + + + + +
          + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/excluded-properties-002.html b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-002.html new file mode 100644 index 0000000000..b8b3b2e5c5 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-002.html @@ -0,0 +1,43 @@ + + + +Many properties do not support quirky-length + + + + + + + +
          + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/excluded-properties-003.html b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-003.html new file mode 100644 index 0000000000..4cbe012a55 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/excluded-properties-003.html @@ -0,0 +1,42 @@ + + + +inset does not support quirky-length + + + + + + +
          + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/limited-quirks.html b/testing/web-platform/tests/quirks/unitless-length/limited-quirks.html new file mode 100644 index 0000000000..fab0b3b805 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/limited-quirks.html @@ -0,0 +1,15 @@ + + + + The unitless length quirk (limited-quirks) + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/no-quirks.html b/testing/web-platform/tests/quirks/unitless-length/no-quirks.html new file mode 100644 index 0000000000..82036f9a61 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/no-quirks.html @@ -0,0 +1,16 @@ + + + + The unitless length quirk (no-quirks) + + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/quirks.html b/testing/web-platform/tests/quirks/unitless-length/quirks.html new file mode 100644 index 0000000000..80bda7a392 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/quirks.html @@ -0,0 +1,15 @@ + + + + The unitless length quirk (quirks) + + + + + +
          + + + + + diff --git a/testing/web-platform/tests/quirks/unitless-length/support/common.js b/testing/web-platform/tests/quirks/unitless-length/support/common.js new file mode 100644 index 0000000000..f2f7eab4e3 --- /dev/null +++ b/testing/web-platform/tests/quirks/unitless-length/support/common.js @@ -0,0 +1,152 @@ +setup({explicit_done:true}); +onload = function() { + setupIframe(); + + var tests = [ + {input:"1", q:"1px"}, + {input:"+1", q:"1px"}, + {input:"-1", q:"-1px"}, + {input:"1.5", q:"1.5px"}, + {input:"+1.5", q:"1.5px"}, + {input:"-1.5", q:"-1.5px"}, + {input:"\\31 "}, + {input:"+\\31 "}, + {input:"-\\31 "}, + {input:"\\31 .5"}, + {input:"+\\31 .5"}, + {input:"-\\31 .5"}, + {input:"1\\31 "}, + {input:"+1\\31 "}, + {input:"-1\\31 "}, + {input:"1\\31 .5"}, + {input:"+1\\31 .5"}, + {input:"-1\\31 .5"}, + {input:"a"}, + {input:"A"}, + {input:"1a"}, + {input:"+1a"}, + {input:"-1a"}, + {input:"+1A"}, + {input:"-1A"}, + {input:"+a"}, + {input:"-a"}, + {input:"+A"}, + {input:"-A"}, + {input:"@a"}, + {input:"@1"}, + {input:"@1a"}, + {input:'"a"'}, + {input:'"1"'}, + {input:'"1a"'}, + {input:"url(1)"}, + {input:"url('1')"}, + {input:"#1"}, + {input:"#01"}, + {input:"#001"}, + {input:"#0001"}, + {input:"#00001"}, + {input:"#000001"}, + {input:"+/**/1"}, + {input:"-/**/1"}, + {input:"calc(1)"}, + {input:"calc(2 * 2px)", q:"4px", s:"4px"}, + {input:"1px 2", q:"1px 2px", shorthand:true}, + {input:"1 2px", q:"1px 2px", shorthand:true}, + {input:"1px calc(2)", shorthand:true}, + {input:"calc(1) 2px", shorthand:true}, + {input:"1 +2", q:"1px 2px", shorthand:true}, + {input:"1 -2", q:"1px -2px", shorthand:true}, + ]; + + var props = [ + {prop:'background-position', check:'background-position', check_also:[]}, + {prop:'border-spacing', check:'border-spacing', check_also:[]}, + {prop:'border-top-width', check:'border-top-width'}, + {prop:'border-right-width', check:'border-right-width'}, + {prop:'border-bottom-width', check:'border-bottom-width'}, + {prop:'border-left-width', check:'border-left-width'}, + {prop:'border-width', check:'border-top-width', check_also:['border-right-width', 'border-bottom-width', 'border-left-width']}, + {prop:'bottom', check:'bottom'}, + {prop:'clip', check:'clip'}, + {prop:'font-size', check:'font-size'}, + {prop:'height', check:'height'}, + {prop:'left', check:'left'}, + {prop:'letter-spacing', check:'letter-spacing'}, + {prop:'margin-right', check:'margin-right'}, + {prop:'margin-left', check:'margin-left'}, + {prop:'margin-top', check:'margin-top'}, + {prop:'margin-bottom', check:'margin-bottom'}, + {prop:'margin', check:'margin-top', check_also:['margin-right', 'margin-bottom', 'margin-left']}, + {prop:'max-height', check:'max-height'}, + {prop:'max-width', check:'max-width'}, + {prop:'min-height', check:'min-height'}, + {prop:'min-width', check:'min-width'}, + {prop:'padding-top', check:'padding-top'}, + {prop:'padding-right', check:'padding-right'}, + {prop:'padding-bottom', check:'padding-bottom'}, + {prop:'padding-left', check:'padding-left'}, + {prop:'padding', check:'padding-top', check_also:['padding-right', 'padding-bottom', 'padding-left']}, + {prop:'right', check:'right'}, + {prop:'text-indent', check:'text-indent'}, + {prop:'top', check:'top'}, + {prop:'vertical-align', check:'vertical-align'}, + {prop:'width', check:'width'}, + {prop:'word-spacing', check:'word-spacing'}, + ]; + var style_template = '#test{border-style:solid;position:relative;{prop}:{test};}' + + '#ref{border-style:solid;position:relative;{prop}:{ref};}'; + + tests.forEach(function(t) { + for (var i in props) { + if (t.shorthand && !(props[i].check_also)) { + continue; + } + test(function() { + win.style.textContent = style_template.replace('{test}', t.input) + .replace('{ref}', quirks ? t.q : t.s).replace(/\{prop\}/g, props[i].prop) + .replace(/clip:[^;]+/g, function(match) { + return 'clip:rect(auto, auto, auto, ' + match.substr(5) + ')'; + }); + assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check), + win.getComputedStyle(win.ref).getPropertyValue(props[i].check), + props[i].prop); + if (t.shorthand && props[i].check_also) { + for (var j in props[i].check_also) { + assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check_also[j]), + win.getComputedStyle(win.ref).getPropertyValue(props[i].check_also[j]), + props[i].prop + ', checking ' + props[i].check_also[j]); + } + } + }, props[i].prop + ": " + t.input); + + } + }); + + if (quirks) { + var other_tests = [ + {input:'background:1 1', prop:'background-position'}, + {input:'border-top:red solid 1', prop:'border-top-width'}, + {input:'border-right:red solid 1', prop:'border-right-width'}, + {input:'border-bottom:red solid 1', prop:'border-bottom-width'}, + {input:'border-left:red solid 1', prop:'border-left-width'}, + {input:'border:red solid 1', prop:'border-top-width'}, + {input:'font:normal normal normal 40 sans-serif', prop:'font-size'}, + {input:'outline:red solid 1', prop:'outline-width'}, + {input:'outline-width:1', prop:'outline-width'}, + ]; + + var other_template = "#test{position:relative;outline-style:solid;{test}}" + + "#ref{outline-style:solid}"; + + other_tests.forEach(function(t) { + test(function() { + win.style.textContent = other_template.replace('{test}', t.input); + assert_equals(win.getComputedStyle(win.test).getPropertyValue(t.prop), + win.getComputedStyle(win.ref).getPropertyValue(t.prop), + 'quirk was supported'); + }, 'Excluded property '+t.input); + }); + } + + done(); +} -- cgit v1.2.3