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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 package org.chromium.distiller.webdocument.filters;
2
3 import org.chromium.distiller.DomDistillerJsTestCase;
4 import org.chromium.distiller.webdocument.TestWebDocumentBuilder;
5 import org.chromium.distiller.webdocument.WebDocument;
6 import org.chromium.distiller.webdocument.WebTag;
7
8 public class NestedElementRetainerTest extends DomDistillerJsTestCase {
9 public void testOrderedListStructure() {
10 TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
11 WebTag olStart = builder.addTagStart();
12 WebTag liStart = builder.addTagStart();
13 builder.addText("text 1").setIsContent(false);
14 WebTag liEnd = builder.addTagEnd();
15 WebTag liStart2 = builder.addTagStart();
16 builder.addText("text 2").setIsContent(false);
17 WebTag liEnd2 = builder.addTagEnd();
18 WebTag liStart3 = builder.addTagStart();
19 builder.addText("text 3").setIsContent(true);
20 WebTag liEnd3 = builder.addTagEnd();
21 WebTag olEnd = builder.addTagEnd();
22 WebDocument document = builder.build();
23 NestedElementRetainer.process(document);
24 assertTrue(olStart.getIsContent());
25 assertFalse(liStart.getIsContent());
26 assertFalse(liEnd.getIsContent());
27 assertFalse(liStart2.getIsContent());
28 assertFalse(liEnd2.getIsContent());
29 assertTrue(liStart3.getIsContent());
30 assertTrue(liEnd3.getIsContent());
31 assertTrue(olEnd.getIsContent());
32 }
33
34 public void testUnorderedListStructure() {
35 TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
36 WebTag ulStart = builder.addTagStart();
37 WebTag liStart = builder.addTagStart();
38 builder.addText("text 1").setIsContent(true);
39 WebTag ulStart2 = builder.addTagStart();
40 WebTag liStart2 = builder.addTagStart();
41 builder.addText("text 2").setIsContent(false);
42 WebTag liEnd2 = builder.addTagEnd();
43 WebTag ulEnd2 = builder.addTagEnd();
44 WebTag liEnd = builder.addTagEnd();
45 WebTag ulEnd = builder.addTagEnd();
46 WebDocument document = builder.build();
47
48 NestedElementRetainer.process(document);
49 assertTrue(ulStart.getIsContent());
50 assertTrue(liStart.getIsContent());
51 assertFalse(ulStart2.getIsContent());
52 assertFalse(liStart2.getIsContent());
53 assertFalse(liEnd2.getIsContent());
54 assertFalse(ulEnd2.getIsContent());
55 assertTrue(liEnd.getIsContent());
56 assertTrue(ulEnd.getIsContent());
57
58 }
59
60 public void testContentFromListStrcture() {
61 TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
62 WebTag olStartLevel1 = builder.addTagStart();
63 WebTag olStartLevel2 = builder.addTagStart();
64 WebTag liStart1 = builder.addTagStart();
65 builder.addText("text 1").setIsContent(false);
66 WebTag liEnd1 = builder.addTagEnd();
67 WebTag olStartLevel3 = builder.addTagStart();
68 WebTag liStart2 = builder.addTagStart();
69 builder.addText("text 2").setIsContent(true);
70 WebTag liEnd2 = builder.addTagEnd();
71 WebTag olStartLevel4 = builder.addTagStart();
72 WebTag liStart3 = builder.addTagStart();
73 builder.addText("text 3").setIsContent(false);
74 WebTag liEnd3 = builder.addTagEnd();
75 WebTag liStart4 = builder.addTagStart();
76 builder.addText("text 4").setIsContent(false);
77 WebTag liEnd4 = builder.addTagEnd();
78 WebTag liStart5 = builder.addTagStart();
79 builder.addText("text 5").setIsContent(false);
80 WebTag liEnd5 = builder.addTagEnd();
81 WebTag liStart6 = builder.addTagStart();
82 builder.addText("text 6").setIsContent(false);
83 WebTag liEnd6 = builder.addTagEnd();
84 WebTag olEndLevel4 = builder.addTagEnd();
85 WebTag olEndLevel3 = builder.addTagEnd();
86 WebTag liStart7 = builder.addTagStart();
87 builder.addText("text 7").setIsContent(true);
88 WebTag liEnd7 = builder.addTagEnd();
89 WebTag olEndLevel2 = builder.addTagEnd();
90 WebTag olEndLevel1 = builder.addTagEnd();
91 WebDocument document = builder.build();
92
93 NestedElementRetainer.process(document);
94 assertTrue(olStartLevel1.getIsContent());
95 assertTrue(olStartLevel2.getIsContent());
96 assertFalse(liStart1.getIsContent());
97 assertFalse(liEnd1.getIsContent());
98 assertTrue(olStartLevel3.getIsContent());
99 assertTrue(liStart2.getIsContent());
100 assertTrue(liEnd2.getIsContent());
101 assertFalse(olStartLevel4.getIsContent());
102 assertFalse(liStart3.getIsContent());
103 assertFalse(liEnd3.getIsContent());
104 assertFalse(liStart4.getIsContent());
105 assertFalse(liEnd4.getIsContent());
106 assertFalse(liStart5.getIsContent());
107 assertFalse(liEnd5.getIsContent());
108 assertFalse(liStart6.getIsContent());
109 assertFalse(liEnd6.getIsContent());
110 assertFalse(olEndLevel4.getIsContent());
111 assertTrue(olEndLevel3.getIsContent());
112 assertTrue(liStart7.getIsContent());
113 assertTrue(liEnd7.getIsContent());
114 assertTrue(olEndLevel2.getIsContent());
115 assertTrue(olEndLevel1.getIsContent());
116 }
117
118 public void testNoContentFromListStructure() {
119 TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
120 WebTag olStartLevel1 = builder.addTagStart();
121 WebTag olStartLevel2 = builder.addTagStart();
122 WebTag liStart1 = builder.addTagStart();
123 builder.addText("text 1").setIsContent(false);
124 WebTag liEnd1 = builder.addTagEnd();
125 WebTag olStartLevel4 = builder.addTagStart();
126 WebTag liStart3 = builder.addTagStart();
127 builder.addText("text 3").setIsContent(false);
128 WebTag liEnd3 = builder.addTagEnd();
129 WebTag liStart4 = builder.addTagStart();
130 builder.addText("text 4").setIsContent(false);
131 WebTag liEnd4 = builder.addTagEnd();
132 WebTag liStart5 = builder.addTagStart();
133 builder.addText("text 5").setIsContent(false);
134 WebTag liEnd5 = builder.addTagEnd();
135 WebTag liStart6 = builder.addTagStart();
136 builder.addText("text 6").setIsContent(false);
137 WebTag liEnd6 = builder.addTagEnd();
138 WebTag olEndLevel4 = builder.addTagEnd();
139 WebTag olEndLevel2 = builder.addTagEnd();
140 WebTag olEndLevel1 = builder.addTagEnd();
141 WebDocument document = builder.build();
142
143 NestedElementRetainer.process(document);
144 assertFalse(olStartLevel1.getIsContent());
145 assertFalse(olStartLevel2.getIsContent());
146 assertFalse(liStart1.getIsContent());
147 assertFalse(liEnd1.getIsContent());
148 assertFalse(olStartLevel4.getIsContent());
149 assertFalse(liStart3.getIsContent());
150 assertFalse(liEnd3.getIsContent());
151 assertFalse(liStart4.getIsContent());
152 assertFalse(liEnd4.getIsContent());
153 assertFalse(liStart5.getIsContent());
154 assertFalse(liEnd5.getIsContent());
155 assertFalse(liStart6.getIsContent());
156 assertFalse(liEnd6.getIsContent());
157 assertFalse(olEndLevel4.getIsContent());
158 assertFalse(olEndLevel2.getIsContent());
159 assertFalse(olEndLevel1.getIsContent());
160 }
161
162 public void testNestedListStructure() {
163 TestWebDocumentBuilder builder = new TestWebDocumentBuilder();
164 WebTag ulStart = builder.addTagStart();
165 WebTag liStart = builder.addTagStart();
166 builder.addText("text 1").setIsContent(true);
167 WebTag liEnd = builder.addTagEnd();
168 WebTag olStart = builder.addTagStart();
169 WebTag liOLStart = builder.addTagStart();
170 builder.addText("text 2").setIsContent(true);
171 WebTag liOLEnd = builder.addTagEnd();
172 WebTag olEnd = builder.addTagEnd();
173 WebTag ulEnd = builder.addTagEnd();
174 WebDocument document = builder.build();
175 NestedElementRetainer.process(document);
176 assertTrue(ulStart.getIsContent());
177 assertTrue(liStart.getIsContent());
178 assertTrue(olStart.getIsContent());
179 assertTrue(liOLStart.getIsContent());
180 assertTrue(liOLEnd.getIsContent());
181 assertTrue(olEnd.getIsContent());
182 assertTrue(liEnd.getIsContent());
183 assertTrue(ulEnd.getIsContent());
184 }
185 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698