Chromium Code Reviews| OLD | NEW |
|---|---|
| 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; | 5 package org.chromium.distiller; |
| 6 | 6 |
| 7 import com.google.gwt.dom.client.Style; | |
| 7 import org.chromium.distiller.webdocument.WebEmbed; | 8 import org.chromium.distiller.webdocument.WebEmbed; |
| 9 import org.chromium.distiller.webdocument.WebImage; | |
| 8 import org.chromium.distiller.extractors.embeds.EmbedExtractor; | 10 import org.chromium.distiller.extractors.embeds.EmbedExtractor; |
| 9 import org.chromium.distiller.extractors.embeds.TwitterExtractor; | 11 import org.chromium.distiller.extractors.embeds.TwitterExtractor; |
| 10 import org.chromium.distiller.extractors.embeds.VimeoExtractor; | 12 import org.chromium.distiller.extractors.embeds.VimeoExtractor; |
| 11 import org.chromium.distiller.extractors.embeds.YouTubeExtractor; | 13 import org.chromium.distiller.extractors.embeds.YouTubeExtractor; |
| 14 import org.chromium.distiller.extractors.embeds.ImageExtractor; | |
| 12 | 15 |
| 13 import com.google.gwt.dom.client.Document; | 16 import com.google.gwt.dom.client.Document; |
| 14 import com.google.gwt.dom.client.Element; | 17 import com.google.gwt.dom.client.Element; |
| 15 import com.google.gwt.dom.client.IFrameElement; | 18 import com.google.gwt.dom.client.IFrameElement; |
| 19 import com.google.gwt.dom.client.ImageElement; | |
| 16 | 20 |
| 17 import java.util.List; | 21 import java.util.List; |
| 18 | 22 |
| 19 public class EmbedExtractorTest extends DomDistillerJsTestCase { | 23 public class EmbedExtractorTest extends DomDistillerJsTestCase { |
| 20 | 24 |
| 25 final String IMAGE_BASE64 = "data:image/png;base64,iVBORw0KGgo" + | |
|
wychen
2016/03/18 08:20:25
Add a comment about what this looks like, especial
| |
| 26 "AAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/" + | |
| 27 "w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; | |
| 28 | |
| 21 public void testYouTubeExtractor() { | 29 public void testYouTubeExtractor() { |
| 22 Element youtube = TestUtil.createIframe(); | 30 Element youtube = TestUtil.createIframe(); |
| 23 youtube.setAttribute("src", "http://www.youtube.com/embed/M7lc1UVf-VE?au toplay=1"); | 31 youtube.setAttribute("src", "http://www.youtube.com/embed/M7lc1UVf-VE?au toplay=1"); |
| 24 | 32 |
| 25 EmbedExtractor extractor = new YouTubeExtractor(); | 33 EmbedExtractor extractor = new YouTubeExtractor(); |
| 26 WebEmbed result = (WebEmbed) extractor.extract(youtube); | 34 WebEmbed result = (WebEmbed) extractor.extract(youtube); |
| 27 | 35 |
| 28 // Check YouTube specific attributes | 36 // Check YouTube specific attributes |
| 29 assertNotNull(result); | 37 assertNotNull(result); |
| 30 assertEquals("youtube", result.getType()); | 38 assertEquals("youtube", result.getType()); |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 | 201 |
| 194 // Test no important twitter content. | 202 // Test no important twitter content. |
| 195 notTwitter = TestUtil.createIframe(); | 203 notTwitter = TestUtil.createIframe(); |
| 196 mBody.appendChild(notTwitter); | 204 mBody.appendChild(notTwitter); |
| 197 notTwitter.getContentDocument().getBody().setInnerHTML( | 205 notTwitter.getContentDocument().getBody().setInnerHTML( |
| 198 iframeStructure.replaceAll("data-tweet-id", "data-bad-id")); | 206 iframeStructure.replaceAll("data-tweet-id", "data-bad-id")); |
| 199 | 207 |
| 200 result = (WebEmbed) extractor.extract(notTwitter); | 208 result = (WebEmbed) extractor.extract(notTwitter); |
| 201 assertNull(result); | 209 assertNull(result); |
| 202 } | 210 } |
| 211 | |
| 212 public void testImageExtractorWithWidthHeightAttributes() { | |
|
wychen
2016/03/18 08:20:25
Add a few more tests to handle 0.
dalmirsilva
2016/03/18 17:20:38
Done.
| |
| 213 ImageElement image = TestUtil.createImage(); | |
| 214 image.setSrc(IMAGE_BASE64); | |
| 215 image.setAttribute("width", "32"); | |
| 216 image.setAttribute("height", "32"); | |
| 217 | |
| 218 EmbedExtractor extractor = new ImageExtractor(); | |
| 219 WebImage result = (WebImage) extractor.extract(image); | |
| 220 | |
| 221 assertNotNull(result); | |
| 222 assertEquals(32, result.getWidth()); | |
| 223 assertEquals(32, result.getHeight()); | |
| 224 } | |
| 225 | |
| 226 public void testImageExtractorWithOneAttribute() { | |
| 227 ImageElement image = TestUtil.createImage(); | |
| 228 image.setSrc(IMAGE_BASE64); | |
| 229 image.setWidth(32); | |
| 230 mBody.appendChild(image); | |
| 231 EmbedExtractor extractor = new ImageExtractor(); | |
| 232 WebImage result = (WebImage) extractor.extract(image); | |
| 233 assertNotNull(result); | |
| 234 assertEquals(32, result.getWidth()); | |
| 235 assertEquals(32, result.getHeight()); | |
| 236 } | |
| 237 | |
| 238 public void testImageExtractorWithHeightCSS() { | |
| 239 ImageElement image = TestUtil.createImage(); | |
| 240 image.setSrc(IMAGE_BASE64); | |
| 241 image.getStyle().setHeight(100, Style.Unit.PX); | |
| 242 mBody.appendChild(image); | |
| 243 EmbedExtractor extractor = new ImageExtractor(); | |
| 244 WebImage result = (WebImage) extractor.extract(image); | |
| 245 assertNotNull(result); | |
| 246 assertEquals(100, result.getWidth()); | |
| 247 assertEquals(100, result.getHeight()); | |
| 248 } | |
| 249 | |
| 250 public void testImageExtractorWithWidthHeightCSSPX() { | |
| 251 ImageElement image = TestUtil.createImage(); | |
| 252 image.setSrc(IMAGE_BASE64); | |
| 253 image.getStyle().setHeight(100, Style.Unit.PX); | |
| 254 image.getStyle().setWidth(48, Style.Unit.PX); | |
| 255 mBody.appendChild(image); | |
| 256 EmbedExtractor extractor = new ImageExtractor(); | |
| 257 WebImage result = (WebImage) extractor.extract(image); | |
| 258 assertNotNull(result); | |
| 259 assertEquals(48, result.getWidth()); | |
| 260 assertEquals(100, result.getHeight()); | |
| 261 } | |
| 262 | |
| 263 public void testImageExtractorWithWidthAttributeHeightCSS() { | |
| 264 ImageElement image = TestUtil.createImage(); | |
| 265 image.setSrc(IMAGE_BASE64); | |
| 266 image.getStyle().setHeight(100, Style.Unit.PX); | |
| 267 image.setAttribute("width", "144"); | |
| 268 mBody.appendChild(image); | |
| 269 EmbedExtractor extractor = new ImageExtractor(); | |
| 270 WebImage result = (WebImage) extractor.extract(image); | |
| 271 assertNotNull(result); | |
| 272 assertEquals(144, result.getWidth()); | |
| 273 assertEquals(100, result.getHeight()); | |
| 274 } | |
| 275 | |
| 276 public void testImageExtractorWithAttributesCSS() { | |
| 277 ImageElement image = TestUtil.createImage(); | |
| 278 image.setSrc(IMAGE_BASE64); | |
| 279 image.setAttribute("width", "32"); | |
| 280 image.setAttribute("height", "32"); | |
| 281 image.getStyle().setHeight(48, Style.Unit.PX); | |
| 282 image.getStyle().setWidth(48, Style.Unit.PX); | |
| 283 mBody.appendChild(image); | |
| 284 EmbedExtractor extractor = new ImageExtractor(); | |
| 285 WebImage result = (WebImage) extractor.extract(image); | |
| 286 assertNotNull(result); | |
| 287 assertEquals(48, result.getWidth()); | |
| 288 assertEquals(48, result.getHeight()); | |
| 289 } | |
| 290 | |
| 291 public void testImageExtractorWithAttributesCSSHeightCMAndWidthAttrb() { | |
| 292 ImageElement image = TestUtil.createImage(); | |
| 293 image.setSrc(IMAGE_BASE64); | |
| 294 image.getStyle().setHeight(1, Style.Unit.CM); | |
| 295 image.setWidth(50); | |
| 296 mBody.appendChild(image); | |
| 297 EmbedExtractor extractor = new ImageExtractor(); | |
| 298 WebImage result = (WebImage) extractor.extract(image); | |
| 299 assertNotNull(result); | |
| 300 assertEquals(38, result.getHeight()); | |
| 301 assertEquals(50, result.getWidth()); | |
| 302 } | |
| 303 | |
| 304 public void testImageExtractorWithAttributesCSSHeightCM() { | |
| 305 ImageElement image = TestUtil.createImage(); | |
| 306 image.setSrc(IMAGE_BASE64); | |
| 307 image.getStyle().setHeight(1, Style.Unit.CM); | |
| 308 mBody.appendChild(image); | |
| 309 EmbedExtractor extractor = new ImageExtractor(); | |
| 310 WebImage result = (WebImage) extractor.extract(image); | |
| 311 assertNotNull(result); | |
| 312 assertEquals(38, result.getHeight()); | |
| 313 assertEquals(38, result.getWidth()); | |
| 314 } | |
| 203 } | 315 } |
| OLD | NEW |