<!DOCTYPE html>
<html>
<head>
    <script src="../../resources/testharness.js"></script>
    <script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<script>
    test(function() {
        function transitioned() {
            dataset = document.createElement('p').dataset;
            for(var i = 0; i < 20; i++)
                dataset['p'+i] = i;
            return dataset;
        }

        function putter(o) {
            o._unsupportedCSSProperty = not_string;
        }

        var count = 0;
        var expectedCount = 50;
        var not_string = {
            toString() {
                ++count;
                return "Hello";
            }
        };

        for (var i = 0; i < expectedCount; ++i) {
            var object = transitioned();
            putter(object);
        }

        assert_equals(count, expectedCount);
    }, "DOM object overriding ::put operation should not allow IC");
</script>
</body>
</html>
