layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x434
  RenderBlock {HTML} at (0,0) size 800x434
    RenderBody {BODY} at (8,16) size 784x402
      RenderBlock {P} at (0,0) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 213x19
          text run at (0,0) width 213: "This sentence should be underlined."
      RenderBlock {P} at (0,36) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 206x19
          text run at (0,0) width 206: "This sentence should be overlined."
      RenderBlock {P} at (0,72) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 221x19
          text run at (0,0) width 221: "This sentence should be stricken out."
      RenderBlock {P} at (0,108) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 348x19
          text run at (0,0) width 348: "This sentence should be blinking (if the UA supports that)."
      RenderBlock {P} at (0,144) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 215x19
          text run at (0,0) width 215: "The sentence should be underlined. "
        RenderInline {B} at (0,0) size 233x19
          RenderText {#text} at (215,0) size 233x19
            text run at (215,0) width 233: "This sentence should be underlined"
        RenderText {#text} at (448,0) size 4x19
          text run at (448,0) width 4: "."
      RenderBlock {P} at (0,180) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 298x19
          text run at (0,0) width 298: "This sentence should be underlined and overlined."
      RenderBlock {P} at (0,216) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 357x19
          text run at (0,0) width 357: "This sentence should be underlined, overlined, and stricken."
      RenderBlock {DIV} at (0,252) size 784x0 [color=#FF0000]
      RenderBlock {P} at (0,252) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 271x19
          text run at (0,0) width 271: "There should be no red at the end of this line."
        RenderImage {IMG} at (271,0) size 15x15 [color=#FF0000]
        RenderText {#text} at (286,0) size 4x19
          text run at (286,0) width 4: " "
      RenderBlock {P} at (0,288) size 784x42 [color=#000080]
        RenderText {#text} at (0,2) size 188x19
          text run at (0,2) width 188: "The text of this sentence and all"
        RenderInline {SPAN} at (0,0) size 4x19
          RenderText {#text} at (188,2) size 4x19
            text run at (188,2) width 4: " "
        RenderText {#text} at (192,2) size 13x19
          text run at (192,2) width 13: "its"
        RenderInline {SPAN} at (0,0) size 4x19
          RenderText {#text} at (205,2) size 4x19
            text run at (205,2) width 4: " "
        RenderText {#text} at (209,2) size 294x19
          text run at (209,2) width 294: "spaces (including the space between the images) "
        RenderImage {IMG} at (503,0) size 17x17 [color=#FF0000]
        RenderText {#text} at (520,2) size 4x19
          text run at (520,2) width 4: " "
        RenderImage {IMG} at (524,0) size 17x17 [color=#FF0000]
        RenderText {#text} at (541,2) size 763x39
          text run at (541,2) width 4: " "
          text run at (545,2) width 218: "should be underlined, but the images"
          text run at (0,22) width 112: "themselves should "
        RenderInline {EM} at (0,0) size 21x19
          RenderText {#text} at (112,22) size 21x19
            text run at (112,22) width 21: "not"
        RenderText {#text} at (133,22) size 89x19
          text run at (133,22) width 89: " be underlined."
      RenderBlock {P} at (0,346) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 535x19
          text run at (0,0) width 447: "This sentence should have a long blue underline including between the two "
          text run at (447,0) width 88: "arrows here\x{2192}"
        RenderInline {SPAN} at (0,0) size 156x19 [color=#FFFFFF]
          RenderText {#text} at (535,0) size 156x19
            text run at (535,0) width 156: " FAIL FAIL FAIL FAIL "
        RenderText {#text} at (691,0) size 72x19
          text run at (691,0) width 72: "\x{2190}and here."
      RenderBlock {P} at (0,382) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 325x19
          text run at (0,0) width 325: "There should be a long blue underline between here\x{2192}"
        RenderInline {SPAN} at (0,0) size 88x19
          RenderText {#text} at (325,0) size 88x19
            text run at (325,0) width 88: "                      "
        RenderText {#text} at (413,0) size 72x19
          text run at (413,0) width 72: "\x{2190}and here."
