summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-variables/variable-created-element.html
blob: 84bc1b6e46a539287aa359b89303a45c923cac97 (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>
    <title>Variable on created element</title>

    <meta rel="author" title="Kevin Babbitt">
    <meta rel="author" title="Greg Whitworth">
    <link rel="author" title="Microsoft Corporation" href="http://microsoft.com" />
    <!-- This is not directly stated in the spec, but still worth testing to ensure it works -->
    <link rel="help" href="http://www.w3.org/TR/css-variables-1/#defining-variables">

    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
</head>
<body>
    <script type="text/javascript">
        "use strict";

        var newDiv = document.createElement("div");
        newDiv.appendChild(document.createTextNode("This text should be green."));
        newDiv.setAttribute("id", "target");
        newDiv.setAttribute("style", "--c: rgb(0, 136, 0); color: var(--c)");
        document.body.insertBefore(newDiv, document.body.firstChild);

        test( function () {
            assert_equals(document.getElementById("target").style.getPropertyValue("--c").trim(), "rgb(0, 136, 0)");
        }, "Specified variable value appearing in a created element's inline style should work once spliced into the creating document");

        test( function () {
            assert_equals(window.getComputedStyle(document.getElementById("target")).getPropertyValue("--c").trim(), "rgb(0, 136, 0)");
        }, "Computed variable value appearing in a created element's inline style should work once spliced into the creating document");

        test( function () {
            assert_equals(window.getComputedStyle(document.getElementById("target")).getPropertyValue("color").trim(), "rgb(0, 136, 0)");
        }, "Variable reference appearing in a created element's inline style should work once spliced into the creating document");

    </script>
</body>
</html>