https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 081d5deaff4a25ca5f8b6c0baa30e085de230c36 authored by Mike West on 13 September 2015, 08:25:34 UTC
CSP: Correct a cookie name.
Tip revision: 081d5de
inline-style-allowed-while-cloning-objects.sub.html
<!DOCTYPE html>
<html>

<head>
    <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.-->
    <title>inline-style-allowed-while-cloning-objects</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="../support/logTest.sub.js?logs=[]"></script>
    <script src="../support/alertAssert.sub.js?alerts=[]"></script>
    <!-- enforcing policy:
style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self';
-->
    <script>
        window.onload = function() {
            window.nodes = document.getElementById('nodes');
            window.node1 = document.getElementById('node1');
            window.node1.style.background = "yellow";
            window.node1.style.color = "red";
            window.node2 = document.getElementById('node1').cloneNode(true);
            window.node2.id = "node2";
            window.node3 = document.getElementById('node3');
            window.node3.style.background = "blue";
            window.node3.style.color = "green";
            window.node4 = document.getElementById('node3').cloneNode(false);
            window.node4.id = "node4";
            window.node4.innerHTML = "Node #4";
            nodes.appendChild(node1);
            nodes.appendChild(node2);
            nodes.appendChild(node3);
            nodes.appendChild(node4);
            test(function() {
                assert_equals(node1.style.background.match(/yellow/)[0], "yellow")
            });
            test(function() {
                assert_equals(node2.style.background.match(/yellow/)[0], "yellow")
            });
            test(function() {
                assert_equals(node3.style.background.match(/blue/)[0], "blue")
            });
            test(function() {
                assert_equals(node4.style.background.match(/blue/)[0], "blue")
            });
            test(function() {
                assert_equals(node1.style.color, "red")
            });
            test(function() {
                assert_equals(node2.style.color, "red")
            });
            test(function() {
                assert_equals(node3.style.color, "green")
            });
            test(function() {
                assert_equals(node4.style.color, "green")
            });
            test(function() {
                assert_equals(window.getComputedStyle(node1).background, window.getComputedStyle(node2).background)
            });
            test(function() {
                assert_equals(window.getComputedStyle(node3).background, window.getComputedStyle(node4).background)
            });
            test(function() {
                assert_equals(window.getComputedStyle(node1).color, window.getComputedStyle(node2).color)
            });
            test(function() {
                assert_equals(window.getComputedStyle(node3).color, window.getComputedStyle(node4).color)
            });
            window.ops = document.getElementById('ops');
            ops.style.color = 'red';
            window.clonedOps = ops.cloneNode(true);
            window.violetOps = document.getElementById('violetOps');
            violetOps.style.background = 'rgb(238, 130, 238)';
            document.getElementsByTagName('body')[0].appendChild(clonedOps);
            test(function() {
                assert_equals(ops.style.background, "")
            });
            test(function() {
                assert_equals(ops.style.color, "red")
            });
            test(function() {
                assert_equals(clonedOps.style.background, "")
            });
            test(function() {
                assert_equals(violetOps.style.background.match(/rgb\(238, 130, 238\)/)[0], "rgb(238, 130, 238)")
            });
            test(function() {
                assert_equals(window.getComputedStyle(clonedOps).background, window.getComputedStyle(ops).background)
            });
            test(function() {
                assert_equals(window.getComputedStyle(clonedOps).color, window.getComputedStyle(ops).color)
            });
            test(function() {
                assert_equals(window.getComputedStyle(ops).background, window.getComputedStyle(violetOps).background)
            });
            test(function() {
                assert_equals(window.getComputedStyle(clonedOps).background, window.getComputedStyle(violetOps).background)
            });
            test(function() {
                assert_equals(ops.id, "ops")
            });
            test(function() {
                assert_equals(ops.id, clonedOps.id)
            });
        };

    </script>
</head>

<body>
    <p>
            This test ensures that styles can be set by object.cloneNode()
    </p>
    <div id="nodes">
        This is a div (nodes)
        <div id="node1"> This is a div. (node 1 or 2)</div>
        <div id="node3"> This is a div. (node 3 or 4)</div>
    </div>
    <div id="ops" style="background: rgb(238, 130, 238)">
        Yet another div.
    </div>
    <div id="violetOps">
        Yet another div.
    </div>
    <div id="log"></div>
    <script async defer src="../support/checkReport.sub.js?reportExists=true&amp;reportField=violated-directive&amp;reportValue=style-src%20&apos;self&apos;"></script>
</body>

</html>
back to top