Open topn0tch opened 4 years ago
With the following unit test (AlignedStringTest.java)
@Test public void testHtmlDelete() { ArrayList<ImmutableInterval> list = new ArrayList<>(); list.add(new ImmutableInterval(0, 3)); list.add(new ImmutableInterval(8, 11)); list.add(new ImmutableInterval(16, 20)); list.add(new ImmutableInterval(20, 24)); Collections.reverse(list); String short_html = "<p>Hello<p>World</p></p>"; AlignedString base = new AlignedString(short_html); for (ImmutableInterval i : list) { base.delete(i.getStart(), i.getEnd()); } System.out.println("Base : " + base.get() + " - " + base.dataSegmentsToString()); Collections.reverse(list); assertEquals(new ImmutableInterval(0, 0), base.inverseResolve(list.get(0))); assertEquals(new ImmutableInterval(5, 5), base.inverseResolve(list.get(1))); assertEquals(new ImmutableInterval(10, 10), base.inverseResolve(list.get(2))); assertEquals(new ImmutableInterval(10, 10), base.inverseResolve(list.get(3))); }
We get the following output:
Base : HelloWorld - >>[][Hello][World][][]<< (A:0)(O:0[]0)(O:0[Hello]5)(O:5[World]10)(O:10[]10)(O:10[]10)(A:10) java.lang.AssertionError: Expected :[5-5] Actual :[10-10]
Assuming that the empty brackets represent the html tags, we've noticed that the "p" tag between Hello and World in the output is missing.
Thanks for reporting.
With the following unit test (AlignedStringTest.java)
We get the following output:
Assuming that the empty brackets represent the html tags, we've noticed that the "p" tag between Hello and World in the output is missing.