@Override public void manipulate(Document document) { // Find elements which need to be spilt up Set<Element> elementsWithBr = new HashSet<>(); document.select("br").forEach(e -> elementsWithBr.add(e.parent())); // For each parent elementsWithBr.forEach( e -> { List<Element> runs = collectRuns(document, e); if (!runs.isEmpty()) { addRunsToDom(e, runs); } }); }
@Test public void testOneSplitInP() { Document doc = Jsoup.parseBodyFragment("<p>This is <br /> some text</p>"); m.manipulate(doc); assertEquals(doc.body().select("p").size(), 2); }
@Before public void before() { m = new NewLineToNewParagraph(); }
@Test public void testNoSplit() { Document doc = Jsoup.parseBodyFragment("<p>This is some text</p>"); m.manipulate(doc); assertEquals(doc.body().select("p").size(), 1); }
@Override public void manipulate(Document document) { // Find elements which need to be spilt up Set<Element> elementsWithBr = new HashSet<>(); document.select("br").forEach(e -> elementsWithBr.add(e.parent())); // For each parent elementsWithBr.forEach( e -> { List<Element> runs = collectRuns(document, e); if (!runs.isEmpty()) { addRunsToDom(e, runs); } }); }
@Test public void testTwoSplitInP() { Document doc = Jsoup.parseBodyFragment("<p>This <br /> is some<br /> text</p>"); m.manipulate(doc); assertEquals(doc.body().select("p").size(), 3); }
@Test public void testSplitInLi() { Document doc = Jsoup.parseBodyFragment("<li>This is <br />some text</li>"); m.manipulate(doc); assertEquals(doc.body().select("li > p").size(), 2); } }