<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style id="style1">
    div.div1 { color:red }    
</style>

<style id="style2">
    div.div3 {color: yellow }
</style>

<style id="style3">
    div.div5 {color: purple }
</style>

<script>
function debug(str) {
    var c = document.getElementById('console')
    c.appendChild(document.createTextNode(str + '\n'));
}

function runTests() {
    var s1 = document.getElementById('style1').sheet;
    
    // First append a style rule
    s1.insertRule('div.div2 {color: blue}', s1.cssRules.length)
    
    // Next, remove the first style rule
    s1.deleteRule(0)
  
    var s1 = document.getElementById('style2').sheet;
    
    // Append a rule using the IE method
    s1.addRule('div.div4', 'color: green');
  
    // Remove a rule using the IE method;
    s1.removeRule(0)
    
    var s3 = document.getElementById('style3').sheet;
    s3.disabled = true;
}

</script>
</head>
<body onload="runTests();">
<pre id="console">
</pre>
This tests that insertRule, deleteRule, and the IE extensions addRule and removeRule update the style when rules are added and removed. It also tests that disabling a stylesheet updates the style.
<div class="div1">This is div1. This text should not be red because that rule has been removed.</div>
<div class="div2">This is div2. This text should be blue because a matching rule with that property has been added.</div>
<div class="div3">This is div3. This text should not be yellow because that rule has been removed.</div>
<div class="div4">This is div4. This text should be green because a matching rule with that property has been added.</div>
<div class="div5">This is div3. This text should not be purple because the stylesheet with that rule has been disabled.</div>
</body>
</html>
