File: test_valueMatchesSyntax.html

package info (click to toggle)
firefox 141.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,550,616 kB
  • sloc: cpp: 7,426,508; javascript: 6,367,238; ansic: 3,707,354; python: 1,368,984; xml: 623,983; asm: 426,916; java: 184,324; sh: 64,488; makefile: 19,203; objc: 13,059; perl: 12,955; yacc: 4,583; cs: 3,846; pascal: 3,352; lex: 1,720; ruby: 1,071; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (45 lines) | stat: -rw-r--r-- 1,487 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE HTML>
<html>
<head>
  <title>Test InspectorUtils.valueMatchesSyntax</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<code>InspectorUtils.valueMatchesSyntax</code>

<script>
add_task(async function() {
  const test = (value, syntax, expected) =>
    is(
      SpecialPowers.InspectorUtils.valueMatchesSyntax(document, value, syntax),
      expected,
      `"${value}" ${expected ? "matches" : "does not match"} "${syntax}"`
    );

  test("red", "<color>", true);
  test("10px", "<color>", false);
  test("10px", "<color> | <length>", true);
  test("10px 1em", "<length>+", true);
  test("10px, 1em", "<length>+", false);
  test("10px, 1em", "<length>#", true);
  test("10px 1em", "<length>#", false);
  test("calc(100% - 20px)", "<length>", false);
  test("calc(100% - 20px)", "<length-percentage>", true);
  test("big", "big | bigger | BIGGER", true);
  test("bigger", "big | bigger | BIGGER", true);
  test("BIGGER", "big | bigger | BIGGER", true);
  test("BIG", "big | bigger | BIGGER", false);
  test("red", "<invalid-syntax>", false);
  test("whatever 10px, 1em red", "*", true);

  info("CSS-wide keyword are considered to be matching the syntax");
  test("initial", "<color>", true);
  test("inherit", "<color>", true);
  test("unset", "<color>", true);
  test("revert", "<color>", true);
  test("revert-layer", "<color>", true);
});
</script>
</body>
</html>