tor-browser

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

font-face-src-local.html (1873B)


      1 <!DOCTYPE html>
      2 <title>CSS Fonts Module Level 4: parsing @font-face src:local()</title>
      3 <link rel="help" href="https://drafts.csswg.org/css-fonts-4/#local-font-fallback">
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <style id="testStyle">
      7 </style>
      8 <script>
      9  const sheet = testStyle.sheet;
     10  tests = [
     11    // Gargbage data following valid local() is not valid
     12    { src:'local(A) dummy()', valid:false},
     13    // Gargbage data preceding valid local() is not valid
     14    { src:'dummy() local(A)', valid:false},
     15    // Unquoted collapsing space
     16    { src:'local(  A  )', valid:true },
     17    { src:'local(A B)', valid:true },
     18    { src:'local(A    B)', valid:true },
     19    { src:'local(   A  B   )', valid:true },
     20    // Unquoted local() with invalid CSS-wide keywords excluded from <custom-ident>
     21    { src:'local(default)', valid:false },
     22    { src:'local(inherit)', valid:false },
     23    { src:'local(revert)', valid:false },
     24    { src:'local(unset)', valid:false },
     25    // Unquoted local() with CSS-wide keywords as part of the name
     26    { src:'local(default A)', valid:true },
     27    { src:'local(inherit A)', valid:true },
     28    { src:'local(revert A)', valid:true },
     29    { src:'local(unset A)', valid:true },
     30    // Quoted local() with CSS-wide keywords
     31    { src:'local("default")', valid:true },
     32    { src:'local("inherit")', valid:true },
     33    { src:'local("revert")', valid:true },
     34    { src:'local("unset")', valid:true }
     35  ];
     36 
     37  for (let t of tests) {
     38    test(() => {
     39      assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
     40      sheet.insertRule("@font-face { src: " + t.src + "}");
     41      assert_equals(sheet.cssRules[0].style.getPropertyValue("src") != "", t.valid);
     42      sheet.deleteRule(0);
     43    }, "Check that src: " + t.src + " is " + (t.valid ? "valid" : "invalid"));
     44  }
     45 </script>