summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/cssom/page-descriptors.html
blob: 5cf0a6a703d7e63af280d45f2847e2d6042264bb (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
<!DOCTYPE HTML>
<html>
<head>
  <link rel="author" title="Mozilla" href="https://mozilla.org">
  <link rel="help" href="https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface">
  <title>Page descriptors shouldn't be exposed to CSS Style declarations</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="target"></div>
<script>
'use strict';

let element = document.getElementById("target");
let computedStyle = window.getComputedStyle(element);
let style = element.style;

test(t => {
    assert_equals(computedStyle.size, undefined,
        "computed style should not have size property");
    assert_equals(computedStyle.getPropertyValue("size"), "",
        "computed style getPropertyValue(\"size\") should be empty");

    assert_equals(style.size, undefined,
        "style should not have size property");
    assert_equals(style.getPropertyValue("size"), "",
        "style getPropertyValue(\"size\") should be empty");
    for(const val of ["initial", "auto", "100px"]){
        style.setProperty("size", val);
        assert_false(CSS.supports("size", val));
        assert_equals(style.size, undefined,
            "style should not have size property after assigning size=" + val);
        assert_equals(style.getPropertyValue("size"), "",
            "style getPropertyValue(\"size\") should be empty after assigning size=" + val);
    }
});
</script>
</body>
</html>