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

Side by Side Diff: javatests/org/chromium/distiller/webdocument/DomConverterTest.java

Issue 2669723002: Fix more partially hidden articles (Closed)
Patch Set: don't rely on article Created 3 years, 10 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
« no previous file with comments | « java/org/chromium/distiller/webdocument/DomConverter.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.distiller.webdocument; 5 package org.chromium.distiller.webdocument;
6 6
7 import org.chromium.distiller.DomDistillerJsTestCase; 7 import org.chromium.distiller.DomDistillerJsTestCase;
8 import org.chromium.distiller.DomWalker; 8 import org.chromium.distiller.DomWalker;
9 9
10 import com.google.gwt.dom.client.Document; 10 import com.google.gwt.dom.client.Document;
11 import com.google.gwt.dom.client.Element; 11 import com.google.gwt.dom.client.Element;
12 12
13 import java.util.List; 13 import java.util.List;
14 14
15 public class DomConverterTest extends DomDistillerJsTestCase { 15 public class DomConverterTest extends DomDistillerJsTestCase {
16 private void runTest(String innerHtml, String expectedHtml) throws Throwable { 16 private void runTest(String innerHtml, String expectedHtml) throws Throwable {
17 runTest(innerHtml, expectedHtml, false);
18 }
19
20 private void runTest(String innerHtml, String expectedHtml, boolean mobileAr ticle)
21 throws Throwable {
17 Element container = Document.get().createDivElement(); 22 Element container = Document.get().createDivElement();
18 mBody.appendChild(container); 23 mBody.appendChild(container);
19 container.setInnerHTML(innerHtml); 24 container.setInnerHTML(innerHtml);
20 FakeWebDocumentBuilder builder = new FakeWebDocumentBuilder(); 25 FakeWebDocumentBuilder builder = new FakeWebDocumentBuilder();
21 DomConverter filteringDomVisitor = new DomConverter(builder); 26 DomConverter filteringDomVisitor = new DomConverter(builder);
27 filteringDomVisitor.setHasArticleElement(mobileArticle);
28 filteringDomVisitor.setIsMobileFriendly(mobileArticle);
22 new DomWalker(filteringDomVisitor).walk(container); 29 new DomWalker(filteringDomVisitor).walk(container);
23 String expectedDocument = "<div>" + expectedHtml + "</div>"; 30 String expectedDocument = "<div>" + expectedHtml + "</div>";
24 assertEquals(expectedDocument, builder.getDocumentString().toLowerCase() ); 31 assertEquals(expectedDocument, builder.getDocumentString().toLowerCase() );
25 } 32 }
26 33
27 public void testVisibleText() throws Throwable { 34 public void testVisibleText() throws Throwable {
28 String html = "visible text"; 35 String html = "visible text";
29 runTest(html, html); 36 runTest(html, html);
30 } 37 }
31 38
(...skipping 12 matching lines...) Expand all
44 51
45 public void testInvisibleInVisible() throws Throwable { 52 public void testInvisibleInVisible() throws Throwable {
46 String html = "<div>visible parent" + 53 String html = "<div>visible parent" +
47 "<div style=\"display:none\">invisible child</div>" + 54 "<div style=\"display:none\">invisible child</div>" +
48 "</div>"; 55 "</div>";
49 runTest(html, "<div>visible parent</div>"); 56 runTest(html, "<div>visible parent</div>");
50 } 57 }
51 58
52 public void testVisibleInInvisible() throws Throwable { 59 public void testVisibleInInvisible() throws Throwable {
53 String html = "<div style=\"visibility:hidden\">invisible parent" + 60 String html = "<div style=\"visibility:hidden\">invisible parent" +
54 "<div>visible child</div>" + 61 "<div>visible child</div>" +
55 "</div>"; 62 "</div>";
56 runTest(html, ""); 63 runTest(html, "");
57 } 64 }
58 65
66 public void testVisibleInInvisible2() throws Throwable {
67 String html = "<div style=\"display:none\">invisible parent" +
68 "<div>visible child</div>" +
69 "</div>";
70 runTest(html, "");
71 }
72
59 public void testVisibleInVisible() throws Throwable { 73 public void testVisibleInVisible() throws Throwable {
60 String html = "<div>visible parent" + 74 String html = "<div>visible parent" +
61 "<div>visible child</div>" + 75 "<div>visible child</div>" +
62 "</div>"; 76 "</div>";
63 runTest(html, html); 77 runTest(html, html);
64 } 78 }
65 79
66 public void testInvisibleInInvisible() throws Throwable { 80 public void testInvisibleInInvisible() throws Throwable {
67 String html = "<div style=\"visibility:hidden\">invisible parent" + 81 String html = "<div style=\"visibility:hidden\">invisible parent" +
68 "<div style=\"display:none\">invisible child</div>" + 82 "<div style=\"display:none\">invisible child</div>" +
(...skipping 16 matching lines...) Expand all
85 String html = "<div style=\"visibility:hidden\">invisible parent" + 99 String html = "<div style=\"visibility:hidden\">invisible parent" +
86 "<div style=\"display:none\">invisible child0</div>" + 100 "<div style=\"display:none\">invisible child0</div>" +
87 "<div>visible child1" + 101 "<div>visible child1" +
88 "<div style=\"display:none\">invisible grandchild< /div>" + 102 "<div style=\"display:none\">invisible grandchild< /div>" +
89 "</div>" + 103 "</div>" +
90 "<div style=\"visibility:hidden\">invisible child2</di v>" + 104 "<div style=\"visibility:hidden\">invisible child2</di v>" +
91 "</div>"; 105 "</div>";
92 runTest(html, ""); 106 runTest(html, "");
93 } 107 }
94 108
109 public void testKeepHidden() throws Throwable {
110 String html = "<div class=\"hidden\" style=\"display: none\">visible ele ment</div>";
111 runTest(html, html, true);
112 }
113
114 public void testKeepHiddenNested() throws Throwable {
115 // "visibility: hidden" is used. See crbug.com/599121
116 String html = "<div class=\"hidden\" style=\"visibility: hidden\">" +
117 "<div>visible element</div></div>";
118 runTest(html, html, true);
119 }
120
121 public void testKeepContinue() throws Throwable {
122 String html = "<div class=\"continue\" style=\"display: none\">visible e lement</div>";
123 runTest(html, html, true);
124 }
125
126 public void testKeepContinueNested() throws Throwable {
127 // "display: none" is used. See crbug.com/687071
128 String html = "<div class=\"continue\" style=\"display: none\">" +
129 "<div>visible element</div></div>";
130 runTest(html, html, true);
131 }
132
95 public void testDataTable() throws Throwable { 133 public void testDataTable() throws Throwable {
96 String html = "<table align=\"left\" role=\"grid\">" + // role=grid make this a data table. 134 String html = "<table align=\"left\" role=\"grid\">" + // role=grid make this a data table.
97 "<tbody align=\"left\">" + 135 "<tbody align=\"left\">" +
98 "<tr>" + 136 "<tr>" +
99 "<td>row1col1</td>" + 137 "<td>row1col1</td>" +
100 "<td>row1col2</td>" + 138 "<td>row1col2</td>" +
101 "</tr>" + 139 "</tr>" +
102 "</tbody>" + 140 "</tbody>" +
103 "</table>"; 141 "</table>";
104 runTest(html, "<datatable/>"); 142 runTest(html, "<datatable/>");
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 225
188 assertTrue(elements.get(5) instanceof WebText); 226 assertTrue(elements.get(5) instanceof WebText);
189 227
190 assertTrue(elements.get(6) instanceof WebTag); 228 assertTrue(elements.get(6) instanceof WebTag);
191 assertFalse(((WebTag) elements.get(6)).isStartTag()); 229 assertFalse(((WebTag) elements.get(6)).isStartTag());
192 230
193 assertTrue(elements.get(7) instanceof WebTag); 231 assertTrue(elements.get(7) instanceof WebTag);
194 assertFalse(((WebTag) elements.get(7)).isStartTag()); 232 assertFalse(((WebTag) elements.get(7)).isStartTag());
195 } 233 }
196 } 234 }
OLDNEW
« no previous file with comments | « java/org/chromium/distiller/webdocument/DomConverter.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698