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

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: comments 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
« no previous file with comments | « javatests/org/chromium/distiller/ContentExtractorTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..00e7267f9d0e46dfbf8a620c4b212d0a6aae0a90 100644
--- a/javatests/org/chromium/distiller/EmbedExtractorTest.java
+++ b/javatests/org/chromium/distiller/EmbedExtractorTest.java
@@ -4,20 +4,31 @@
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 {
+ /**
+ * 5x5 red dot image
+ */
+ final String IMAGE_BASE64 = "data:image/png;base64,iVBORw0KGgo" +
+ "AAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/" +
+ "w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==";
+
public void testYouTubeExtractor() {
Element youtube = TestUtil.createIframe();
youtube.setAttribute("src", "http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1");
@@ -200,4 +211,127 @@ public class EmbedExtractorTest extends DomDistillerJsTestCase {
result = (WebEmbed) extractor.extract(notTwitter);
assertNull(result);
}
+
+ public void testImageExtractorWithWidthHeightAttributes() {
+ 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 testImageExtractorWithNoAttributes() {
+ ImageElement image = TestUtil.createImage();
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(0, result.getWidth());
+ assertEquals(0, result.getHeight());
+ }
+
+ public void testImageExtractorWithSettingDimension() {
+ ImageElement image = TestUtil.createImage();
+ image.setSrc(IMAGE_BASE64);
+ mBody.appendChild(image);
+ EmbedExtractor extractor = new ImageExtractor();
+ WebImage result = (WebImage) extractor.extract(image);
+ assertNotNull(result);
+ assertEquals(5, result.getWidth());
+ assertEquals(5, 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());
+ }
}
« no previous file with comments | « javatests/org/chromium/distiller/ContentExtractorTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698