Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(413)

Unified Diff: javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java

Issue 1230583006: Fix for keeping lists structure (Closed) Base URL: https://github.com/chromium/dom-distiller.git@master
Patch Set: Fixed imports order Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698