OLD | NEW |
(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 } |
OLD | NEW |