<head>
<style>

/* Base form of the rule: */
</style>

<script>

function runTest()
{
    if (window.testRunner)
        testRunner.dumpAsText();

    if (document.getElementById("result").firstChild.style.fontSize === document.getElementById("expected").firstChild.style.fontSize)
        document.getElementById("message").firstChild.data = "SUCCESS";
    else
        document.getElementById("message").firstChild.data = "FAILURE";
}

</script>

</head>

<body onload="runTest()">

<p>Test parsing of CSS curly brackets block</p>

<p id="message">TEST DID NOT COMPLETE</p>

<p>Rules from the stylesheet:</p>

<pre id="result">
<p style="{font-size: 16px;}">Font size is 16px.</p>

</pre>

<p>Expected result:</p>

<pre id="expected">
<p style="font-size: 16px;">Font size is 16px.</p>

</pre>

<script>

</script>
</body>
