| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>CSSOM: Handling pseudo-elements with arguments</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <link rel=help href=https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle> | |
| <style> | |
| #pseudo-invalid::highlight(name) { | |
| color: rgb(0, 128, 0); | |
| } | |
| #pseudo-invalid::view-transition-image-pair(name) { | |
| color: rgb(0, 128, 0); | |
| } | |
| #pseudo-invalid::view-transition-group(name) { | |
| color: rgb(0, 128, 0); | |
| } | |
| #pseudo-invalid::view-transition-old(name) { | |
| color: rgb(0, 128, 0); | |
| } | |
| #pseudo-invalid::view-transition-new(name) { | |
| color: rgb(0, 128, 0); | |
| } | |
| </style> | |
| <ul><li id="pseudo-invalid">Item</li></ul> | |
| <script> | |
| [ | |
| "::before(test)", | |
| "::highlight", | |
| "::highlight(", | |
| "::highlight()", | |
| "::highlight(1)", | |
| "::highlight($)", | |
| "::highlight (name)", | |
| "::highlight(name)a", | |
| ":highlight(name)", | |
| "::view-transition-group(*)", | |
| "::view-transition-image-pair(*)", | |
| "::view-transition-old(*)", | |
| "::view-transition-new(*)", | |
| ":view-transition-group(name)", | |
| ":view-transition-image-pair(name)", | |
| ":view-transition-old(name)", | |
| ":view-transition-new(name)", | |
| ].forEach(nonParsablePseudoIdentifier => { | |
| test(() => { | |
| const li = document.querySelector('li'); | |
| assert_equals(getComputedStyle(li, nonParsablePseudoIdentifier).length, 0); | |
| }, `This pseudo-element should not parse: ${nonParsablePseudoIdentifier}`) | |
| }); | |
| [ | |
| "::highlight(name)", | |
| "::highlight(\nname", | |
| "::highlight(name\t", | |
| "::highlight( name ", | |
| "::highlight( n\\61me )" | |
| ].forEach(parsablePseudoIdentifier => { | |
| test(() => { | |
| const li = document.querySelector('li'); | |
| assert_true(getComputedStyle(li, parsablePseudoIdentifier).length != 0); | |
| assert_equals(getComputedStyle(li, parsablePseudoIdentifier).color, "rgb(0, 128, 0)"); | |
| }, `This pseudo-element should parse: ${parsablePseudoIdentifier}`); | |
| }); | |
| </script> |