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 784x20
        RenderText {#text} at (0,0) size 363x19
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 784x42
        RenderText {#text} at (0,0) size 414x42
          text run at (0,0) width 414: ".one {border-right-width: 25px; border-style: solid;}"
          text run at (413,0) width 1: " "
          text run at (0,14) width 414: ".two {border-right-width: thin; border-style: solid;}"
          text run at (413,14) width 1: " "
          text run at (0,28) width 266: ".three {border-right-width: 25px;}"
          text run at (265,28) width 1: " "
      RenderBlock {HR} at (0,91) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,109) size 784x86 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
        RenderText {#text} at (3,3) size 176x19
          text run at (3,3) width 176: "This element has a class of "
        RenderInline {TT} at (0,0) size 25x14
          RenderText {#text} at (178,8) size 25x14
            text run at (178,8) width 25: "one"
        RenderText {#text} at (202,3) size 164x19
          text run at (202,3) width 9: ". "
          text run at (210,3) width 156: "However, it contains an "
        RenderInline {SPAN} at (0,0) size 176x25 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
          RenderText {#text} at (368,3) size 149x19
            text run at (368,3) width 149: "inline element of class "
          RenderInline {TT} at (0,0) size 24x14
            RenderText {#text} at (516,8) size 24x14
              text run at (516,8) width 24: "two"
        RenderText {#text} at (540,3) size 728x39
          text run at (540,3) width 191: ", which should result in a thin"
          text run at (3,23) width 230: "solid border on the right side of the "
        RenderInline {STRONG} at (0,0) size 25x19
          RenderText {#text} at (232,23) size 25x19
            text run at (232,23) width 25: "last"
        RenderText {#text} at (256,23) size 721x39
          text run at (256,23) width 468: " box of the inline element (and the UA's default border on the other three"
          text run at (3,43) width 46: "sides). "
          text run at (48,43) width 106: "There is also an "
        RenderInline {SPAN} at (0,0) size 187x19
          RenderText {#text} at (153,43) size 148x19
            text run at (153,43) width 148: "inline element of class "
          RenderInline {TT} at (0,0) size 40x14
            RenderText {#text} at (300,48) size 40x14
              text run at (300,48) width 40: "three"
        RenderText {#text} at (339,43) size 715x39
          text run at (339,43) width 379: ", which should have no right border width or visible border"
          text run at (3,63) width 206: "because no border style was set."
      RenderTable {TABLE} at (0,211) size 784x124 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x122
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x19
                RenderText {#text} at (4,4) size 161x19
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 782x94
            RenderTableCell {TD} at (0,61) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 770x94 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x86 [border: (3px solid #000000) (25px solid #000000) (3px solid #000000)]
                RenderText {#text} at (3,3) size 176x19
                  text run at (3,3) width 176: "This element has a class of "
                RenderInline {TT} at (0,0) size 25x14
                  RenderText {#text} at (178,8) size 25x14
                    text run at (178,8) width 25: "one"
                RenderText {#text} at (202,3) size 164x19
                  text run at (202,3) width 9: ". "
                  text run at (210,3) width 156: "However, it contains an "
                RenderInline {SPAN} at (0,0) size 176x25 [border: (3px solid #000000) (1px solid #000000) (3px solid #000000)]
                  RenderText {#text} at (368,3) size 149x19
                    text run at (368,3) width 149: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x14
                    RenderText {#text} at (516,8) size 24x14
                      text run at (516,8) width 24: "two"
                RenderText {#text} at (540,3) size 728x39
                  text run at (540,3) width 191: ", which should result in a thin"
                  text run at (3,23) width 230: "solid border on the right side of the "
                RenderInline {STRONG} at (0,0) size 25x19
                  RenderText {#text} at (232,23) size 25x19
                    text run at (232,23) width 25: "last"
                RenderText {#text} at (256,23) size 721x39
                  text run at (256,23) width 468: " box of the inline element (and the UA's default border on the other three"
                  text run at (3,43) width 46: "sides). "
                  text run at (48,43) width 106: "There is also an "
                RenderInline {SPAN} at (0,0) size 187x19
                  RenderText {#text} at (153,43) size 148x19
                    text run at (153,43) width 148: "inline element of class "
                  RenderInline {TT} at (0,0) size 40x14
                    RenderText {#text} at (300,48) size 40x14
                      text run at (300,48) width 40: "three"
                RenderText {#text} at (339,43) size 715x39
                  text run at (339,43) width 379: ", which should have no right border width or visible border"
                  text run at (3,63) width 206: "because no border style was set."
