layer at (0,0) size 785x782
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x782
  RenderBlock {HTML} at (0,0) size 785x782
    RenderBody {BODY} at (8,8) size 769x758
      RenderBlock (anonymous) at (0,0) size 769x18
        RenderText {#text} at (0,0) size 132x18
          text run at (0,0) width 132: "1. Basic inheritance:"
      RenderBlock {OL} at (0,34) size 769x36
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x18: "3"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 3"
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "4"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 4"
      RenderBlock {HR} at (0,86) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,96) size 769x18
        RenderText {#text} at (0,0) size 297x18
          text run at (0,0) width 297: "2. Test that the inner start value gets inherited:"
      RenderBlock {OL} at (0,130) size 769x36
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x18: "5"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 5"
        RenderBlock {OL} at (40,18) size 729x18
          RenderListItem {LI} at (40,0) size 689x18
            RenderListMarker at (-20,0) size 16x18: "3"
            RenderText {#text} at (0,0) size 77x18
              text run at (0,0) width 77: "Should be 3"
      RenderBlock {HR} at (0,182) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,192) size 769x18
        RenderText {#text} at (0,0) size 391x18
          text run at (0,0) width 391: "3. Test that extra tags before the li don't block the inheritance"
      RenderBlock {OL} at (0,226) size 769x52
        RenderBlock {P} at (40,0) size 729x18
          RenderText {#text} at (0,0) size 29x18
            text run at (0,0) width 29: "Text"
        RenderListItem {LI} at (40,34) size 729x18
          RenderListMarker at (-20,0) size 16x18: "3"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 3"
      RenderBlock {HR} at (0,294) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,304) size 769x18
        RenderText {#text} at (0,0) size 275x18
          text run at (0,0) width 275: "4. Test for inheritance through many levels"
      RenderBlock {OL} at (0,338) size 769x18
        RenderBlock (anonymous) at (40,0) size 729x0
          RenderInline {B} at (0,0) size 0x0
        RenderBlock (anonymous) at (40,0) size 729x18
          RenderListItem {LI} at (0,0) size 729x18
            RenderListMarker at (-20,0) size 16x18: "3"
            RenderText {#text} at (0,0) size 155x18
              text run at (0,0) width 155: "Should be 3 (and bold)"
        RenderBlock (anonymous) at (40,18) size 729x0
          RenderInline {B} at (0,0) size 0x0
          RenderText {#text} at (0,0) size 0x0
      RenderBlock {HR} at (0,372) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,382) size 769x18
        RenderText {#text} at (0,0) size 425x18
          text run at (0,0) width 425: "5. Test for properly chaining from the previous li when it is nested"
      RenderBlock {OL} at (0,416) size 769x54
        RenderBlock (anonymous) at (40,0) size 729x0
          RenderInline {B} at (0,0) size 0x0
        RenderBlock (anonymous) at (40,0) size 729x18
          RenderListItem {LI} at (0,0) size 729x18
            RenderListMarker at (-20,0) size 16x18: "3"
            RenderText {#text} at (0,0) size 155x18
              text run at (0,0) width 155: "Should be 3 (and bold)"
        RenderBlock (anonymous) at (40,18) size 729x0
          RenderInline {B} at (0,0) size 0x0
          RenderText {#text} at (0,0) size 0x0
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "4"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 4"
        RenderListItem {LI} at (40,36) size 729x18
          RenderListMarker at (-20,0) size 16x18: "5"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 5"
      RenderBlock {HR} at (0,486) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,496) size 769x18
        RenderText {#text} at (0,0) size 461x18
          text run at (0,0) width 461: "6. Test for properly chaining from the previous li when current is nested"
      RenderBlock {OL} at (0,530) size 769x36
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x18: "1"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 1"
        RenderBlock (anonymous) at (40,18) size 729x0
          RenderInline {B} at (0,0) size 0x0
        RenderBlock (anonymous) at (40,18) size 729x18
          RenderListItem {LI} at (0,0) size 729x18
            RenderListMarker at (-20,0) size 16x18: "2"
            RenderText {#text} at (0,0) size 155x18
              text run at (0,0) width 155: "Should be 2 (and bold)"
        RenderBlock (anonymous) at (40,36) size 729x0
          RenderInline {B} at (0,0) size 0x0
          RenderText {#text} at (0,0) size 0x0
      RenderBlock {HR} at (0,582) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,592) size 769x18
        RenderText {#text} at (0,0) size 453x18
          text run at (0,0) width 453: "7. Test for properly chaining from the previous li when both are nested"
      RenderBlock {OL} at (0,626) size 769x36
        RenderBlock (anonymous) at (40,0) size 729x0
          RenderInline {I} at (0,0) size 0x0
        RenderBlock (anonymous) at (40,0) size 729x18
          RenderListItem {LI} at (0,0) size 729x18
            RenderListMarker at (-20,0) size 16x18: "2"
            RenderText {#text} at (0,0) size 152x18
              text run at (0,0) width 152: "Should be 2 (and italic)"
        RenderBlock (anonymous) at (40,18) size 729x0
          RenderInline {I} at (0,0) size 0x0
          RenderText {#text} at (0,0) size 0x0
          RenderInline {B} at (0,0) size 0x0
        RenderBlock (anonymous) at (40,18) size 729x18
          RenderListItem {LI} at (0,0) size 729x18
            RenderListMarker at (-20,0) size 16x18: "3"
            RenderText {#text} at (0,0) size 155x18
              text run at (0,0) width 155: "Should be 3 (and bold)"
        RenderBlock (anonymous) at (40,36) size 729x0
          RenderInline {B} at (0,0) size 0x0
          RenderText {#text} at (0,0) size 0x0
      RenderBlock {HR} at (0,678) size 769x2 [border: (1px inset #000000)]
      RenderBlock (anonymous) at (0,688) size 769x18
        RenderText {#text} at (0,0) size 361x18
          text run at (0,0) width 361: "8. Test for not inheriting improperly from an another list"
      RenderBlock {OL} at (0,722) size 769x36
        RenderBlock {OL} at (40,0) size 729x18
          RenderListItem {LI} at (40,0) size 689x18
            RenderListMarker at (-20,0) size 16x18: "2"
            RenderText {#text} at (0,0) size 77x18
              text run at (0,0) width 77: "Should be 2"
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "5"
          RenderText {#text} at (0,0) size 77x18
            text run at (0,0) width 77: "Should be 5"
