layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x455
  RenderBlock {HTML} at (0,0) size 800x455
    RenderBody {BODY} at (8,16) size 784x431 [color=#0000FF]
      RenderBlock {P} at (0,0) size 784x238
        RenderInline (generated) at (0,0) size 88x166 [color=#00FFFF]
          RenderText at (0,0) size 88x166
            text run at (0,0) width 88: "T"
        RenderText {#text} at (88,87) size 57x55
          text run at (88,87) width 57: "he "
        RenderInline {STRONG} at (0,0) size 205x55
          RenderText {#text} at (145,87) size 205x55
            text run at (145,87) width 205: "first letter"
        RenderText {#text} at (350,87) size 779x97
          text run at (350,87) width 429: " of this paragraph, and"
          text run at (0,166) width 59: "only that "
          text run at (59,166) width 96: "one, should be "
        RenderInline {STRONG} at (0,0) size 87x18
          RenderText {#text} at (155,166) size 87x18
            text run at (155,166) width 87: "600% bigger"
        RenderText {#text} at (242,166) size 513x18
          text run at (242,166) width 133: " than the normal text "
          text run at (375,166) width 380: "(300% bigger than the rest of first line of this paragraph) and"
        RenderInline {STRONG} at (0,0) size 34x18
          RenderText {#text} at (0,184) size 34x18
            text run at (0,184) width 34: "aqua"
        RenderText {#text} at (34,184) size 109x18
          text run at (34,184) width 109: ", while the entire "
        RenderInline {STRONG} at (0,0) size 55x18
          RenderText {#text} at (143,184) size 55x18
            text run at (143,184) width 55: "first line"
        RenderText {#text} at (198,184) size 69x18
          text run at (198,184) width 4: " "
          text run at (202,184) width 65: "should be "
        RenderInline {STRONG} at (0,0) size 87x18
          RenderText {#text} at (267,184) size 87x18
            text run at (267,184) width 87: "300% bigger"
        RenderText {#text} at (354,184) size 110x18
          text run at (354,184) width 110: " than normal and "
        RenderInline {STRONG} at (0,0) size 24x18
          RenderText {#text} at (464,184) size 24x18
            text run at (464,184) width 24: "teal"
        RenderText {#text} at (488,184) size 779x54
          text run at (488,184) width 274: ". If this precise combination does not occur,"
          text run at (0,202) width 410: "then the user agent has failed this test. Remember that in order to "
          text run at (410,202) width 369: "ensure a complete test, the paragraph must be displayed on"
          text run at (0,220) width 36: "more "
          text run at (36,220) width 146: "than one line. (TEST1)"
      RenderBlock {P} at (0,254) size 784x73
        RenderInline (generated) at (0,0) size 33x37 [color=#00FFFF]
          RenderText at (0,0) size 33x37
            text run at (0,0) width 33: "\"T"
        RenderText {#text} at (33,15) size 98x18
          text run at (33,15) width 98: "est\": The first "
        RenderInline {STRONG} at (0,0) size 108x18
          RenderText {#text} at (131,15) size 108x18
            text run at (131,15) width 108: "two characters"
        RenderText {#text} at (239,15) size 448x18
          text run at (239,15) width 119: " in this paragraph "
          text run at (358,15) width 329: "(a double-quote mark and a capital 'T') should be "
        RenderInline {STRONG} at (0,0) size 88x18
          RenderText {#text} at (687,15) size 88x18
            text run at (687,15) width 44: "200% "
            text run at (731,15) width 44: "bigger"
        RenderText {#text} at (0,37) size 218x18
          text run at (0,37) width 218: "than the rest of the paragraph, and "
        RenderInline {STRONG} at (0,0) size 34x18
          RenderText {#text} at (218,37) size 34x18
            text run at (218,37) width 34: "aqua"
        RenderText {#text} at (252,37) size 146x18
          text run at (252,37) width 146: ". In addition, the entire "
        RenderInline {STRONG} at (0,0) size 55x18
          RenderText {#text} at (398,37) size 55x18
            text run at (398,37) width 31: "first "
            text run at (429,37) width 24: "line"
        RenderText {#text} at (453,37) size 96x18
          text run at (453,37) width 96: " should be in a "
        RenderInline {STRONG} at (0,0) size 159x18
          RenderText {#text} at (549,37) size 159x18
            text run at (549,37) width 135: "small-caps font and "
            text run at (684,37) width 24: "teal"
        RenderText {#text} at (708,37) size 724x36
          text run at (708,37) width 4: "."
          text run at (0,55) width 315: "Remember that in order to ensure a complete test, "
          text run at (315,55) width 409: "the paragraph must be displayed on more than one line. (TEST2)"
      RenderBlock {P} at (0,343) size 784x54
        RenderInline (generated) at (0,0) size 10x18 [color=#00FFFF]
          RenderText at (0,0) size 10x18
            text run at (0,0) width 10: "T"
        RenderText {#text} at (10,0) size 19x18
          text run at (10,0) width 19: "he "
        RenderInline {STRONG} at (0,0) size 66x18
          RenderText {#text} at (29,0) size 66x18
            text run at (29,0) width 66: "first letter"
        RenderText {#text} at (95,0) size 300x18
          text run at (95,0) width 204: " of this paragraph, and only that "
          text run at (299,0) width 96: "one, should be "
        RenderInline {STRONG} at (0,0) size 34x18
          RenderText {#text} at (395,0) size 34x18
            text run at (395,0) width 34: "aqua"
        RenderText {#text} at (429,0) size 109x18
          text run at (429,0) width 109: ", while the entire "
        RenderInline {STRONG} at (0,0) size 55x18
          RenderText {#text} at (538,0) size 55x18
            text run at (538,0) width 55: "first line"
        RenderText {#text} at (593,0) size 69x18
          text run at (593,0) width 69: " should be "
        RenderInline {STRONG} at (0,0) size 24x18
          RenderText {#text} at (662,0) size 24x18
            text run at (662,0) width 24: "teal"
        RenderText {#text} at (686,0) size 778x54
          text run at (686,0) width 22: ". If "
          text run at (708,0) width 70: "this precise"
          text run at (0,18) width 329: "combination does not occur, then the user agent has "
          text run at (329,18) width 409: "failed this test. Remember that in order to ensure a complete test, "
          text run at (738,18) width 19: "the"
          text run at (0,36) width 386: "paragraph must be displayed on more than one line. (TEST3)"
      RenderBlock {DIV} at (0,413) size 784x18
        RenderText {#text} at (0,0) size 168x18
          text run at (0,0) width 168: "You should see the words "
        RenderInline {STRONG} at (0,0) size 68x18
          RenderText {#text} at (168,0) size 68x18
            text run at (168,0) width 68: "\"TEST1\""
        RenderText {#text} at (236,0) size 8x18
          text run at (236,0) width 8: ", "
        RenderInline {STRONG} at (0,0) size 68x18
          RenderText {#text} at (244,0) size 68x18
            text run at (244,0) width 68: "\"TEST2\""
        RenderText {#text} at (312,0) size 35x18
          text run at (312,0) width 35: ", and "
        RenderInline {STRONG} at (0,0) size 68x18
          RenderText {#text} at (347,0) size 68x18
            text run at (347,0) width 68: "\"TEST3\""
        RenderText {#text} at (415,0) size 236x18
          text run at (415,0) width 86: " at the end of "
          text run at (501,0) width 150: "three paragraphs above."
