Re: [xwiki-devs] [xwiki-notifications] r9057 - in xwiki-platform/core/trunk/xwiki-core/src: main/java/com/xpn/xwiki/doc test/java/com/xpn/xwiki/doc
Hi Sergiu, [snip] The tests below should be split into several testXXX() methods for better maintainability (it's also a junit best practice).
+ + public void testSectionSplit() throws XWikiException + { + List<DocumentSection> sections; + // Simple test + document.setContent("1 Section 1\n" + "Content of first section\n" + "1.1 Subsection 2\n" + + "Content of second section\n" + "1 Section 3\n" + "Content of section 3"); + sections = document.getSplitSectionsAccordingToTitle(); + assertEquals(3, sections.size()); + assertEquals("Section 1", sections.get(0).getSectionTitle()); + assertEquals("1.1", sections.get(1).getSectionLevel()); + assertEquals(3, sections.get(2).getSectionNumber()); + assertEquals(80, sections.get(2).getSectionIndex());
another test here: testSectionSplitWhenCommentedOutSection()
+ // Test comments don't break the section editing + document.setContent("1 Section 1\n" + "Content of first section\n" + + "## 1.1 Subsection 2\n" + "Content of second section \n" + "1 Section 3\n" + + "Content of section 3"); + sections = document.getSplitSectionsAccordingToTitle(); + assertEquals(2, sections.size()); + assertEquals("Section 1", sections.get(0).getSectionTitle()); + assertEquals("1", sections.get(1).getSectionLevel()); + assertEquals(2, sections.get(1).getSectionNumber()); + assertEquals(83, sections.get(1).getSectionIndex());
another one here
+ // Test spaces are ignored + document.setContent("1 Section 1\n" + "Content of first section\n" + + " 1.1 Subsection 2 \n" + "Content of second section\n" + "1 Section 3\n" + + "Content of section 3"); + sections = document.getSplitSectionsAccordingToTitle(); + assertEquals(3, sections.size()); + assertEquals("Subsection 2 ", sections.get(1).getSectionTitle()); + assertEquals("1.1", sections.get(1).getSectionLevel());
another one
+ // Test lower headings are ignored + document.setContent("1 Section 1\n" + "Content of first section\n" + + "1.1.1 Lower subsection\n" + "This content is not important\n" + + " 1.1 Subsection 2 \n" + "Content of second section\n" + "1 Section 3\n" + + "Content of section 3"); + sections = document.getSplitSectionsAccordingToTitle(); + assertEquals(3, sections.size()); + assertEquals("Section 1", sections.get(0).getSectionTitle()); + assertEquals("Subsection 2 ", sections.get(1).getSectionTitle()); + assertEquals("1.1", sections.get(1).getSectionLevel());
another one
+ // Test blank lines are preserved + document.setContent("\n\n1 Section 1\n\n\n" + "Content of first section\n\n\n" + + " 1.1 Subsection 2 \n\n" + "Content of second section\n" + "1 Section 3\n" + + "Content of section 3"); + sections = document.getSplitSectionsAccordingToTitle(); + assertEquals(3, sections.size()); + assertEquals(2, sections.get(0).getSectionIndex()); + assertEquals("Subsection 2 ", sections.get(1).getSectionTitle()); + assertEquals(43, sections.get(1).getSectionIndex()); + } }
thanks -Vincent PS: cool for the tests :)
participants (1)
-
Vincent Massol