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 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x75
        RenderText {#text} at (0,0) size 266x75
          text run at (0,0) width 219: ".ttn {text-transform: none;}"
          text run at (218,0) width 1: " "
          text run at (0,15) width 266: ".cap {text-transform: capitalize;}"
          text run at (265,15) width 1: " "
          text run at (0,30) width 258: ".upp {text-transform: uppercase;}"
          text run at (257,30) width 1: " "
          text run at (0,45) width 258: ".low {text-transform: lowercase;}"
          text run at (257,45) width 1: " "
          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 733x36
          text run at (0,0) width 733: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
          text run at (0,18) width 50: "normal."
      RenderBlock {P} at (0,192) size 769x54
        RenderText {#text} at (0,0) size 758x54
          text run at (0,0) width 758: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words That"
          text run at (0,18) width 721: "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 544: "Breaking Space (&Nbsp;). Both Those Characters Appear In The Previous Sentence."
      RenderBlock {P} at (0,262) size 769x36
        RenderText {#text} at (0,0) size 743x36
          text run at (0,0) width 743: "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 336: "this sentence should have one, and only one, capital "
        RenderInline {SPAN} at (0,0) size 39x18
          RenderText {#text} at (335,18) size 18x18
            text run at (335,18) width 18: "Le"
          RenderInline {SPAN} at (0,0) size 10x18
            RenderText {#text} at (352,18) size 10x18
              text run at (352,18) width 10: "tt"
          RenderText {#text} at (361,18) size 13x18
            text run at (361,18) width 13: "er"
        RenderText {#text} at (373,18) size 5x18
          text run at (373,18) width 5: "."
      RenderBlock {P} at (0,314) size 769x54
        RenderText {#text} at (0,0) size 702x36
          text run at (0,0) width 702: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
          text run at (0,18) width 351: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
          text run at (350,18) width 278: "IN THE LAST SENTENCE, HOWEVER, "
        RenderInline {SPAN} at (0,0) size 753x36
          RenderText {#text} at (627,18) size 753x36
            text run at (627,18) width 126: "the last eight words"
            text run at (0,36) width 155: "should not be uppercase"
        RenderText {#text} at (154,36) size 5x18
          text run at (154,36) width 5: "."
      RenderBlock {P} at (0,384) size 769x18
        RenderText {#text} at (0,0) size 741x18
          text run at (0,0) width 741: "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 161x18
                RenderText {#text} at (4,4) size 161x18
                  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 4x18
                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 733x36
                  text run at (0,0) width 733: "This page tests the 'text-transform' property of CSS1. This paragraph has no text transformation and should appear"
                  text run at (0,18) width 50: "normal."
              RenderBlock {P} at (4,56) size 747x54
                RenderText {#text} at (0,0) size 724x54
                  text run at (0,0) width 724: "This Paragraph Is Capitalized And The First Letter In Each Word Should Therefore Appear In Uppercase. Words"
                  text run at (0,18) width 718: "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 577: "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 743x36
                  text run at (0,0) width 743: "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 336: "this sentence should have one, and only one, capital "
                RenderInline {SPAN} at (0,0) size 39x18
                  RenderText {#text} at (335,18) size 18x18
                    text run at (335,18) width 18: "Le"
                  RenderInline {SPAN} at (0,0) size 10x18
                    RenderText {#text} at (352,18) size 10x18
                      text run at (352,18) width 10: "tt"
                  RenderText {#text} at (361,18) size 13x18
                    text run at (361,18) width 13: "er"
                RenderText {#text} at (373,18) size 5x18
                  text run at (373,18) width 5: "."
              RenderBlock {P} at (4,178) size 747x54
                RenderText {#text} at (0,0) size 702x36
                  text run at (0,0) width 702: "THIS PARAGRAPH IS UPPERCASED AND SMALL CHARACTERS IN THE SOURCE (E.G. A AND \x{C5})"
                  text run at (0,18) width 351: "SHOULD THEREFORE APPEAR IN UPPERCASE. "
                  text run at (350,18) width 278: "IN THE LAST SENTENCE, HOWEVER, "
                RenderInline {SPAN} at (0,0) size 710x36
                  RenderText {#text} at (627,18) size 710x36
                    text run at (627,18) width 83: "the last eight"
                    text run at (0,36) width 198: "words should not be uppercase"
                RenderText {#text} at (197,36) size 5x18
                  text run at (197,36) width 5: "."
              RenderBlock {P} at (4,248) size 747x18
                RenderText {#text} at (0,0) size 741x18
                  text run at (0,0) width 741: "this paragraph is lowercased and capital characters in the source (e.g. a and \x{E5}) should therefore appear in lowercase."
