layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0.83,0.83) size 798.33x598.33
    RenderSVGContainer {g} at (16.67,10) size 629.17x457.50
      RenderSVGText {text} at (10,20) size 150x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,-14) size 150x17
          chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 23 width 150.00: "Test 'text-decoration'."
      RenderSVGContainer {g} at (40.83,70.83) size 605x396.67
        RenderSVGText {text} at (25,65) size 122x27 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,-22) size 122x27
            chunk 1 text run 1 at (25.00,65.00) startOffset 0 endOffset 11 width 122.00: "Normal text"
        RenderSVGText {text} at (25,135) size 227x27 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,-22) size 227x27
            chunk 1 text run 1 at (25.00,135.00) startOffset 0 endOffset 22 width 227.00: "Text with line-through"
        RenderSVGText {text} at (25,205) size 159x27 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,-22) size 159x27
            chunk 1 text run 1 at (25.00,205.00) startOffset 0 endOffset 15 width 159.00: "Underlined text"
        RenderSVGText {text} at (25,275) size 362x27 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 45x27
            RenderSVGInlineText {#text} at (0,-22) size 45x27
              chunk 1 text run 1 at (25.00,275.00) startOffset 0 endOffset 3 width 45.00: "One"
          RenderSVGInlineText {#text} at (45,-22) size 7x27
            chunk 1 text run 2 at (70.00,275.00) startOffset 0 endOffset 1 width 7.00: " "
          RenderSVGTSpan {tspan} at (0,0) size 51x27
            RenderSVGInlineText {#text} at (52,-22) size 51x27
              chunk 1 text run 3 at (77.00,275.00) startOffset 0 endOffset 4 width 51.00: "word"
          RenderSVGInlineText {#text} at (103,-22) size 7x27
            chunk 1 text run 4 at (128.00,275.00) startOffset 0 endOffset 1 width 7.00: " "
          RenderSVGTSpan {tspan} at (0,0) size 38x27
            RenderSVGInlineText {#text} at (110,-22) size 38x27
              chunk 1 text run 5 at (135.00,275.00) startOffset 0 endOffset 3 width 38.00: "has"
          RenderSVGInlineText {#text} at (148,-22) size 7x27
            chunk 1 text run 6 at (173.00,275.00) startOffset 0 endOffset 1 width 7.00: " "
          RenderSVGTSpan {tspan} at (0,0) size 86x27
            RenderSVGInlineText {#text} at (155,-22) size 86x27
              chunk 1 text run 7 at (180.00,275.00) startOffset 0 endOffset 9 width 86.00: "different"
          RenderSVGInlineText {#text} at (241,-22) size 7x27
            chunk 1 text run 8 at (266.00,275.00) startOffset 0 endOffset 1 width 7.00: " "
          RenderSVGTSpan {tspan} at (0,0) size 114x27
            RenderSVGInlineText {#text} at (248,-22) size 114x27
              chunk 1 text run 9 at (273.00,275.00) startOffset 0 endOffset 11 width 114.00: "underlining"
          RenderSVGInlineText {#text} at (0,0) size 0x0
    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,-36) size 264x46
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.9 $"
    RenderPath {rect} at (0.83,0.83) size 798.33x598.33 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
selection start: position 0 of child 0 {#text} of child 1 {text} of child 13 {g} of child 13 {svg} of document
selection end:   position 16 of child 0 {#text} of child 15 {text} of child 13 {svg} of document
