layer at (0,0) size 785x732
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x732
  RenderBlock {HTML} at (0,0) size 785x732
    RenderBody {BODY} at (8,8) size 769x716 [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 769x75
        RenderText {#text} at (0,0) size 272x75
          text run at (0,0) width 224: ".ttn {text-transform: none;}"
          text run at (224,0) width 0: " "
          text run at (0,15) width 272: ".cap {text-transform: capitalize;}"
          text run at (272,15) width 0: " "
          text run at (0,30) width 264: ".upp {text-transform: uppercase;}"
          text run at (264,30) width 0: " "
          text run at (0,45) width 264: ".low {text-transform: lowercase;}"
          text run at (264,45) width 0: " "
          text run at (0,60) width 0: " "
      RenderBlock {HR} at (0,122) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,140) size 769x36
        RenderText {#text} at (0,0) size 718x35
          text run at (0,0) width 718: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
          text run at (0,18) width 48: "normal."
      RenderBlock {P} at (0,192) size 769x54
        RenderText {#text} at (0,0) size 748x53
          text run at (0,0) width 748: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words That"
          text run at (0,18) width 717: "Are In Uppercase In The Source (E.g. USA) Should Remain So. There Should Be A Capital Letter After A Non-"
          text run at (0,36) width 538: "Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
      RenderBlock {P} at (0,262) size 769x36
        RenderText {#text} at (0,0) size 752x35
          text run at (0,0) width 752: "Words with inline elements inside them should only capitalize the first letter of the word. Therefore, the last word in this"
          text run at (0,18) width 304: "sentence should have one, and only one, capital "
        RenderInline {SPAN} at (0,0) size 37x17
          RenderText {#text} at (304,18) size 17x17
            text run at (304,18) width 17: "Le"
          RenderInline {SPAN} at (0,0) size 8x17
            RenderText {#text} at (321,18) size 8x17
              text run at (321,18) width 8: "tt"
          RenderText {#text} at (329,18) size 12x17
            text run at (329,18) width 12: "er"
        RenderText {#text} at (341,18) size 4x17
          text run at (341,18) width 4: "."
      RenderBlock {P} at (0,314) size 769x54
        RenderText {#text} at (0,0) size 719x35
          text run at (0,0) width 719: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
          text run at (0,18) width 359: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
          text run at (359,18) width 284: "IN THE LAST SENTENCE, HOWEVER, "
        RenderInline {SPAN} at (0,0) size 765x35
          RenderText {#text} at (642,18) size 765x35
            text run at (642,18) width 123: "the last eight words"
            text run at (0,36) width 152: "should not be uppercase"
        RenderText {#text} at (152,36) size 4x17
          text run at (152,36) width 4: "."
      RenderBlock {P} at (0,384) size 769x18
        RenderText {#text} at (0,0) size 726x17
          text run at (0,0) width 726: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
      RenderTable {TABLE} at (0,418) size 769x298 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x296
          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 767x270
            RenderTableCell {TD} at (0,148) 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 755x270 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x36
                RenderText {#text} at (0,0) size 718x35
                  text run at (0,0) width 718: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
                  text run at (0,18) width 48: "normal."
              RenderBlock {P} at (4,56) size 747x54
                RenderText {#text} at (0,0) size 715x53
                  text run at (0,0) width 715: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words"
                  text run at (0,18) width 714: "That Are In Uppercase In The Source (E.g. USA) Should Remain So. There Should Be A Capital Letter After A"
                  text run at (0,36) width 571: "Non-Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
              RenderBlock {P} at (4,126) size 747x36
                RenderText {#text} at (0,0) size 726x35
                  text run at (0,0) width 726: "Words with inline elements inside them should only capitalize the first letter of the word. Therefore, the last word in"
                  text run at (0,18) width 330: "this sentence should have one, and only one, capital "
                RenderInline {SPAN} at (0,0) size 37x17
                  RenderText {#text} at (330,18) size 17x17
                    text run at (330,18) width 17: "Le"
                  RenderInline {SPAN} at (0,0) size 8x17
                    RenderText {#text} at (347,18) size 8x17
                      text run at (347,18) width 8: "tt"
                  RenderText {#text} at (355,18) size 12x17
                    text run at (355,18) width 12: "er"
                RenderText {#text} at (367,18) size 4x17
                  text run at (367,18) width 4: "."
              RenderBlock {P} at (4,178) size 747x54
                RenderText {#text} at (0,0) size 719x35
                  text run at (0,0) width 719: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
                  text run at (0,18) width 359: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
                  text run at (359,18) width 284: "IN THE LAST SENTENCE, HOWEVER, "
                RenderInline {SPAN} at (0,0) size 722x35
                  RenderText {#text} at (642,18) size 722x35
                    text run at (642,18) width 80: "the last eight"
                    text run at (0,36) width 195: "words should not be uppercase"
                RenderText {#text} at (195,36) size 4x17
                  text run at (195,36) width 4: "."
              RenderBlock {P} at (4,248) size 747x18
                RenderText {#text} at (0,0) size 726x17
                  text run at (0,0) width 726: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
