layer at (0,0) size 785x699
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x699
  RenderBlock {HTML} at (0,0) size 785x699
    RenderBody {BODY} at (8,8) size 769x683 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x64
        RenderText {#text} at (0,0) size 360x64
          text run at (0,0) width 224: "P:first-line {color: green;}"
          text run at (224,0) width 0: " "
          text run at (0,16) width 272: ".two:first-line {font-size: 200%;}"
          text run at (272,16) width 0: " "
          text run at (0,32) width 360: ".three:first-line {font-variant: small-caps;}"
          text run at (360,32) width 0: " "
          text run at (0,48) width 0: " "
      RenderBlock {HR} at (0,113) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 769x60
        RenderText {#text} at (0,0) size 758x59
          text run at (0,0) width 400: "The first line of this paragraph, and only that one, should be green. "
          text run at (400,0) width 335: "If this precise combination does not occur, then the user"
          text run at (0,20) width 149: "agent has failed this test. "
          text run at (149,20) width 609: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one"
          text run at (0,40) width 24: "line."
      RenderBlock {P} at (0,207) size 769x77
        RenderText {#text} at (0,0) size 759x76
          text run at (0,0) width 749: "The first line of this paragraph, and only that one, should be"
          text run at (0,37) width 205: "a larger font size as well as green. "
          text run at (205,37) width 488: "If this precise combination does not occur, then the user agent has failed this test. "
          text run at (693,37) width 66: "Remember"
          text run at (0,57) width 567: "that in order to ensure a complete test, the paragraph must be displayed on more than one line."
      RenderBlock {P} at (0,300) size 769x80
        RenderText {#text} at (0,0) size 761x59
          text run at (0,0) width 609: "The first line of this paragraph, and only that one, should be displayed in small-caps style. "
          text run at (609,0) width 152: "Thus, if the first line is"
          text run at (0,20) width 745: "not in small-caps style, OR if the entire paragraph turns out in small-caps, then the user agent has failed this test (although the"
          text run at (0,40) width 135: "problem might be that "
        RenderInline {CODE} at (0,0) size 80x16
          RenderText {#text} at (135,43) size 80x16
            text run at (135,43) width 80: "small-caps"
        RenderText {#text} at (215,40) size 750x39
          text run at (215,40) width 218: " is not supported by your browser). "
          text run at (433,40) width 317: "This is extra text included for the purposes of making"
          text run at (0,60) width 325: "the paragraph long enough to have more than one line."
      RenderTable {TABLE} at (0,396) size 769x287 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x285
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x257
            RenderTableCell {TD} at (0,142) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x20
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x257 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x60
                RenderText {#text} at (0,0) size 735x59
                  text run at (0,0) width 400: "The first line of this paragraph, and only that one, should be green. "
                  text run at (400,0) width 335: "If this precise combination does not occur, then the user"
                  text run at (0,20) width 149: "agent has failed this test. "
                  text run at (149,20) width 583: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than"
                  text run at (0,40) width 50: "one line."
              RenderBlock {P} at (4,80) size 747x77
                RenderText {#text} at (0,0) size 711x76
                  text run at (0,0) width 711: "The first line of this paragraph, and only that one, should"
                  text run at (0,37) width 224: "be a larger font size as well as green. "
                  text run at (224,37) width 484: "If this precise combination does not occur, then the user agent has failed this test."
                  text run at (0,57) width 637: "Remember that in order to ensure a complete test, the paragraph must be displayed on more than one line."
              RenderBlock {P} at (4,173) size 747x80
                RenderText {#text} at (0,0) size 718x59
                  text run at (0,0) width 609: "The first line of this paragraph, and only that one, should be displayed in small-caps style. "
                  text run at (609,0) width 109: "Thus, if the first"
                  text run at (0,20) width 701: "line is not in small-caps style, OR if the entire paragraph turns out in small-caps, then the user agent has failed this test"
                  text run at (0,40) width 216: "(although the problem might be that "
                RenderInline {CODE} at (0,0) size 80x16
                  RenderText {#text} at (216,43) size 80x16
                    text run at (216,43) width 80: "small-caps"
                RenderText {#text} at (296,40) size 709x39
                  text run at (296,40) width 218: " is not supported by your browser). "
                  text run at (514,40) width 195: "This is extra text included for the"
                  text run at (0,60) width 447: "purposes of making the paragraph long enough to have more than one line."
