| Index: javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java
|
| diff --git a/javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java b/javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..188f60a9ec1756d7939f4dd4094fdc5f7d6a682a
|
| --- /dev/null
|
| +++ b/javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java
|
| @@ -0,0 +1,184 @@
|
| +package org.chromium.distiller.webdocument.filters;
|
| +
|
| +import org.chromium.distiller.DomDistillerJsTestCase;
|
| +import org.chromium.distiller.webdocument.TestWebDocumentBuilder;
|
| +import org.chromium.distiller.webdocument.WebDocument;
|
| +import org.chromium.distiller.webdocument.WebTag;
|
| +
|
| +public class NestedElementRetainerTest extends DomDistillerJsTestCase {
|
| + public void testOrderedListStructure() {
|
| + TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
|
| + WebTag olStart = builder.addListStart();
|
| + WebTag liStart = builder.addListStart();
|
| + builder.addText("text 1").setIsContent(false);
|
| + WebTag liEnd = builder.addListEnd();
|
| + WebTag liStart2 = builder.addListStart();
|
| + builder.addText("text 2").setIsContent(false);
|
| + WebTag liEnd2 = builder.addListEnd();
|
| + WebTag liStart3 = builder.addListStart();
|
| + builder.addText("text 3").setIsContent(true);
|
| + WebTag liEnd3 = builder.addListEnd();
|
| + WebTag olEnd = builder.addListEnd();
|
| + WebDocument document = builder.build();
|
| + NestedElementRetainer.process(document);
|
| + assertTrue(olStart.getIsContent());
|
| + assertFalse(liStart.getIsContent());
|
| + assertFalse(liEnd.getIsContent());
|
| + assertFalse(liStart2.getIsContent());
|
| + assertFalse(liEnd2.getIsContent());
|
| + assertTrue(liStart3.getIsContent());
|
| + assertTrue(liEnd3.getIsContent());
|
| + assertTrue(olEnd.getIsContent());
|
| + }
|
| +
|
| + public void testUnorderedListStructure() {
|
| + TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
|
| + WebTag ulStart = builder.addListStart();
|
| + WebTag liStart = builder.addListStart();
|
| + builder.addText("text 1").setIsContent(true);
|
| + WebTag liEnd = builder.addListEnd();
|
| + WebTag liStart2 = builder.addListStart();
|
| + builder.addText("text 2").setIsContent(false);
|
| + WebTag liEnd2 = builder.addListEnd();
|
| + WebTag liStart3 = builder.addListStart();
|
| + builder.addText("text 3").setIsContent(true);
|
| + WebTag liEnd3 = builder.addListEnd();
|
| + WebTag ulEnd = builder.addListEnd();
|
| + WebDocument document = builder.build();
|
| + NestedElementRetainer.process(document);
|
| + assertTrue(ulStart.getIsContent());
|
| + assertTrue(liStart.getIsContent());
|
| + assertTrue(liEnd.getIsContent());
|
| + assertFalse(liStart2.getIsContent());
|
| + assertFalse(liEnd2.getIsContent());
|
| + assertTrue(liStart3.getIsContent());
|
| + assertTrue(liEnd3.getIsContent());
|
| + assertTrue(ulEnd.getIsContent());
|
| + }
|
| +
|
| + public void testContentFromListStrcture() {
|
| + TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
|
| + WebTag olStartLevel1 = builder.addListStart();
|
| + WebTag olStartLevel2 = builder.addListStart();
|
| + WebTag liStart1 = builder.addListStart();
|
| + builder.addText("text 1").setIsContent(false);
|
| + WebTag liEnd1 = builder.addListEnd();
|
| + WebTag olStartLevel3 = builder.addListStart();
|
| + WebTag liStart2 = builder.addListStart();
|
| + builder.addText("text 2").setIsContent(true);
|
| + WebTag liEnd2 = builder.addListEnd();
|
| + WebTag olStartLevel4 = builder.addListStart();
|
| + WebTag liStart3 = builder.addListStart();
|
| + builder.addText("text 3").setIsContent(false);
|
| + WebTag liEnd3 = builder.addListEnd();
|
| + WebTag liStart4 = builder.addListStart();
|
| + builder.addText("text 4").setIsContent(false);
|
| + WebTag liEnd4 = builder.addListEnd();
|
| + WebTag liStart5 = builder.addListStart();
|
| + builder.addText("text 5").setIsContent(false);
|
| + WebTag liEnd5 = builder.addListEnd();
|
| + WebTag liStart6 = builder.addListStart();
|
| + builder.addText("text 6").setIsContent(false);
|
| + WebTag liEnd6 = builder.addListEnd();
|
| + WebTag olEndLevel4 = builder.addListEnd();
|
| + WebTag olEndLevel3 = builder.addListEnd();
|
| + WebTag liStart7 = builder.addListStart();
|
| + builder.addText("text 7").setIsContent(true);
|
| + WebTag liEnd7 = builder.addListEnd();
|
| + WebTag olEndLevel2 = builder.addListEnd();
|
| + WebTag olEndLevel1 = builder.addListEnd();
|
| + WebDocument document = builder.build();
|
| +
|
| + NestedElementRetainer.process(document);
|
| + assertTrue(olStartLevel1.getIsContent());
|
| + assertTrue(olStartLevel2.getIsContent());
|
| + assertFalse(liStart1.getIsContent());
|
| + assertFalse(liEnd1.getIsContent());
|
| + assertTrue(olStartLevel3.getIsContent());
|
| + assertTrue(liStart2.getIsContent());
|
| + assertTrue(liEnd2.getIsContent());
|
| + assertFalse(olStartLevel4.getIsContent());
|
| + assertFalse(liStart3.getIsContent());
|
| + assertFalse(liEnd3.getIsContent());
|
| + assertFalse(liStart4.getIsContent());
|
| + assertFalse(liEnd4.getIsContent());
|
| + assertFalse(liStart5.getIsContent());
|
| + assertFalse(liEnd5.getIsContent());
|
| + assertFalse(liStart6.getIsContent());
|
| + assertFalse(liEnd6.getIsContent());
|
| + assertFalse(olEndLevel4.getIsContent());
|
| + assertTrue(olEndLevel3.getIsContent());
|
| + assertTrue(liStart7.getIsContent());
|
| + assertTrue(liEnd7.getIsContent());
|
| + assertTrue(olEndLevel2.getIsContent());
|
| + assertTrue(olEndLevel1.getIsContent());
|
| + }
|
| +
|
| + public void testNoContentFromListStructure() {
|
| + TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
|
| + WebTag olStartLevel1 = builder.addListStart();
|
| + WebTag olStartLevel2 = builder.addListStart();
|
| + WebTag liStart1 = builder.addListStart();
|
| + builder.addText("text 1").setIsContent(false);
|
| + WebTag liEnd1 = builder.addListEnd();
|
| + WebTag olStartLevel4 = builder.addListStart();
|
| + WebTag liStart3 = builder.addListStart();
|
| + builder.addText("text 3").setIsContent(false);
|
| + WebTag liEnd3 = builder.addListEnd();
|
| + WebTag liStart4 = builder.addListStart();
|
| + builder.addText("text 4").setIsContent(false);
|
| + WebTag liEnd4 = builder.addListEnd();
|
| + WebTag liStart5 = builder.addListStart();
|
| + builder.addText("text 5").setIsContent(false);
|
| + WebTag liEnd5 = builder.addListEnd();
|
| + WebTag liStart6 = builder.addListStart();
|
| + builder.addText("text 6").setIsContent(false);
|
| + WebTag liEnd6 = builder.addListEnd();
|
| + WebTag olEndLevel4 = builder.addListEnd();
|
| + WebTag olEndLevel2 = builder.addListEnd();
|
| + WebTag olEndLevel1 = builder.addListEnd();
|
| + WebDocument document = builder.build();
|
| +
|
| + NestedElementRetainer.process(document);
|
| + assertFalse(olStartLevel1.getIsContent());
|
| + assertFalse(olStartLevel2.getIsContent());
|
| + assertFalse(liStart1.getIsContent());
|
| + assertFalse(liEnd1.getIsContent());
|
| + assertFalse(olStartLevel4.getIsContent());
|
| + assertFalse(liStart3.getIsContent());
|
| + assertFalse(liEnd3.getIsContent());
|
| + assertFalse(liStart4.getIsContent());
|
| + assertFalse(liEnd4.getIsContent());
|
| + assertFalse(liStart5.getIsContent());
|
| + assertFalse(liEnd5.getIsContent());
|
| + assertFalse(liStart6.getIsContent());
|
| + assertFalse(liEnd6.getIsContent());
|
| + assertFalse(olEndLevel4.getIsContent());
|
| + assertFalse(olEndLevel2.getIsContent());
|
| + assertFalse(olEndLevel1.getIsContent());
|
| + }
|
| +
|
| + public void testNestedListStructure() {
|
| + TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
|
| + WebTag ulStart = builder.addListStart();
|
| + WebTag liStart = builder.addListStart();
|
| + builder.addText("text 1").setIsContent(true);
|
| + WebTag liEnd = builder.addListEnd();
|
| + WebTag olStart = builder.addListStart();
|
| + WebTag liOLStart = builder.addListStart();
|
| + builder.addText("text 2").setIsContent(true);
|
| + WebTag liOLEnd = builder.addListEnd();
|
| + WebTag olEnd = builder.addListEnd();
|
| + WebTag ulEnd = builder.addListEnd();
|
| + WebDocument document = builder.build();
|
| + NestedElementRetainer.process(document);
|
| + assertTrue(ulStart.getIsContent());
|
| + assertTrue(liStart.getIsContent());
|
| + assertTrue(olStart.getIsContent());
|
| + assertTrue(liOLStart.getIsContent());
|
| + assertTrue(liOLEnd.getIsContent());
|
| + assertTrue(olEnd.getIsContent());
|
| + assertTrue(liEnd.getIsContent());
|
| + assertTrue(ulEnd.getIsContent());
|
| + }
|
| +}
|
|
|