summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-page/cssom/page-001.html
blob: 2f6b4dde0500cf7ef40b2187708539523472d33a (plain)
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
<!DOCTYPE html>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
<link rel="help" href="https://drafts.csswg.org/cssom/#the-csspagerule-interface">
<title>Basic CSSPageRule CSSOM test</title>
<style id="sheet">
  @page {}
  @page :left {}
  @page named { margin: 10px 20px; }
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  var sheet = document.getElementById("sheet").sheet;
  test(()=> {
    assert_not_equals(sheet, null);
    assert_equals(sheet.rules.length, 3);
  }, "There should be 3 @page rules.");

  test(()=> {
    assert_equals(sheet.rules[0].constructor.name, "CSSPageRule");
    assert_equals(sheet.rules[0].selectorText, "");
    assert_equals(sheet.rules[0].style.length, 0);
  }, "Rule #0");

  test(()=> {
    assert_equals(sheet.rules[1].constructor.name, "CSSPageRule");
    assert_equals(sheet.rules[1].selectorText, ":left");
    assert_equals(sheet.rules[1].style.length, 0);
  }, "Rule #1");

  test(()=> {
    assert_equals(sheet.rules[2].constructor.name, "CSSPageRule");
    assert_equals(sheet.rules[2].selectorText, "named");
    var style = sheet.rules[2].style;
    assert_equals(style.length, 4);
    assert_equals(style.marginTop, "10px");
    assert_equals(style.marginRight, "20px");
    assert_equals(style.marginBottom, "10px");
    assert_equals(style.marginLeft, "20px");
  }, "Rule #2");
</script>