tor-browser

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

dashed-function-parsing.html (3092B)


      1 <!DOCTYPE html>
      2 <title>Custom Functions: &lt;dashed-function&gt; parsing</title>
      3 <link rel="help" href="https://drafts.csswg.org/css-mixins-1/#function-rule">
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="/css/support/parsing-testcommon.js"></script>
      7 <script>
      8 // Note: 'top' chosen arbitrarily.
      9 
     10 test_valid_value('top', '--func()');
     11 test_valid_value('top', '--func(auto)');
     12 test_valid_value('top', '--func(100px)');
     13 test_valid_value('top', '--func(#fff)');
     14 test_valid_value('top', '--func(auto, 100px, #fff)');
     15 test_valid_value('top', '--func(auto ,100px ,#fff)');
     16 test_valid_value('top', '--func(auto , 100px , #fff)');
     17 test_valid_value('top', '--func(auto,100px,#fff)');
     18 test_valid_value('top', '--func("thing")');
     19 test_valid_value('top', '--func(var(--x))');
     20 test_valid_value('top', '--func(var(--x, auto))');
     21 test_valid_value('top', '--func(--bar(), --baz(--fez()))');
     22 
     23 // Certain tokens are forbidden in <declaration-value>.
     24 // https://drafts.csswg.org/css-syntax/#typedef-declaration-value
     25 test_invalid_value('top', '--func(!)');
     26 test_invalid_value('top', '--func( !)');
     27 test_invalid_value('top', '--func( ! )');
     28 test_invalid_value('top', '--func(! )');
     29 test_invalid_value('top', '--func(;)');
     30 test_invalid_value('top', '--func(})');
     31 test_invalid_value('top', '--func(])');
     32 // Invalid escape causes <bad-url-token>:
     33 // https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape
     34 test_invalid_value('top', '--func(url(\\\n))');
     35 // Empty arguments are not allowed by <declaration-value>#.
     36 test_invalid_value('top', '--func(asdf,)');
     37 test_invalid_value('top', '--func(,)');
     38 test_invalid_value('top', '--func(, )');
     39 test_invalid_value('top', '--func( ,)');
     40 test_invalid_value('top', '--func( , )');
     41 test_invalid_value('top', '--func(a,,b)');
     42 test_invalid_value('top', '--func(a, ,b)');
     43 
     44 // Tests related to comma-containing productions:
     45 // https://drafts.csswg.org/css-values-5/#component-function-commas
     46 test_valid_value('top', '--func({1}, 2)');
     47 test_valid_value('top', '--func({ 1}, 2)');
     48 test_valid_value('top', '--func({1 }, 2)');
     49 test_valid_value('top', '--func({ 1 }, 2)');
     50 test_valid_value('top', '--func({1},{2})');
     51 test_valid_value('top', '--func({1, 2, 3},{4})');
     52 test_valid_value('top', '--func({,},{4})');
     53 test_valid_value('top', '--func({{}},{4})');
     54 test_valid_value('top', '--func({[]},{4})');
     55 // A non-{}-wrapped argument may not contain {}.
     56 test_invalid_value('top', '--func(123 {})');
     57 test_invalid_value('top', '--func(1{})');
     58 test_invalid_value('top', '--func({}1)');
     59 test_invalid_value('top', '--func( {}1)');
     60 test_invalid_value('top', '--func({}1 )');
     61 test_invalid_value('top', '--func({} 1)');
     62 test_invalid_value('top', '--func(1, 2{})');
     63 test_invalid_value('top', '--func(1,2{})');
     64 test_invalid_value('top', '--func(1,2{} )');
     65 test_invalid_value('top', '--func(1, {}2)');
     66 // Empty values are not allowed (the {}-wrapper not being part of the value):
     67 test_invalid_value('top', '--func({})');
     68 test_invalid_value('top', '--func(1, {})');
     69 test_invalid_value('top', '--func(1, { })');
     70 </script>