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

Unified Diff: javatests/org/chromium/distiller/EmbedExtractorTest.java

Issue 1754213004: Retain image sizes (Closed) Base URL: https://github.com/chromium/dom-distiller.git@master
Patch Set: wychen's comment addressed Created 4 years, 9 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/EmbedExtractorTest.java
diff --git a/javatests/org/chromium/distiller/EmbedExtractorTest.java b/javatests/org/chromium/distiller/EmbedExtractorTest.java
index b68f52eeb826d3297651dd1b079bc127d1387302..fc01848ecca31d2af075a4a2a463eaa009ec0a3f 100644
--- a/javatests/org/chromium/distiller/EmbedExtractorTest.java
+++ b/javatests/org/chromium/distiller/EmbedExtractorTest.java
@@ -4,20 +4,28 @@
package org.chromium.distiller;
+import com.google.gwt.dom.client.Style;
import org.chromium.distiller.webdocument.WebEmbed;
+import org.chromium.distiller.webdocument.WebImage;
import org.chromium.distiller.extractors.embeds.EmbedExtractor;
import org.chromium.distiller.extractors.embeds.TwitterExtractor;
import org.chromium.distiller.extractors.embeds.VimeoExtractor;
import org.chromium.distiller.extractors.embeds.YouTubeExtractor;
+import org.chromium.distiller.extractors.embeds.ImageExtractor;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.IFrameElement;
+import com.google.gwt.dom.client.ImageElement;
import java.util.List;
public class EmbedExtractorTest extends DomDistillerJsTestCase {
+ 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
+ "AAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/" +
+ "w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
+
public void testYouTubeExtractor() {
Element youtube = TestUtil.createIframe();
youtube.setAttribute("src", "http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1");
@@ -200,4 +208,108 @@ public class EmbedExtractorTest extends DomDistillerJsTestCase {
result = (WebEmbed) extractor.extract(notTwitter);
assertNull(result);
}
+
+ 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.
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.setAttribute("width", "32");
+ image.setAttribute("height", "32");
+
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+
+ assertNotNull(result);
+ assertEquals(32, result.getWidth());
+ assertEquals(32, result.getHeight());
+ }
+
+ public void testImageExtractorWithOneAttribute() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.setWidth(32);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(32, result.getWidth());
+ assertEquals(32, result.getHeight());
+ }
+
+ public void testImageExtractorWithHeightCSS() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.getStyle().setHeight(100, Style.Unit.PX);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(100, result.getWidth());
+ assertEquals(100, result.getHeight());
+ }
+
+ public void testImageExtractorWithWidthHeightCSSPX() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.getStyle().setHeight(100, Style.Unit.PX);
+ image.getStyle().setWidth(48, Style.Unit.PX);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(48, result.getWidth());
+ assertEquals(100, result.getHeight());
+ }
+
+ public void testImageExtractorWithWidthAttributeHeightCSS() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.getStyle().setHeight(100, Style.Unit.PX);
+ image.setAttribute("width", "144");
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(144, result.getWidth());
+ assertEquals(100, result.getHeight());
+ }
+
+ public void testImageExtractorWithAttributesCSS() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.setAttribute("width", "32");
+ image.setAttribute("height", "32");
+ image.getStyle().setHeight(48, Style.Unit.PX);
+ image.getStyle().setWidth(48, Style.Unit.PX);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(48, result.getWidth());
+ assertEquals(48, result.getHeight());
+ }
+
+ public void testImageExtractorWithAttributesCSSHeightCMAndWidthAttrb() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.getStyle().setHeight(1, Style.Unit.CM);
+ image.setWidth(50);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(38, result.getHeight());
+ assertEquals(50, result.getWidth());
+ }
+
+ public void testImageExtractorWithAttributesCSSHeightCM() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ image.getStyle().setHeight(1, Style.Unit.CM);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(38, result.getHeight());
+ assertEquals(38, result.getWidth());
+ }
}

Powered by Google App Engine
This is Rietveld 408576698