layer at (0,0) size 785x1016
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1016
  RenderBlock {HTML} at (0,0) size 785x1016
    RenderBody {BODY} at (8,8) size 769x1000
      RenderBlock (anonymous) at (0,0) size 769x18
        RenderText {#text} at (0,0) size 700x18
          text run at (0,0) width 700: "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,18) size 769x104 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x102
          RenderTableRow {TR} at (0,0) size 767x102
            RenderTableCell {TD} at (0,0) size 20x102 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (6,6) size 8x90
                text run at (6,6) width 8: "N"
                text run at (6,21) width 8: "a"
                text run at (6,36) width 8: "r"
                text run at (6,51) width 8: "r"
                text run at (6,66) width 8: "o"
                text run at (6,81) width 8: "w"
            RenderTableCell {TD} at (19,37) size 748x28 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (6,6) size 164x16
                text run at (6,7) width 164: "This cell should grow"
      RenderBlock (anonymous) at (0,122) size 769x36
        RenderBR {BR} at (0,0) size 0x18
        RenderText {#text} at (0,18) size 438x18
          text run at (0,18) width 438: "This test checks that word-break is ignored when white-space is pre."
      RenderBlock {PRE} at (0,171) size 110x25 [border: (5px solid #000000)]
        RenderText {#text} at (5,5) size 437x15
          text run at (5,5) width 437: "Thislongwordshouldnotgetbrokenbutshouldstickoutofthepre."
      RenderBlock (anonymous) at (0,209) size 769x72
        RenderBR {BR} at (0,0) size 0x18
        RenderText {#text} at (0,18) size 751x54
          text run at (0,18) width 476: "The next two examples test our custom break-word value for word-break. "
          text run at (475,18) width 276: "We should get the same results as break-all"
          text run at (0,36) width 738: "for the first test, but we should break up the word in the second test (since our behavior matches word-wrap: break-"
          text run at (0,54) width 119: "word in that case)."
      RenderTable {TABLE} at (0,281) size 769x104 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x102
          RenderTableRow {TR} at (0,0) size 767x102
            RenderTableCell {TD} at (0,0) size 20x102 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (6,6) size 8x90
                text run at (6,6) width 8: "N"
                text run at (6,21) width 8: "a"
                text run at (6,36) width 8: "r"
                text run at (6,51) width 8: "r"
                text run at (6,66) width 8: "o"
                text run at (6,81) width 8: "w"
            RenderTableCell {TD} at (19,37) size 748x28 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (6,6) size 164x16
                text run at (6,7) width 164: "This cell should grow"
      RenderBlock (anonymous) at (0,385) size 769x18
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock {PRE} at (0,416) size 110x85 [border: (5px solid #000000)]
        RenderText {#text} at (5,5) size 94x75
          text run at (5,5) width 94: "Thislongword"
          text run at (5,20) width 94: "shouldnotget"
          text run at (5,35) width 94: "brokenbutsho"
          text run at (5,50) width 94: "uldstickouto"
          text run at (5,65) width 63: "fthepre."
      RenderBlock (anonymous) at (0,514) size 769x72
        RenderBR {BR} at (0,0) size 0x18
        RenderText {#text} at (0,18) size 750x54
          text run at (0,18) width 640: "This test makes sure floating and positioned elements do the right thing with word-break: break-all. "
          text run at (639,18) width 92: "The minimum"
          text run at (0,36) width 345: "width should be less than the containing block width. "
          text run at (344,36) width 406: "The breaking should be \"dumb\" and just occur when the end of"
          text run at (0,54) width 88: "the line is hit."
      RenderBlock {DIV} at (0,586) size 304x49 [border: (2px solid #000000)]
        RenderBlock (floating) {DIV} at (2,2) size 300x45
          RenderText {#text} at (0,0) size 297x45
            text run at (0,0) width 297: "Eventhoughthishasareallylongword itsho"
            text run at (0,15) width 297: "uldnotstick out oftheenclosing300pxblo"
            text run at (0,30) width 24: "ck."
        RenderBR {BR} at (302,2) size 0x15
      RenderBlock (anonymous) at (0,635) size 769x18
        RenderBR {BR} at (0,0) size 0x18
      RenderBlock (anonymous) at (0,757) size 769x72
        RenderBR {BR} at (0,0) size 0x18
        RenderText {#text} at (0,18) size 748x54
          text run at (0,18) width 657: "This test makes sure floating and positioned elements do the right thing with word-break: break-word. "
          text run at (656,18) width 92: "The minimum"
          text run at (0,36) width 345: "width should be less than the containing block width. "
          text run at (344,36) width 402: "The breaking should be \"smart\" and be like word-wrap: break-"
          text run at (0,54) width 580: "word, with words preferring to wrap first before allowing break opportunities within them."
      RenderBlock {DIV} at (0,829) size 304x49 [border: (2px solid #000000)]
        RenderBlock (floating) {DIV} at (2,2) size 300x45
          RenderText {#text} at (0,0) size 250x45
            text run at (0,0) width 250: "Eventhoughthishasareallylongword"
            text run at (0,15) width 157: "itshouldnotstick out"
            text run at (0,30) width 196: "oftheenclosing300pxblock."
        RenderBR {BR} at (302,2) size 0x15
      RenderBlock (anonymous) at (0,878) size 769x18
        RenderBR {BR} at (0,0) size 0x18
layer at (8,661) size 304x104
  RenderBlock (relative positioned) {DIV} at (0,653) size 304x104 [border: (2px solid #000000)]
layer at (10,663) size 300x45
  RenderBlock (positioned) {DIV} at (2,2) size 300x45
    RenderText {#text} at (0,0) size 297x45
      text run at (0,0) width 297: "Eventhoughthishasareallylongword itsho"
      text run at (0,15) width 297: "uldnotstick out oftheenclosing300pxblo"
      text run at (0,30) width 24: "ck."
layer at (8,904) size 304x104
  RenderBlock (relative positioned) {DIV} at (0,896) size 304x104 [border: (2px solid #000000)]
layer at (10,906) size 300x45
  RenderBlock (positioned) {DIV} at (2,2) size 300x45
    RenderText {#text} at (0,0) size 250x45
      text run at (0,0) width 250: "Eventhoughthishasareallylongword"
      text run at (0,15) width 157: "itshouldnotstick out"
      text run at (0,30) width 196: "oftheenclosing300pxblock."
