This tests different ways of deserializing css stylesheets. The first item below is the style as specified in the document. The second is serialized using the different rule accessors. The third just uses rule.cssText. If the test is successful, all three should be the same.
@import url("fancyfonts.css") screen;
@media print {
  body { font-size: 10pt }
}
@media screen {
  body { font-size: 13px }
}
@media screen, print {
  body { line-height: 1.2 }
}
.one {display: block;}
.two {display: inline;}
.three {display: list-item; list-style-type: square; margin-left: 3em;}
.four {display: none; color: red;}
I {display: block;}

@import url("fancyfonts.css") screen;
@media print {
  body { font-size: 10pt; } 
}
@media screen {
  body { font-size: 13px; } 
}
@media screen, print {
  body { line-height: 1.2; } 
}
.one { display: block; } 
.two { display: inline; } 
.three { display: list-item; list-style-type: square; margin-left: 3em; } 
.four { display: none; color: red; } 
i { display: block; } 

@import url("fancyfonts.css") screen;
@media print { 
  body { font-size: 10pt; }
}
@media screen { 
  body { font-size: 13px; }
}
@media screen, print { 
  body { line-height: 1.2; }
}
.one { display: block; }
.two { display: inline; }
.three { display: list-item; list-style-type: square; margin-left: 3em; }
.four { display: none; color: red; }
i { display: block; }


