layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 784x45
        RenderText {#text} at (0,0) size 554x45
          text run at (0,0) width 547: ".one {border-style: dashed; border-color: black; border-width: thick;}"
          text run at (0,15) width 531: ".two {border-style: groove; border-color: red; border-width: thick;}"
          text run at (0,30) width 554: ".three {border-style: none; border-color: purple; border-width: thick;}"
      RenderBlock {HR} at (0,92) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,110) size 784x54 [bgcolor=#C0C0C0]
        RenderText {#text} at (0,0) size 679x18
          text run at (0,0) width 679: "This is an unstyled element, save for the background color, and it contains inline elements with classes of "
        RenderInline {SPAN} at (0,0) size 69x28 [border: (5px dashed #000000)]
          RenderText {#text} at (683,0) size 59x18
            text run at (683,0) width 59: "class one"
        RenderText {#text} at (746,0) size 751x36
          text run at (746,0) width 5: ","
          text run at (0,18) width 313: "which will result in a dashed thick black border; "
        RenderInline {SPAN} at (0,0) size 70x28 [border: (5px groove #FF0000)]
          RenderText {#text} at (317,18) size 60x18
            text run at (317,18) width 60: "class two"
        RenderText {#text} at (381,18) size 375x18
          text run at (381,18) width 375: ", which should result in a grooved thick purple border, and"
        RenderInline {SPAN} at (0,0) size 68x18
          RenderText {#text} at (0,36) size 68x18
            text run at (0,36) width 68: "class three"
        RenderText {#text} at (67,36) size 701x18
          text run at (67,36) width 260: ", which should result in no border at all. "
          text run at (326,36) width 442: "The line-height of the parent element should not change, on any line."
      RenderTable {TABLE} at (0,180) size 784x108 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x106
          RenderTableRow {TR} at (0,0) size 782x26
            RenderTableCell {TD} at (0,0) size 782x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 782x80
            RenderTableCell {TD} at (0,53) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 770x80 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x72 [bgcolor=#C0C0C0]
                RenderText {#text} at (0,0) size 679x18
                  text run at (0,0) width 679: "This is an unstyled element, save for the background color, and it contains inline elements with classes of "
                RenderInline {SPAN} at (0,0) size 69x28 [border: (5px dashed #000000)]
                  RenderText {#text} at (683,0) size 59x18
                    text run at (683,0) width 59: "class one"
                RenderText {#text} at (746,0) size 751x36
                  text run at (746,0) width 5: ","
                  text run at (0,18) width 313: "which will result in a dashed thick black border; "
                RenderInline {SPAN} at (0,0) size 70x28 [border: (5px groove #FF0000)]
                  RenderText {#text} at (317,18) size 60x18
                    text run at (317,18) width 60: "class two"
                RenderText {#text} at (381,18) size 375x18
                  text run at (381,18) width 375: ", which should result in a grooved thick purple border, and"
                RenderInline {SPAN} at (0,0) size 68x18
                  RenderText {#text} at (0,36) size 68x18
                    text run at (0,36) width 68: "class three"
                RenderText {#text} at (67,36) size 736x36
                  text run at (67,36) width 260: ", which should result in no border at all. "
                  text run at (326,36) width 410: "The line-height of the parent element should not change, on any"
                  text run at (0,54) width 28: "line."
