<!DOCTYPE html>
<html>
<body>
    <script src="../../resources/js-test.js"></script>
    <script>
        function setProperty(value) {
            var div = document.createElement('div');
            document.body.appendChild(div);
            div.style.setProperty("isolation", value);

            var computedValue = getComputedStyle(div).getPropertyValue("isolation");
            document.body.removeChild(div);

            return computedValue;
        }

        function test(value, expected) {
            shouldBeEqualToString('setProperty("' + value + '")', expected);
        }

        test("auto", "auto");
        test("isolate", "isolate");
        test("", "auto");
        test("rubbish", "auto");
    </script>
</body>
</html>
