layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 470x582
      RenderBlock (anonymous) at (0,0) size 470x320
        RenderText {#text} at (0,0) size 310x19
          text run at (0,0) width 310: "This tests basic inputs. Here's what you should see: "
        RenderBR {BR} at (310,15) size 0x0
        RenderBR {BR} at (0,20) size 0x19
        RenderText {#text} at (0,40) size 458x59
          text run at (0,40) width 400: "first line: the letter \"a\" and then a text input field filled with repeating"
          text run at (0,60) width 79: "\"foobarbaz\", "
          text run at (79,60) width 379: "then the word \"text\" followed by a disabled text input field filled"
          text run at (0,80) width 272: "with \"foo\" and then the letter \"b\" and then \"a\" "
        RenderBR {BR} at (272,95) size 0x0
        RenderBR {BR} at (0,100) size 0x19
        RenderText {#text} at (0,120) size 459x59
          text run at (0,120) width 441: "second line: and then a password input field that's filled and then the word"
          text run at (0,140) width 459: "\"password\" and then a disabled password field that's filled and then the letter"
          text run at (0,160) width 22: "\"b\" "
        RenderBR {BR} at (22,175) size 0x0
        RenderBR {BR} at (0,180) size 0x19
        RenderText {#text} at (0,200) size 426x39
          text run at (0,200) width 426: "third line: the letter \"a\" and then a checkbox (unchecked) with the word"
          text run at (0,220) width 338: "\"checkbox\" and then a disabled checkbox and letter \"b\" "
        RenderBR {BR} at (338,235) size 0x0
        RenderBR {BR} at (0,240) size 0x19
        RenderText {#text} at (0,260) size 459x39
          text run at (0,260) width 453: "fourth line: the last line has the letter \"a\" and then a redio button (unselected)"
          text run at (0,280) width 459: "and then the word \"radio\" and then a disabled radio button and the letter \"b\" "
        RenderBR {BR} at (459,295) size 0x0
        RenderBR {BR} at (0,300) size 0x19
      RenderBlock {DIV} at (10,330) size 450x54 [border: (1px solid #FF0000)]
        RenderText {#text} at (1,4) size 7x19
          text run at (1,4) width 7: "a"
        RenderTextControl {INPUT} at (10,3) size 150x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
        RenderText {#text} at (162,4) size 26x19
          text run at (162,4) width 26: "text "
        RenderTextControl {INPUT} at (190,3) size 150x22 [bgcolor=#EBEBE4] [border: (2px inset #000000)]
        RenderText {#text} at (342,4) size 19x19
          text run at (342,4) width 12: "b "
          text run at (354,4) width 7: "a"
        RenderTextControl {INPUT} at (3,29) size 150x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
        RenderText {#text} at (155,30) size 63x19
          text run at (155,30) width 63: "password "
        RenderTextControl {INPUT} at (220,29) size 150x22 [bgcolor=#EBEBE4] [border: (2px inset #000000)]
        RenderText {#text} at (372,30) size 8x19
          text run at (372,30) width 8: "b"
      RenderBlock {DIV} at (10,394) size 450x23 [border: (1px solid #FF0000)]
        RenderText {#text} at (1,2) size 7x19
          text run at (1,2) width 7: "a"
        RenderBlock {INPUT} at (12,4) size 13x13
        RenderText {#text} at (28,2) size 63x19
          text run at (28,2) width 63: "checkbox "
        RenderBlock {INPUT} at (95,4) size 13x13
        RenderText {#text} at (111,2) size 8x19
          text run at (111,2) width 8: "b"
      RenderBlock {DIV} at (10,427) size 450x23 [border: (1px solid #FF0000)]
        RenderText {#text} at (1,2) size 7x19
          text run at (1,2) width 7: "a"
        RenderBlock {INPUT} at (13,4) size 13x13
        RenderText {#text} at (29,2) size 35x19
          text run at (29,2) width 35: "radio "
        RenderBlock {INPUT} at (69,4) size 13x13
        RenderText {#text} at (85,2) size 8x19
          text run at (85,2) width 8: "b"
layer at (30,344) size 146x16 scrollWidth 184
  RenderBlock {DIV} at (2,3) size 146x16
    RenderText {#text} at (0,0) size 183x16
      text run at (0,0) width 183: "foobarbazfoobarbazfoobarbaz"
layer at (210,344) size 146x16
  RenderBlock {DIV} at (2,3) size 146x16 [color=#545454]
    RenderText {#text} at (0,0) size 19x16
      text run at (0,0) width 19: "foo"
layer at (23,370) size 146x16
  RenderBlock {DIV} at (2,3) size 146x16
    RenderText {#text} at (0,0) size 21x16
      text run at (0,0) width 21: "\x{2022}\x{2022}\x{2022}"
layer at (240,370) size 146x16
  RenderBlock {DIV} at (2,3) size 146x16 [color=#545454]
    RenderText {#text} at (0,0) size 21x16
      text run at (0,0) width 21: "\x{2022}\x{2022}\x{2022}"
