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 355x17
          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 (208,0) width 0: " "
          text run at (0,15) width 552: "SPAN.two {border-style: solid; border-width: 10px; border-color: red;"
          text run at (552,15) width 0: " "
          text run at (0,30) width 304: "          padding: 2pt; margin: 30pt;}"
          text run at (304,30) width 0: " "
          text run at (0,45) width 360: "P.three {font-size: 10pt; line-height: 12pt;}"
          text run at (360,45) width 0: " "
          text run at (0,60) width 560: "SPAN.four {border-style: solid; border-width: 12px; border-color: red;"
          text run at (560,60) width 0: " "
          text run at (0,75) width 192: "          padding: 2pt;}"
          text run at (192,75) width 0: " "
          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 187x17
          text run at (0,7) width 187: "This is a paragraph that has a "
        RenderInline {SPAN} at (0,0) size 762x171 [border: (10px solid #FF0000)]
          RenderText {#text} at (239,7) size 762x145
            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 (166,39) width 561: "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 762x49
          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 (239,32) width 525: "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 161x17
                RenderText {#text} at (4,4) size 161x17
                  text run at (4,4) width 161: "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 4x17
                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 187x17
                  text run at (0,7) width 187: "This is a paragraph that has a "
                RenderInline {SPAN} at (0,0) size 747x171 [border: (10px solid #FF0000)]
                  RenderText {#text} at (239,7) size 747x145
                    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 (186,39) width 561: "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 711x49
                  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 (287,32) width 437: "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."
