layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x266
  RenderBlock {test} at (0,0) size 800x266
    RenderBlock {p} at (0,16) size 800x36
      RenderText {#text} at (0,0) size 674x17
        text run at (0,0) width 423: "The background color of this paragraph should turn to green when "
        text run at (423,0) width 251: "the mouse pointer hovers either its text ("
      RenderInline {strong} at (0,0) size 30x17
        RenderText {#text} at (674,0) size 30x17
          text run at (674,0) width 30: "here"
      RenderText {#text} at (704,0) size 744x35
        text run at (704,0) width 40: ") or its"
        text run at (0,18) width 157: "whitespace background, "
      RenderInline {strong} at (0,0) size 30x17
        RenderText {#text} at (157,18) size 30x17
          text run at (157,18) width 30: "here"
      RenderText {#text} at (187,18) size 4x17
        text run at (187,18) width 4: ":"
    RenderBlock {address} at (0,68) size 800x18
      RenderText {#text} at (0,0) size 161x17
        text run at (0,0) width 161: "The background color of "
      RenderInline {a} at (0,0) size 114x17 [color=#0000EE]
        RenderText {#text} at (161,0) size 80x17
          text run at (161,0) width 80: "this anchor ("
        RenderInline {strong} at (0,0) size 29x17
          RenderText {#text} at (241,0) size 29x17
            text run at (241,0) width 29: "here"
        RenderText {#text} at (270,0) size 5x17
          text run at (270,0) width 5: ")"
      RenderText {#text} at (275,0) size 387x17
        text run at (275,0) width 387: " should turn to green when the pointing device hovers over it."
    RenderTable {table} at (0,86) size 278x180
      RenderTableSection {tbody} at (0,0) size 278x180
        RenderTableRow {tr} at (0,5) size 278x20
          RenderTableCell {td} at (5,5) size 78x20 [r=0 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 73x17
              text run at (1,1) width 73: "The cells in"
          RenderTableCell {td} at (88,5) size 81x20 [r=0 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 56x17
              text run at (1,1) width 56: "this table"
          RenderTableCell {td} at (174,5) size 99x20 [r=0 c=2 rs=1 cs=1]
            RenderText {#text} at (1,1) size 62x17
              text run at (1,1) width 62: "should go"
        RenderTableRow {tr} at (0,30) size 278x20
          RenderTableCell {td} at (5,30) size 78x20 [r=1 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 74x17
              text run at (1,1) width 74: "green when"
          RenderTableCell {td} at (88,30) size 81x20 [r=1 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 64x17
              text run at (1,1) width 64: "you hover"
          RenderTableCell {td} at (174,30) size 99x20 [r=1 c=2 rs=1 cs=1]
            RenderText {#text} at (1,1) size 75x17
              text run at (1,1) width 75: "the pointing"
        RenderTableRow {tr} at (0,55) size 278x20
          RenderTableCell {td} at (5,55) size 78x20 [r=2 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 73x17
              text run at (1,1) width 73: "device over"
          RenderTableCell {td} at (88,55) size 81x20 [r=2 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 40x17
              text run at (1,1) width 40: "them ("
            RenderInline {strong} at (0,0) size 30x17
              RenderText {#text} at (41,1) size 30x17
                text run at (41,1) width 30: "here"
            RenderText {#text} at (71,1) size 9x17
              text run at (71,1) width 9: ")."
          RenderTableCell {td} at (174,64) size 99x2 [r=2 c=2 rs=1 cs=1]
        RenderTableRow {tr} at (0,80) size 278x20
          RenderTableCell {td} at (5,80) size 78x20 [r=3 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 76x17
              text run at (1,1) width 76: "The rows in"
          RenderTableCell {td} at (88,80) size 81x20 [r=3 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 56x17
              text run at (1,1) width 56: "this table"
          RenderTableCell {td} at (174,80) size 99x20 [r=3 c=2 rs=1 cs=1]
            RenderText {#text} at (1,1) size 62x17
              text run at (1,1) width 62: "should go"
        RenderTableRow {tr} at (0,105) size 278x20
          RenderTableCell {td} at (5,105) size 78x20 [r=4 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 67x17
              text run at (1,1) width 67: "dark green"
          RenderTableCell {td} at (88,105) size 81x20 [r=4 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 58x17
              text run at (1,1) width 58: "when the"
          RenderTableCell {td} at (174,105) size 99x20 [r=4 c=2 rs=1 cs=1]
            RenderText {#text} at (1,1) size 97x17
              text run at (1,1) width 97: "pointing device"
        RenderTableRow {tr} at (0,130) size 278x20
          RenderTableCell {td} at (5,130) size 78x20 [r=5 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 65x17
              text run at (1,1) width 65: "is over the"
          RenderTableCell {td} at (88,130) size 81x20 [r=5 c=1 rs=1 cs=1]
            RenderText {#text} at (1,1) size 32x17
              text run at (1,1) width 32: "cells "
            RenderInline {strong} at (0,0) size 35x17
              RenderText {#text} at (33,1) size 35x17
                text run at (33,1) width 35: "there"
            RenderText {#text} at (68,1) size 4x17
              text run at (68,1) width 4: ":"
          RenderTableCell {td} at (174,139) size 99x2 [r=5 c=2 rs=1 cs=1]
        RenderTableRow {tr} at (0,155) size 278x20
          RenderTableCell {td} at (5,155) size 78x20 [r=6 c=0 rs=1 cs=1]
            RenderText {#text} at (1,1) size 32x17
              text run at (1,1) width 32: "And "
            RenderInline {strong} at (0,0) size 30x17
              RenderText {#text} at (33,1) size 30x17
                text run at (33,1) width 30: "here"
            RenderText {#text} at (63,1) size 4x17
              text run at (63,1) width 4: ":"
          RenderTableCell {td} at (88,164) size 81x2 [r=6 c=1 rs=1 cs=1]
          RenderTableCell {td} at (174,155) size 99x20 [r=6 c=2 rs=1 cs=1]
            RenderText {#text} at (1,1) size 81x17
              text run at (1,1) width 81: "(blank cells)."
