<!DOCTYPE html>
<html>
<head>
<script>
function performTest()
{
    Selection_preserveWhileExecuting(function() {
        var range = Selection_get();
        Range_trackWhileExecuting(range,function() {
            removeWhitespaceAndCommentNodes(document.body);
        });
        var outermost = Range_getOutermostNodes(range);
        Formatting_pushDownInlineProperties(outermost);
    });
}
</script>
</head>
<body>
<p style="color: blue">
  [<s>
    <s>
      <s>One</s>
      <s>Two</s>
      <s>Three</s>
    </s>
    <s>
      <s>Four</s>
      <s>Five</s>
      <s>Six</s>
    </s>
  </s>]
  <s>
    <s>Seven</s>
    <s>Eight</s>
    <s>Nine</s>
  </s>
</p>
</body>
</html>
