layer at (0,0) size 785x780
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x779
  RenderBlock {HTML} at (0,0) size 785x780
    RenderBody {BODY} at (8,8) size 769x764 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x18
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x105
        RenderText {#text} at (0,0) size 560x105
          text run at (0,0) width 208: "P.one {line-height: 200%;}"
          text run at (0,15) width 552: "SPAN.two {border-style: solid; border-width: 10px; border-color: red;"
          text run at (0,30) width 304: "          padding: 2pt; margin: 30pt;}"
          text run at (0,45) width 360: "P.three {font-size: 10pt; line-height: 12pt;}"
          text run at (0,60) width 560: "SPAN.four {border-style: solid; border-width: 12px; border-color: red;"
          text run at (0,75) width 192: "          padding: 2pt;}"
          text run at (0,90) width 0: " "
      RenderBlock {HR} at (0,152) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,170) size 769x192
        RenderText {#text} at (0,7) size 187x18
          text run at (0,7) width 187: "This is a paragraph that has a "
        RenderInline {SPAN} at (0,0) size 762x172 [border: (10px solid #FF0000)]
          RenderText {#text} at (239,7) size 762x146
            text run at (239,7) width 523: "very long span in it, and the span has a 10px red border separated from the span by"
            text run at (0,39) width 167: "2pt, and a margin of 30pt. "
            text run at (167,39) width 560: "The padding and border should be present on all sides of the span (although vertical lines"
            text run at (0,71) width 539: "should appear only at the beginning and the end of the whole span, not on each line). "
            text run at (539,71) width 208: "The padding, border, and margin"
            text run at (0,103) width 388: "should all be noticeable at the beginning and end of the span. "
            text run at (388,103) width 366: "However, the line height should not be changed by any of"
            text run at (0,135) width 585: "them, so the margin should be unnoticeable and the border should overlap text on other lines."
        RenderText {#text} at (637,135) size 762x50
          text run at (637,135) width 5: " "
          text run at (641,135) width 121: "The line spacing in"
          text run at (0,167) width 336: "the whole paragraph should be 200% of the font size."
      RenderBlock {P} at (0,378) size 769x64
        RenderText {#text} at (0,0) size 159x15
          text run at (0,0) width 159: "This is a paragraph that has a "
        RenderInline {SPAN} at (0,0) size 764x93 [border: (12px solid #FF0000)]
          RenderText {#text} at (173,0) size 764x63
            text run at (173,0) width 553: "very long span in it, and the span has a 12px red border separated from the span by 2pt of padding (the"
            text run at (0,16) width 764: "difference between the line-height and the font-size), which should overlap with the lines of text above and below the span, since the padding"
            text run at (0,32) width 240: "and border should not effect the line height. "
            text run at (240,32) width 524: "The span's border should have vertical lines only at the beginning and end of the whole span, not"
            text run at (0,48) width 69: "on each line."
        RenderText {#text} at (83,48) size 416x15
          text run at (83,48) width 4: " "
          text run at (86,48) width 413: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
      RenderTable {TABLE} at (0,455) size 769x309 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x306
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x280
            RenderTableCell {TD} at (0,153) 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 755x280 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x192
                RenderText {#text} at (0,7) size 187x18
                  text run at (0,7) width 187: "This is a paragraph that has a "
                RenderInline {SPAN} at (0,0) size 747x172 [border: (10px solid #FF0000)]
                  RenderText {#text} at (239,7) size 747x146
                    text run at (239,7) width 503: "very long span in it, and the span has a 10px red border separated from the span"
                    text run at (0,39) width 187: "by 2pt, and a margin of 30pt. "
                    text run at (187,39) width 560: "The padding and border should be present on all sides of the span (although vertical lines"
                    text run at (0,71) width 539: "should appear only at the beginning and the end of the whole span, not on each line). "
                    text run at (539,71) width 208: "The padding, border, and margin"
                    text run at (0,103) width 388: "should all be noticeable at the beginning and end of the span. "
                    text run at (388,103) width 349: "However, the line height should not be changed by any"
                    text run at (0,135) width 602: "of them, so the margin should be unnoticeable and the border should overlap text on other lines."
                RenderText {#text} at (654,135) size 711x50
                  text run at (654,135) width 5: " "
                  text run at (658,135) width 53: "The line"
                  text run at (0,167) width 404: "spacing in the whole paragraph should be 200% of the font size."
              RenderBlock {P} at (4,212) size 747x64
                RenderText {#text} at (0,0) size 159x15
                  text run at (0,0) width 159: "This is a paragraph that has a "
                RenderInline {SPAN} at (0,0) size 726x93 [border: (12px solid #FF0000)]
                  RenderText {#text} at (173,0) size 726x63
                    text run at (173,0) width 553: "very long span in it, and the span has a 12px red border separated from the span by 2pt of padding (the"
                    text run at (0,16) width 716: "difference between the line-height and the font-size), which should overlap with the lines of text above and below the span, since the"
                    text run at (0,32) width 288: "padding and border should not effect the line height. "
                    text run at (288,32) width 436: "The span's border should have vertical lines only at the beginning and end of the"
                    text run at (0,48) width 157: "whole span, not on each line."
                RenderText {#text} at (171,48) size 416x15
                  text run at (171,48) width 4: " "
                  text run at (174,48) width 413: "The line spacing in the whole paragraph should be 12pt, with font-size 10pt."
