This tests that list item markers are updated when adding new items as indirect children of the list element.

1 One
2 Two
-> 3 Three
4 Four
5 Five
6 Six
-> 7 Seven
-> 8 Eight
-> 9 Nine
10 Ten
11 Eleven

