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

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: canBeNested move out of the switch. 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..5627555327b897c95368fc14c37dbf84cbdf9ae8
--- /dev/null
+++ b/javatests/org/chromium/distiller/webdocument/filters/NestedElementRetainerTest.java
@@ -0,0 +1,185 @@
+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.addTagStart();
+ WebTag liStart = builder.addTagStart();
+ builder.addText("text 1").setIsContent(false);
+ WebTag liEnd = builder.addTagEnd();
+ WebTag liStart2 = builder.addTagStart();
+ builder.addText("text 2").setIsContent(false);
+ WebTag liEnd2 = builder.addTagEnd();
+ WebTag liStart3 = builder.addTagStart();
+ builder.addText("text 3").setIsContent(true);
+ WebTag liEnd3 = builder.addTagEnd();
+ WebTag olEnd = builder.addTagEnd();
+ 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.addTagStart();
+ WebTag liStart = builder.addTagStart();
+ builder.addText("text 1").setIsContent(true);
+ WebTag ulStart2 = builder.addTagStart();
+ WebTag liStart2 = builder.addTagStart();
+ builder.addText("text 2").setIsContent(false);
+ WebTag liEnd2 = builder.addTagEnd();
+ WebTag ulEnd2 = builder.addTagEnd();
+ WebTag liEnd = builder.addTagEnd();
+ WebTag ulEnd = builder.addTagEnd();
+ WebDocument document = builder.build();
+
+ NestedElementRetainer.process(document);
+ assertTrue(ulStart.getIsContent());
+ assertTrue(liStart.getIsContent());
+ assertFalse(ulStart2.getIsContent());
+ assertFalse(liStart2.getIsContent());
+ assertFalse(liEnd2.getIsContent());
+ assertFalse(ulEnd2.getIsContent());
+ assertTrue(liEnd.getIsContent());
+ assertTrue(ulEnd.getIsContent());
+
+ }
+
+ public void testContentFromListStrcture() {
+ TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
+ WebTag olStartLevel1 = builder.addTagStart();
+ WebTag olStartLevel2 = builder.addTagStart();
+ WebTag liStart1 = builder.addTagStart();
+ builder.addText("text 1").setIsContent(false);
+ WebTag liEnd1 = builder.addTagEnd();
+ WebTag olStartLevel3 = builder.addTagStart();
+ WebTag liStart2 = builder.addTagStart();
+ builder.addText("text 2").setIsContent(true);
+ WebTag liEnd2 = builder.addTagEnd();
+ WebTag olStartLevel4 = builder.addTagStart();
+ WebTag liStart3 = builder.addTagStart();
+ builder.addText("text 3").setIsContent(false);
+ WebTag liEnd3 = builder.addTagEnd();
+ WebTag liStart4 = builder.addTagStart();
+ builder.addText("text 4").setIsContent(false);
+ WebTag liEnd4 = builder.addTagEnd();
+ WebTag liStart5 = builder.addTagStart();
+ builder.addText("text 5").setIsContent(false);
+ WebTag liEnd5 = builder.addTagEnd();
+ WebTag liStart6 = builder.addTagStart();
+ builder.addText("text 6").setIsContent(false);
+ WebTag liEnd6 = builder.addTagEnd();
+ WebTag olEndLevel4 = builder.addTagEnd();
+ WebTag olEndLevel3 = builder.addTagEnd();
+ WebTag liStart7 = builder.addTagStart();
+ builder.addText("text 7").setIsContent(true);
+ WebTag liEnd7 = builder.addTagEnd();
+ WebTag olEndLevel2 = builder.addTagEnd();
+ WebTag olEndLevel1 = builder.addTagEnd();
+ 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.addTagStart();
+ WebTag olStartLevel2 = builder.addTagStart();
+ WebTag liStart1 = builder.addTagStart();
+ builder.addText("text 1").setIsContent(false);
+ WebTag liEnd1 = builder.addTagEnd();
+ WebTag olStartLevel4 = builder.addTagStart();
+ WebTag liStart3 = builder.addTagStart();
+ builder.addText("text 3").setIsContent(false);
+ WebTag liEnd3 = builder.addTagEnd();
+ WebTag liStart4 = builder.addTagStart();
+ builder.addText("text 4").setIsContent(false);
+ WebTag liEnd4 = builder.addTagEnd();
+ WebTag liStart5 = builder.addTagStart();
+ builder.addText("text 5").setIsContent(false);
+ WebTag liEnd5 = builder.addTagEnd();
+ WebTag liStart6 = builder.addTagStart();
+ builder.addText("text 6").setIsContent(false);
+ WebTag liEnd6 = builder.addTagEnd();
+ WebTag olEndLevel4 = builder.addTagEnd();
+ WebTag olEndLevel2 = builder.addTagEnd();
+ WebTag olEndLevel1 = builder.addTagEnd();
+ 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.addTagStart();
+ WebTag liStart = builder.addTagStart();
+ builder.addText("text 1").setIsContent(true);
+ WebTag liEnd = builder.addTagEnd();
+ WebTag olStart = builder.addTagStart();
+ WebTag liOLStart = builder.addTagStart();
+ builder.addText("text 2").setIsContent(true);
+ WebTag liOLEnd = builder.addTagEnd();
+ WebTag olEnd = builder.addTagEnd();
+ WebTag ulEnd = builder.addTagEnd();
+ 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