<html>
<head>
    <script type="text/javascript">
        if (window.testRunner)
            testRunner.dumpAsText();
    </script>
    <style>
        .to_be_hidden {
          display:block;
          color:red;
        }
    </style>
    <style>
        .malformed1 {{}}
        #test1 {
            display:none;
        }
    </style>
    <style>
        .malformed2 {#{}}
        #test2 {
            display:none;
        }
    </style>
    <style>
        .malformed3 {{#}}
        #test3 {
            display:none;
        }
    </style>
    <style>
        .malformed4 {{}#}
        #test4 {
            display:none;
        }
    </style>
    <style>
        .malformed5 {color: red; {}}
        #test5 {
            display:none;
        }
    </style>
    <style>
        .malformed6 {color: red; #{}}
        #test6 {
            display:none;
        }
    </style>
    <style>
        .malformed7 {color: red; {#}}
        #test7 {
            display:none;
        }
    </style>
    <style>
        .malformed8 {color: red; {##}#}
        #test8 {
            display:none;
        }
    </style>
    <style>
        .malformed9 {color: red; color: red; {}}
        #test9 {
            display:none;
        }
    </style>
    <style>
        .malformed10 {color: red; color: red; #{}}
        #test10 {
            display:none;
        }
    </style>
    <style>
        .malformed11 {color: red; color: red; {#}}
        #test11 {
            display:none;
        }
    </style>
    <style>
        .malformed12 {color: red; color: red; {##}#}
        #test12 {
            display:none;
        }
    </style>
    <style>
        .malformed13 {color: red; color: red; {}; color: red}
        #test13 {
            display:none;
        }
    </style>
    <style>
        .malformed14 {color: red; color: red; #{}; color: red}
        #test14 {
            display:none;
        }
    </style>
    <style>
        .malformed15 {color: red; color: red; {#}; color: red}
        #test15 {
            display:none;
        }
    </style>
    <style>
        .malformed16 {color: red; color: red; {##}#; color: red}
        #test16 {
            display:none;
        }
    </style>
    <style>
        #test17 {
            color: red !important {};
            display: none;
        }
    </style>
</head>
<body>
  <p>This test passes if nothing but "END OF TEST" is displayed</p>
  <div class="to_be_hidden" id="test1">FAIL: Test 1</div>
  <div class="to_be_hidden" id="test2">FAIL: Test 2</div>
  <div class="to_be_hidden" id="test3">FAIL: Test 3</div>
  <div class="to_be_hidden" id="test4">FAIL: Test 4</div>
  <div class="to_be_hidden" id="test5">FAIL: Test 5</div>
  <div class="to_be_hidden" id="test6">FAIL: Test 6</div>
  <div class="to_be_hidden" id="test7">FAIL: Test 7</div>
  <div class="to_be_hidden" id="test8">FAIL: Test 8</div>
  <div class="to_be_hidden" id="test9">FAIL: Test 9</div>
  <div class="to_be_hidden" id="test10">FAIL: Test 10</div>
  <div class="to_be_hidden" id="test11">FAIL: Test 11</div>
  <div class="to_be_hidden" id="test12">FAIL: Test 12</div>
  <div class="to_be_hidden" id="test13">FAIL: Test 13</div>
  <div class="to_be_hidden" id="test14">FAIL: Test 14</div>
  <div class="to_be_hidden" id="test15">FAIL: Test 15</div>
  <div class="to_be_hidden" id="test16">FAIL: Test 16</div>
  <div class="to_be_hidden" id="test16">FAIL: Test 17</div>
  <div>END OF TEST</div>
</body>
</html>

