<script src="../../resources/getMatchedCSSRules.js"></script>
<script>
    function test()
    {
        if (window.testRunner)
            testRunner.dumpAsText();

        var rules = getMatchedCSSRules(document.body, "");
        if (rules && rules.length) {
            log("FAIL: Expected 0 matched rules, but found " + rules.length + ":");
            for (var i = 0; i < rules.length; ++i)
                log(rules[i].cssText);
            return;
        }

        log("PASS");
    }

    function log(msg)
    {
        document.getElementById("log").appendChild(document.createTextNode(msg + "\n"));
    }
</script>
<style>
body {
    word-break: solid;
    -webkit-user-modify: solid;
}
</style>
<body onload="test()">
<p>This page tests that invalid values for the <tt>word-break</tt> and <tt>-webkit-user-modify</tt> properties are rejected by the CSS parser.</p>
<pre id="log"></pre>
</body>
