Update web-platform-tests to revision b'51407aaa3d17aa440f6807caef5e390dc779087a'

This commit is contained in:
WPT Sync Bot 2021-02-25 08:20:53 +00:00
parent 60b642968b
commit 4db11786c5
263 changed files with 6777 additions and 1228 deletions

View file

@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -0,0 +1,2 @@
[hsl-008.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[rgba-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-item-flex-percentage-min-width.html]
expected: FAIL

View file

@ -0,0 +1,10 @@
[advance-override-serialization.html]
[One parameter should be serialized as one parameter]
expected: FAIL
[Two different parameters should be serialized as two parameters]
expected: FAIL
[Two identical parameters should be simplified into one parameter]
expected: FAIL

View file

@ -0,0 +1,2 @@
[advance-override-vertical-upright.html]
expected: FAIL

View file

@ -0,0 +1,34 @@
[tab-size-computed-value-001.html]
[testing tab-size: 4]
expected: FAIL
[testing tab-size: 0.5in]
expected: FAIL
[testing tab-size: 2.54cm]
expected: FAIL
[testing tab-size: 25.4mm]
expected: FAIL
[testing tab-size: 18pt]
expected: FAIL
[testing tab-size: 5pc]
expected: FAIL
[testing tab-size: 101.6Q]
expected: FAIL
[testing tab-size: 7px]
expected: FAIL
[testing tab-size: 1em]
expected: FAIL
[testing tab-size: 2ex]
expected: FAIL
[testing tab-size: 3rem]
expected: FAIL

View file

@ -0,0 +1,46 @@
[calc-infinity-nan-computed.html]
[Property width value 'calc(NaN * 1px)']
expected: FAIL
[Property width value 'calc(infinity * 1px)']
expected: FAIL
[Property width value 'calc(infinity * 1cm)']
expected: FAIL
[Property width value 'calc(NaN * 1rem)']
expected: FAIL
[Property width value 'calc(infinity * 1px - infinity * 1%)']
expected: FAIL
[Property width value 'calc(infinity * 1px + infinity * 1%)']
expected: FAIL
[Property width value 'calc(min(NaN * 1px, infinity * 1px) + max(infinity * 1px, -infinity * 1px))']
expected: FAIL
[Property width value 'calc(infinity * 1px - max(infinity * 1%, 0%))']
expected: FAIL
[Property width value 'calc(max(infinity * 1px, 10px))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1px)']
expected: FAIL
[Property margin-left value 'calc(min(1px, -infinity * 1%))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1%)']
expected: FAIL
[Property margin-left value 'calc(max(10000px, 0px) + min(-infinity * 1px, infinity * 1px))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1px - infinity * 1px)']
expected: FAIL
[Property margin-left value 'calc(min(-infinity * 1px, 10px))']
expected: FAIL

View file

@ -0,0 +1,4 @@
[user-valid.html]
[:user-valid selector should be supported]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -309,24 +309,18 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL

View file

@ -59,3 +59,6 @@
[separate text/javascript; charset=windows-1252 text/javascript]
expected: FAIL
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL

View file

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

View file

@ -0,0 +1,2 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -1,8 +1,8 @@
[embedded-opener-remove-frame.html]
expected: CRASH
expected: TIMEOUT
[opener of discarded nested browsing context]
expected: FAIL
[opener of discarded auxiliary browsing context]
expected: FAIL
expected: TIMEOUT

View file

@ -4,14 +4,14 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Element with tabindex should support autofocus]
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: TIMEOUT
[Host element with delegatesFocus should support autofocus]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-row-height.html]
expected: FAIL

View file

@ -0,0 +1,4 @@
[picture-aspect-ratio.html]
[Computed style]
expected: FAIL

View file

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

View file

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

View file

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

View file

@ -5,48 +5,21 @@
[textarea: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type url: selectionDirection a second time (must not fire select)]
expected: FAIL
[textarea: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type url: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type password: selectionStart a second time (must not fire select)]
expected: FAIL
[input type url: setRangeText() a second time (must not fire select)]
expected: FAIL
[input type search: setRangeText() a second time (must not fire select)]
expected: FAIL
[input type url: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[input type url: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type search: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type search: selectionStart a second time (must not fire select)]
expected: FAIL
[textarea: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type text: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type text: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type text: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type search: selectionEnd a second time (must not fire select)]
expected: FAIL
@ -59,9 +32,27 @@
[input type password: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type password: setRangeText() a second time (must not fire select)]
[textarea: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type password: selectionStart out of range a second time (must not fire select)]
[textarea: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[textarea: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type text: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[input type text: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type url: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type url: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type password: selectionEnd out of range a second time (must not fire select)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[htmlanchorelement_noopener.html]
expected: TIMEOUT
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: FAIL
@ -7,8 +6,8 @@
expected: FAIL
[Check that rel=noopener with target=_parent does a normal load]
expected: NOTRUN
expected: FAIL
[Check that rel=noopener with target=_self does a normal load]
expected: NOTRUN
expected: FAIL

View file

@ -0,0 +1,4 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,5 +1,4 @@
[audiocontext-not-fully-active.html]
expected: TIMEOUT
[frame in navigated remote-site frame]
expected: FAIL

View file

@ -2,3 +2,9 @@
[test_element_in_object]
expected: FAIL
[test_array_in_object]
expected: FAIL
[test_object_in_array]
expected: FAIL

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

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

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -0,0 +1,2 @@
[hsl-008.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[rgba-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-item-flex-percentage-min-width.html]
expected: FAIL

View file

@ -0,0 +1,10 @@
[advance-override-serialization.html]
[One parameter should be serialized as one parameter]
expected: FAIL
[Two different parameters should be serialized as two parameters]
expected: FAIL
[Two identical parameters should be simplified into one parameter]
expected: FAIL

View file

@ -0,0 +1,2 @@
[advance-override-vertical-upright.html]
expected: FAIL

View file

@ -0,0 +1,34 @@
[tab-size-computed-value-001.html]
[testing tab-size: 4]
expected: FAIL
[testing tab-size: 0.5in]
expected: FAIL
[testing tab-size: 2.54cm]
expected: FAIL
[testing tab-size: 25.4mm]
expected: FAIL
[testing tab-size: 18pt]
expected: FAIL
[testing tab-size: 5pc]
expected: FAIL
[testing tab-size: 101.6Q]
expected: FAIL
[testing tab-size: 7px]
expected: FAIL
[testing tab-size: 1em]
expected: FAIL
[testing tab-size: 2ex]
expected: FAIL
[testing tab-size: 3rem]
expected: FAIL

View file

@ -2,3 +2,6 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -0,0 +1,46 @@
[calc-infinity-nan-computed.html]
[Property width value 'calc(NaN * 1px)']
expected: FAIL
[Property width value 'calc(infinity * 1px)']
expected: FAIL
[Property width value 'calc(infinity * 1cm)']
expected: FAIL
[Property width value 'calc(NaN * 1rem)']
expected: FAIL
[Property width value 'calc(infinity * 1px - infinity * 1%)']
expected: FAIL
[Property width value 'calc(infinity * 1px + infinity * 1%)']
expected: FAIL
[Property width value 'calc(min(NaN * 1px, infinity * 1px) + max(infinity * 1px, -infinity * 1px))']
expected: FAIL
[Property width value 'calc(infinity * 1px - max(infinity * 1%, 0%))']
expected: FAIL
[Property width value 'calc(max(infinity * 1px, 10px))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1px)']
expected: FAIL
[Property margin-left value 'calc(min(1px, -infinity * 1%))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1%)']
expected: FAIL
[Property margin-left value 'calc(max(10000px, 0px) + min(-infinity * 1px, infinity * 1px))']
expected: FAIL
[Property margin-left value 'calc(-infinity * 1px - infinity * 1px)']
expected: FAIL
[Property margin-left value 'calc(min(-infinity * 1px, 10px))']
expected: FAIL

View file

@ -0,0 +1,4 @@
[user-valid.html]
[:user-valid selector should be supported]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

@ -309,24 +309,18 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL

View file

@ -59,3 +59,6 @@
[separate text/javascript; charset=windows-1252 text/javascript]
expected: FAIL
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL

View file

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

View file

@ -0,0 +1,2 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -1,5 +1,5 @@
[embedded-opener-remove-frame.html]
expected: CRASH
expected: TIMEOUT
[opener and "removed" embedded documents]
expected: FAIL
@ -7,5 +7,5 @@
expected: FAIL
[opener of discarded auxiliary browsing context]
expected: FAIL
expected: TIMEOUT

View file

@ -7,11 +7,11 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: TIMEOUT
[Host element with delegatesFocus should support autofocus]
expected: FAIL

View file

@ -0,0 +1,2 @@
[table-row-height.html]
expected: FAIL

View file

@ -0,0 +1,4 @@
[picture-aspect-ratio.html]
[Computed style]
expected: FAIL

View file

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

View file

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

View file

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

View file

@ -5,48 +5,21 @@
[textarea: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type url: selectionDirection a second time (must not fire select)]
expected: FAIL
[textarea: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type url: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type password: selectionStart a second time (must not fire select)]
expected: FAIL
[input type url: setRangeText() a second time (must not fire select)]
expected: FAIL
[input type search: setRangeText() a second time (must not fire select)]
expected: FAIL
[input type url: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[input type url: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type search: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type search: selectionStart a second time (must not fire select)]
expected: FAIL
[textarea: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type text: selectionEnd a second time (must not fire select)]
expected: FAIL
[input type text: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type text: setSelectionRange() a second time (must not fire select)]
expected: FAIL
[input type search: selectionEnd a second time (must not fire select)]
expected: FAIL
@ -59,9 +32,27 @@
[input type password: selectionDirection a second time (must not fire select)]
expected: FAIL
[input type password: setRangeText() a second time (must not fire select)]
[textarea: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type password: selectionStart out of range a second time (must not fire select)]
[textarea: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[textarea: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type text: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
[input type text: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type url: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type url: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
[input type password: selectionEnd out of range a second time (must not fire select)]
expected: FAIL

View file

@ -1,6 +1,5 @@
[htmlanchorelement_noopener.html]
type: testharness
expected: TIMEOUT
[Check that targeting of rel=noopener with a given name ignores an existing window with that name]
expected: NOTRUN
@ -11,8 +10,8 @@
expected: FAIL
[Check that rel=noopener with target=_parent does a normal load]
expected: NOTRUN
expected: FAIL
[Check that rel=noopener with target=_self does a normal load]
expected: NOTRUN
expected: FAIL

View file

@ -0,0 +1,4 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

@ -1,22 +0,0 @@
[import-module-scripts.https.html]
[Dynamic import.]
expected: FAIL
[Static import and then dynamic import.]
expected: FAIL
[eval(import()).]
expected: FAIL
[Dynamic import and then static import.]
expected: FAIL
[Static import.]
expected: FAIL
[Nested dynamic import.]
expected: FAIL
[Nested static import.]
expected: FAIL

View file

@ -1,5 +1,4 @@
[audiocontext-not-fully-active.html]
expected: TIMEOUT
[frame in navigated remote-site frame]
expected: FAIL

View file

@ -2,3 +2,9 @@
[test_element_in_object]
expected: FAIL
[test_array_in_object]
expected: FAIL
[test_object_in_array]
expected: FAIL

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

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

View file

@ -32,7 +32,7 @@ messages.json: .FORCE
https://github.com/validator/validator/releases/download/jar/vnu.jar
$(JAVA) $(JAVAFLAGS) -cp vnu.jar nu.validator.client.TestRunner \
--ignore=html-its --write-messages $@
$(PYTHON) $(PYTHONFLAGS) -mjson.tool $@ > $@.tmp
$(PYTHON) $(PYTHONFLAGS) -mjson.tool --sort-keys $@ > $@.tmp
mv $@.tmp $@
test: .FORCE

View file

@ -1400,18 +1400,18 @@
"html/elements/ins/year-novalid.html": "Bad value \u201c2006\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.",
"html/elements/ins/yearless-date-novalid.html": "Bad value \u201c07-15\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.",
"html/elements/kbd/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
"html/elements/keygen/challenge-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/id-bad-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/id-missing-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/id-redundant-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/keygen-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/keytype-bad-value-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/keytype-empty-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/keytype-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/model-also-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/model-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/no-attributes-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/non-void-novalid.html": "The \u201ckeygen\u201d element is obsolete. ",
"html/elements/keygen/challenge-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/id-bad-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/id-missing-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/id-redundant-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/keygen-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/keytype-bad-value-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/keytype-empty-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/keytype-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/model-also-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/model-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/no-attributes-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/keygen/non-void-novalid.html": "The \u201ckeygen\u201d element is obsolete.",
"html/elements/label/for-descendant-no-id-novalid.html": "Any \u201cinput\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.",
"html/elements/label/multiple-descendants-novalid.html": "The \u201clabel\u201d element may contain at most one \u201cbutton\u201d, \u201cinput\u201d, \u201cmeter\u201d, \u201coutput\u201d, \u201cprogress\u201d, \u201cselect\u201d, or \u201ctextarea\u201d descendant.",
"html/elements/link/href-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Must be non-empty.",
@ -2401,24 +2401,24 @@
"xhtml/elements/img/004-novalid.xhtml": "The element \u201cimg\u201d with the attribute \u201cusemap\u201d must not appear as a descendant of the \u201ca\u201d element.",
"xhtml/elements/img/051-novalid.xhtml": "Bad value \u201c-1\u201d for attribute \u201cwidth\u201d on element \u201cimg\u201d: Bad non-negative integer: Expected a digit but saw \u201c-\u201d instead.",
"xhtml/elements/input/003-novalid.xhtml": "The \u201clist\u201d attribute of the \u201cinput\u201d element must refer to a \u201cdatalist\u201d element.",
"xhtml/elements/keygen/054-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/054-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/055-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/056-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/056-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/057-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/057-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/058-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/058-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/059-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/060-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/061-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/154-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/157-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/359-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/360-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/361-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/keygen-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete. ",
"xhtml/elements/keygen/054-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/054-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/055-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/056-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/056-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/057-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/057-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/058-also-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/058-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/059-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/060-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/061-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/154-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/157-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/359-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/360-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/361-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/keygen/keygen-novalid.xhtml": "The \u201ckeygen\u201d element is obsolete.",
"xhtml/elements/link/001-novalid.xhtml": "Element \u201clink\u201d is missing one or more of the following attributes: [href, resource].",
"xhtml/elements/menu/menu-containing-hr-novalid.xhtml": "Element \u201chr\u201d not allowed as child of element \u201cmenu\u201d in this context. (Suppressing further errors from this subtree.)",
"xhtml/elements/menu/menu-containing-menu-novalid.xhtml": "Element \u201cmenu\u201d not allowed as child of element \u201cmenu\u201d in this context. (Suppressing further errors from this subtree.)",

View file

@ -0,0 +1,125 @@
<!DOCTYPE html>
<html>
<head>
<title>Embedded Enforcement: Subsumption Algorithm - Wildcard lists.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/testharness-helper.sub.js"></script>
</head>
<body>
<script>
var tests = [
{ "name" : "Wildcard list subsumes an empty source list.",
"required_csp": "img-src *",
"returned_csp_1": "img-src ",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list subsumes a source list with `none`.",
"required_csp": "img-src *",
"returned_csp_1": "img-src 'none'",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list subsumes another wildcard list.",
"required_csp": "img-src *",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list subsumes a list of policies with wildcards in source lists.",
"required_csp": "img-src *",
"returned_csp_1": "img-src *",
"returned_csp_2": "img-src *",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list is equivalent to a specific list of scheme expressions and their secure variants.",
"required_csp": "https: http: ftp: ws: wss:",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list is equivalent to a specific list of scheme expressions.",
"required_csp": "img-src http: ftp: ws:",
"returned_csp_1": "img-src *",
"returned_csp_2": "img-src https: http: ftp: ws: wss:",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list subsumption logic should not affect other keyword expressions.",
"required_csp": "img-src http: ftp: ws: 'self'",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard list might include other scheme source expressions.",
"required_csp": "img-src data: blob: *",
"returned_csp_1": "img-src data://a.com ws://b.com ftp://c.com",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Effective wildcard list should be properly found.",
"required_csp": "img-src http://a.com ws://b.com ftp://c.com",
"returned_csp_1": "img-src *",
"returned_csp_2": "img-src http://a.com ws://b.com ftp://c.com",
"expected": IframeLoad.EXPECT_LOAD },
{ "name" : "Wildcard does not subsume empty list.",
"required_csp": "img-src *",
"returned_csp_1": null,
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Empty source list does not subsume a wildcard source list.",
"required_csp": "img-src ",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "'none' does not subsume a wildcard source list.",
"required_csp": "img-src 'none'",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard source list does not subsume `data:` scheme source expression.",
"required_csp": "img-src *",
"returned_csp_1": "img-src data:",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard source list does not subsume `blob:` scheme source expression.",
"required_csp": "img-src *",
"returned_csp_1": "img-src blob:",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Source expressions do not subsume effective nonce expressions.",
"required_csp": "script-src http: ftp: ws:",
"returned_csp_1": "script-src * 'nonce-abc'",
"returned_csp_2": "script-src https: 'nonce-abc'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard source list is not subsumed by a host expression.",
"required_csp": "img-src https://another.test",
"returned_csp_1": "img-src *",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard list with keywords is not subsumed by a wildcard list.",
"required_csp": "style-src *",
"returned_csp_1": "style-src * 'unsafe-eval'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard list with 'unsafe-hashed-attributes' is not subsumed by a wildcard list.",
"required_csp": "style-src *",
"returned_csp_1": "style-src * 'unsafe-hashed-attributes'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard list with 'unsafe-inline' is not subsumed by a wildcard list.",
"required_csp": "style-src *",
"returned_csp_1": "style-src * 'unsafe-inline'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard list with 'unsafe-eval' is not subsumed by a wildcard list.",
"required_csp": "img-src 'unsafe-eval'",
"returned_csp_1": "img-src * 'unsafe-eval'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "Wildcard list with 'unsafe-eval' is not subsumed by list with a single expression.",
"required_csp": "img-src 'unsafe-hashed-attributes'",
"returned_csp_1": "img-src * 'unsafe-hashed-attributes'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "The same as above but for 'unsafe-inline'.",
"required_csp": "img-src 'unsafe-inline'",
"returned_csp_1": "img-src * 'unsafe-inline'",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "`data:` is not subsumed by a wildcard list.",
"required_csp": "img-src *",
"returned_csp_1": "img-src data: blob:",
"returned_csp_2": "img-src data://a.com ws://b.com ftp://c.com",
"expected": IframeLoad.EXPECT_BLOCK },
{ "name" : "`blob:` is not subsumed by a wildcard list.",
"required_csp": "img-src * data:",
"returned_csp_1": "img-src data: blob:",
"returned_csp_2": "img-src blob://a.com ws://b.com ftp://c.com",
"expected": IframeLoad.EXPECT_BLOCK },
];
tests.forEach(test => {
async_test(t => {
var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1);
if (test.returned_csp_2)
url.searchParams.append("policy2", test.returned_csp_2);
assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null);
}, test.name);
});
</script>
</body>
</html>

View file

@ -2,10 +2,6 @@
<html>
<head>
<title>test wildcard host name matching (asterisk as part of a subdomain is not accepted)</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' *w.{{host}}:{{ports[http][0]}} w*.{{host}}:{{ports[http][0]}} 'unsafe-inline';">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src='wildcardHostTestFailure.js'></script>
<script>
var t_spv = async_test("Should fire violation events for every failed violation");
var spvEvent;
@ -23,6 +19,10 @@
script.src = "http://www." + location.hostname + ":" + location.port + "/content-security-policy/generic/wildcardHostTestSuceeds.js";
head.appendChild(script);
</script>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' *w.{{host}}:{{ports[http][0]}} w*.{{host}}:{{ports[http][0]}} 'unsafe-inline';">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src='wildcardHostTestFailure.js'></script>
</head>
<body>
<h1>test wildcard host name matching (asterisk as part of a subdomain is not accepted)</h1>

View file

@ -6,7 +6,7 @@
<script src='/resources/testharness.js' nonce='dummy'></script>
<script src='/resources/testharnessreport.js' nonce='dummy'></script>
<!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-IFt1v6itHgqlrtInbPm/y7qyWcAlDbPgZM+92C5EZ5o=' -->
<!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-EEoi70frWHkGFhK51NVIJkXpq72aPxSCNZEow37ZmRA=' -->
</head>
<body>
@ -16,11 +16,11 @@
<script nonce='dummy'>
var hashScriptRan = false;
window.addEventListener('securitypolicyviolation', function(e) {
assert_unreached('No CSP violation report has fired.');
assert_unreached('CSP violation reports should not fire.');
});
</script>
<!-- Hash: 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' -->
<!-- Hash: 'sha256-EEoi70frWHkGFhK51NVIJkXpq72aPxSCNZEow37ZmRA=' -->
<script>
hashScriptRan = true;
</script>

View file

@ -2,4 +2,4 @@ Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-IFt1v6itHgqlrtInbPm/y7qyWcAlDbPgZM+92C5EZ5o='
Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-EEoi70frWHkGFhK51NVIJkXpq72aPxSCNZEow37ZmRA='

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
<link rel="help" href="https://www.w3.org/TR/CSS22/box.html#collapsing-margins" title="8.3.1 Collapsing margins">
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="width: 100px; height: 100px; background: green;"></div>
<div style="width: 0; height: 0; outline: solid red 50px; position: relative; z-index: 1; overflow: clip; margin-left: 50px;">
<div id="target"></div>
</div>
<script>
document.body.offsetTop;
document.getElementById('target').style.marginTop = '-1000px';
</script>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>
border-color: transparent should not hide the border-image
</title>
<style>
div {
width: 200px;
height: 200px;
margin: 20px;
background-color: silver;
border-image-source: url('./support/100x100-blue-and-orange.png');
border-image-slice: 32;
border-image-repeat: repeat;
border-style: solid;
border-width: 32px;
}
</style>
This box should have a visible blue-orange border-image.
<div></div>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="author" title="Tyler Wilcock" href="mailto:twilco.o@protonmail.com">
<link rel="help" href="https://www.w3.org/TR/2017/CR-css-backgrounds-3-20171017/#border-images">
<link rel="match" href="border-image-displayed-with-transparent-border-color-ref.html">
<title>
border-color: transparent should not hide the border-image
</title>
<style>
div {
width: 200px;
height: 200px;
margin: 20px;
background-color: silver;
border-image-source: url('./support/100x100-blue-and-orange.png');
border-image-slice: 32;
border-image-repeat: repeat;
border-style: solid;
border-width: 32px;
}
</style>
This box should have a visible blue-orange border-image.
<div style="border-color: transparent;"></div>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<style>
.multicol {
column-count: 2;
column-fill: auto;
column-gap: 0px;
}
#outer {
height: 120px;
width: 100px;
}
#inner {
width: 50px;
column-gap: 16px;
height: 100px;
padding: 10px;
}
#ref {
height: 400px;
width: 25px;
background-color: green;
}
</style>
<div class="multicol" id="outer">
<div class="multicol" id="inner">
<div id="ref"></div>
</div>
</div>

View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<title>
Nested fragmentation for out-of-flow positioned elements create new columns.
</title>
<link rel="help" href="https://www.w3.org/TR/css-position-3/#abspos-breaking">
<link rel="match" href="out-of-flow-in-multicolumn-019-ref.html">
<style>
.multicol {
column-count: 2;
column-fill: auto;
column-gap: 0px;
}
#outer {
height: 120px;
width: 100px;
}
#inner {
width: 50px;
column-gap: 16px;
height: 100px;
padding: 10px;
}
.rel {
position: relative;
height: 160px;
}
.abs {
position: absolute;
top: 0px;
height: 400px;
width: 25px;
background-color: green;
}
</style>
<div class="multicol" id="outer">
<div class="multicol" id="inner">
<div class="rel">
<div class="abs"></div>
</div>
</div>
</div>

View file

@ -0,0 +1,40 @@
<!DOCTYPE html>
<title>
Nested fragmentation for out-of-flow positioned elements create new columns.
</title>
<link rel="help" href="https://www.w3.org/TR/css-position-3/#abspos-breaking">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<style>
.multicol {
column-count: 2;
column-fill: auto;
column-gap: 0px;
}
#outer {
height: 100px;
width: 100px;
}
#inner {
background: red;
width: 50px;
}
.rel {
position: relative;
height: 200px;
}
.abs {
position: absolute;
width: 25px;
background-color: green;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div class="multicol" id="outer">
<div class="multicol" id="inner">
<div class="rel">
<div class="abs" style="top: 50px; height: 350px;"></div>
<div class="abs" style="top: 0x; height: 350px;"></div>
</div>
</div>
</div>

View file

@ -3,3 +3,5 @@ suggested_reviewers:
- dbaron
- svgeesus
- tabatkins
- weinig

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: The RGB hexadecimal notations: #RRGGBB</title>
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#hex-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="6 digit hex">
<style>
.test {color: #008000}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test {background-color: #008000}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: The RGB hexadecimal notations: #RRGGBB</title>
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#hex-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="8 digit hex, fully opaque">
<style>
.test {color: #008000FF}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: #008000FF}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,8 +2,9 @@
<meta charset="utf-8">
<title>Green text reference for hex shorthand tests</title>
<style>
.test { color: #007700}
.test { background-color: #007700; width: 12em; height: 12em;}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<div class="test"></div>
</body>

View file

@ -6,8 +6,12 @@
<link rel="match" href="hex-003-ref.html">
<meta name="assert" content="3 digit hex">
<style>
.test {color: #070}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #007700; width: 12em; height: 6em; margin-bottom: 0}
.test {background-color: #070}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -6,8 +6,12 @@
<meta name="assert" content="4 digit hex, fully opaque">
<link rel="match" href="hex-003-ref.html">
<style>
.test {color: #070F}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #007700; width: 12em; height: 6em; margin-bottom: 0}
.test {background-color: #070F}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with number and no alpha, also no comma">
<style>
.test {color: hsl(120 100% 25%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120 100% 25%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with angle and no alpha, also no comma">
<style>
.test {color: hsl(120deg 100% 25%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test {background-color: hsl(120deg 100% 25%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with number and numeric alpha, also no comma">
<style>
.test {color: hsl(120 100% 25% / 1.0)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test {background-color: hsl(120 100% 25% / 1.0)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with angle and numeric alpha, also no comma">
<style>
.test {color: hsl(120deg 100% 25% / 1)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120deg 100% 25% / 1)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with number and percent alpha, also no comma">
<style>
.test {color: hsl(120 100% 25% / 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120 100% 25% / 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="hsl() with angle and percent alpha, also no comma">
<style>
.test {color: hsl(120deg 100% 25% / 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120deg 100% 25% / 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsl() with number and percent alpha, and commas">
<style>
.test {color: hsl(120, 100%, 25%, 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120, 100%, 25%, 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<meta name="assert" content="legacy hsl() with angle and percent alpha, with commas">
<style>
.test {color: hsl(120deg, 100%, 25%, 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsl(120deg, 100%, 25%, 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with number and no alpha, also no comma">
<style>
.test {color: hsla(120 100% 25%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120 100% 25%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with angle and no alpha, also no comma">
<style>
.test {color: hsla(120deg 100% 25%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120deg 100% 25%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with number and numeric alpha, also no comma">
<style>
.test {color: hsla(120 100% 25% / 1.0)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120 100% 25% / 1.0)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with angle and numeric alpha, also no comma">
<style>
.test {color: hsla(120deg 100% 25% / 1)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120deg 100% 25% / 1)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with number and percent alpha, also no comma">
<style>
.test {color: hsla(120 100% 25% / 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120 100% 25% / 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with angle and percent alpha, also no comma">
<style>
.test {color: hsla(120deg 100% 25% / 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120deg 100% 25% / 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with number and percent alpha, and commas">
<style>
.test {color: hsla(120, 100%, 25%, 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120, 100%, 25%, 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -2,12 +2,17 @@
<meta charset="utf-8">
<title>CSS Color 4: HSL functions hsl() and hsla()</title>
<link rel="author" title="Chris Nardi" href="mailto:csnardi1@gmail.com">
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#the-hsl-notation">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="legacy hsla() with angle and percent alpha, with commas">
<style>
.test {color: hsla(120deg, 100%, 25%, 100%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: hsla(120deg, 100%, 25%, 100%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: RGB functions rgb() and rgba()</title>
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#rgb-functions">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="rgb() with percent and no alpha, also no comma">
<style>
.test {color: rgb(0% 50% 0%)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: rgb(0% 50% 0%)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: RGB functions rgb() and rgba()</title>
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#rgb-functions">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="rgb() with 8-bit numbers and no alpha, also no comma">
<style>
.test {color: rgb(0 128.0 0)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: rgb(0 128.0 0)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

View file

@ -3,11 +3,15 @@
<title>CSS Color 4: RGB functions rgb() and rgba()</title>
<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-color-4/#rgb-functions">
<link rel="match" href="greentext-ref.html">
<link rel="match" href="greensquare-ref.html">
<meta name="assert" content="rgb() with percent and numeric alpha, also no comma">
<style>
.test {color: rgb(0% 50% 0% / 1.0)}
.test { background-color: red; width: 12em; height: 6em; margin-top:0}
.ref { background-color: #008000; width: 12em; height: 6em; margin-bottom: 0}
.test { background-color: rgb(0% 50% 0% / 1.0)}
</style>
<body>
<p class="test">Test passes if this text is green</p>
<p>Test passes if you see a green square, and no red.</p>
<p class="ref"> </p>
<p class="test"> </p>
</body>

Some files were not shown because too many files have changed in this diff Show more