layer at (0,0) size 785x1036
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1036
  RenderBlock {HTML} at (0,0) size 785x1036
    RenderBody {BODY} at (8,8) size 769x1020
      RenderBlock (anonymous) at (0,0) size 769x20
        RenderText {#text} at (0,0) size 658x19
          text run at (0,0) width 658: "This example tests that word-break properly shrinks a cell to one character per line when it is set to break-all."
      RenderTable {TABLE} at (0,20) size 769x110 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x108
          RenderTableRow {TR} at (0,0) size 767x108
            RenderTableCell {TD} at (0,0) size 20x108 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (6,6) size 8x96
                text run at (6,6) width 8: "N"
                text run at (6,22) width 8: "a"
                text run at (6,38) width 8: "r"
                text run at (6,54) width 8: "r"
                text run at (6,70) width 8: "o"
                text run at (6,86) width 8: "w"
            RenderTableCell {TD} at (20,40) size 747x28 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (6,6) size 168x16
                text run at (6,6) width 168: "This cell should grow"
      RenderBlock (anonymous) at (0,130) size 769x40
        RenderBR {BR} at (0,0) size 0x19
        RenderText {#text} at (0,20) size 415x19
          text run at (0,20) width 415: "This test checks that word-break is ignored when white-space is pre."
      RenderBlock {PRE} at (0,183) size 110x26 [border: (5px solid #000000)]
        RenderText {#text} at (5,5) size 448x16
          text run at (5,5) width 448: "Thislongwordshouldnotgetbrokenbutshouldstickoutofthepre."
      RenderBlock (anonymous) at (0,222) size 769x60
        RenderBR {BR} at (0,0) size 0x19
        RenderText {#text} at (0,20) size 768x39
          text run at (0,20) width 453: "The next two examples test our custom break-word value for word-break. "
          text run at (453,20) width 304: "We should get the same results as break-all for the"
          text run at (0,40) width 768: "first test, but we should break up the word in the second test (since our behavior matches word-wrap: break-word in that case)."
      RenderTable {TABLE} at (0,282) size 769x110 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x108
          RenderTableRow {TR} at (0,0) size 767x108
            RenderTableCell {TD} at (0,0) size 20x108 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (6,6) size 8x96
                text run at (6,6) width 8: "N"
                text run at (6,22) width 8: "a"
                text run at (6,38) width 8: "r"
                text run at (6,54) width 8: "r"
                text run at (6,70) width 8: "o"
                text run at (6,86) width 8: "w"
            RenderTableCell {TD} at (20,40) size 747x28 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (6,6) size 168x16
                text run at (6,6) width 168: "This cell should grow"
      RenderBlock (anonymous) at (0,392) size 769x20
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock {PRE} at (0,425) size 110x90 [border: (5px solid #000000)]
        RenderText {#text} at (5,5) size 96x80
          text run at (5,5) width 96: "Thislongword"
          text run at (5,21) width 96: "shouldnotget"
          text run at (5,37) width 96: "brokenbutsho"
          text run at (5,53) width 96: "uldstickouto"
          text run at (5,69) width 64: "fthepre."
      RenderBlock (anonymous) at (0,528) size 769x60
        RenderBR {BR} at (0,0) size 0x19
        RenderText {#text} at (0,20) size 756x39
          text run at (0,20) width 596: "This test makes sure floating and positioned elements do the right thing with word-break: break-all. "
          text run at (596,20) width 160: "The minimum width should"
          text run at (0,40) width 239: "be less than the containing block width. "
          text run at (239,40) width 459: "The breaking should be \"dumb\" and just occur when the end of the line is hit."
      RenderBlock {DIV} at (0,588) size 304x52 [border: (2px solid #000000)]
        RenderBlock (floating) {DIV} at (2,2) size 300x48
          RenderText {#text} at (0,0) size 296x48
            text run at (0,0) width 296: "Eventhoughthishasareallylongword itsh"
            text run at (0,16) width 296: "ouldnotstick out oftheenclosing300pxb"
            text run at (0,32) width 40: "lock."
        RenderBR {BR} at (302,2) size 0x16
      RenderBlock (anonymous) at (0,640) size 769x20
        RenderBR {BR} at (0,0) size 0x19
      RenderBlock (anonymous) at (0,764) size 769x80
        RenderBR {BR} at (0,0) size 0x19
        RenderText {#text} at (0,20) size 768x59
          text run at (0,20) width 615: "This test makes sure floating and positioned elements do the right thing with word-break: break-word. "
          text run at (615,20) width 117: "The minimum width"
          text run at (0,40) width 282: "should be less than the containing block width. "
          text run at (282,40) width 486: "The breaking should be \"smart\" and be like word-wrap: break-word, with words"
          text run at (0,60) width 428: "preferring to wrap first before allowing break opportunities within them."
      RenderBlock {DIV} at (0,844) size 304x52 [border: (2px solid #000000)]
        RenderBlock (floating) {DIV} at (2,2) size 300x48
          RenderText {#text} at (0,0) size 256x48
            text run at (0,0) width 256: "Eventhoughthishasareallylongword"
            text run at (0,16) width 160: "itshouldnotstick out"
            text run at (0,32) width 200: "oftheenclosing300pxblock."
        RenderBR {BR} at (302,2) size 0x16
      RenderBlock (anonymous) at (0,896) size 769x20
        RenderBR {BR} at (0,0) size 0x19
layer at (8,668) size 304x104
  RenderBlock (relative positioned) {DIV} at (0,660) size 304x104 [border: (2px solid #000000)]
layer at (10,670) size 300x48
  RenderBlock (positioned) {DIV} at (2,2) size 300x48
    RenderText {#text} at (0,0) size 296x48
      text run at (0,0) width 296: "Eventhoughthishasareallylongword itsh"
      text run at (0,16) width 296: "ouldnotstick out oftheenclosing300pxb"
      text run at (0,32) width 40: "lock."
layer at (8,924) size 304x104
  RenderBlock (relative positioned) {DIV} at (0,916) size 304x104 [border: (2px solid #000000)]
layer at (10,926) size 300x48
  RenderBlock (positioned) {DIV} at (2,2) size 300x48
    RenderText {#text} at (0,0) size 256x48
      text run at (0,0) width 256: "Eventhoughthishasareallylongword"
      text run at (0,16) width 160: "itshouldnotstick out"
      text run at (0,32) width 200: "oftheenclosing300pxblock."
