tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

tree-abiding-pseudo-elements.html (2603B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>CSS Pseudo-Elements Test: Parsing tree-abiding pseudo-elements</title>
      4 <link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#treelike">
      5 <link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
      6 <meta name="assert" content="This test checks the validity of various selectors containing tree-abiding pseudo-elements." />
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 <script src="/css/support/parsing-testcommon.js"></script>
     10 <script>
     11 // Generated content pseudo-elements
     12 test_valid_selector("::before");
     13 test_valid_selector("*::before", "::before");
     14 test_valid_selector("foo.bar[baz]::before");
     15 test_invalid_selector("::before *");
     16 
     17 test_valid_selector("::after");
     18 test_valid_selector("*::after", "::after");
     19 test_valid_selector("foo.bar[baz]::after");
     20 test_invalid_selector("::after *");
     21 
     22 // List marker pseudo-element
     23 test_valid_selector("::marker");
     24 test_valid_selector("*::marker", "::marker");
     25 test_valid_selector("foo.bar[baz]::marker");
     26 test_invalid_selector("::marker *");
     27 
     28 // Placeholder input pseudo-element
     29 test_valid_selector("::placeholder");
     30 test_valid_selector("*::placeholder", "::placeholder");
     31 test_valid_selector("foo.bar[baz]::placeholder");
     32 test_invalid_selector("::placeholder *");
     33 
     34 // ::file-selector-button
     35 test_valid_selector("::file-selector-button");
     36 test_valid_selector("::file-selector-button:hover");
     37 test_valid_selector("::file-selector-button:focus");
     38 test_valid_selector("::file-selector-button:active");
     39 test_valid_selector("::file-selector-button:is(:hover)");
     40 
     41 test_invalid_selector("::file-selector-button::before");
     42 test_invalid_selector("::file-selector-button#id");
     43 test_invalid_selector("::file-selector-button#class");
     44 test_invalid_selector("::file-selector-button:host");
     45 
     46 // Combinations of the above
     47 test_invalid_selector("::before::before");
     48 test_invalid_selector("::after::before");
     49 test_invalid_selector("::marker::before");
     50 test_invalid_selector("::placeholder::before");
     51 
     52 test_invalid_selector("::before::after");
     53 test_invalid_selector("::after::after");
     54 test_invalid_selector("::marker::after");
     55 test_invalid_selector("::placeholder::after");
     56 
     57 test_valid_selector("::before::marker");
     58 test_valid_selector("::after::marker");
     59 test_invalid_selector("::marker::marker");
     60 test_invalid_selector("::placeholder::marker");
     61 
     62 test_invalid_selector("::before::placeholder");
     63 test_invalid_selector("::after::placeholder");
     64 test_invalid_selector("::marker::placeholder");
     65 test_invalid_selector("::placeholder::placeholder");
     66 </script>