package com.akjava.gwt.common.test; import com.akjava.gwt.lib.client.CanvasUtils; import com.google.gwt.canvas.client.Canvas; import com.google.gwt.canvas.dom.client.ImageData; import com.google.gwt.junit.client.GWTTestCase; import com.google.gwt.user.client.ui.RootPanel; public class TestImageElement extends GWTTestCase{ private Canvas canvas; @Override public String getModuleName() { return "com.akjava.gwt.common.Common"; } @Override public void gwtSetUp(){ canvas=CanvasUtils.createCanvas(6, 6); } public void testImage(){ RootPanel.get().add(canvas); canvas.getContext2d().setFillStyle("#fff"); canvas.getContext2d().fillRect(2, 2, 2, 2); //ImageElementUtils.inPaintMargin(canvas,2); String correct=""; for(int y=0;y<6;y++){ for(int x=0;x<6;x++){ correct+=toLabel(x,y,255,255,255,255)+"\n"; } } ImageData data=canvas.getContext2d().getImageData(0, 0, 6, 6); String result=""; for(int y=0;y<6;y++){ for(int x=0;x<6;x++){ correct+=toLabel(data,x,y)+"\n"; } } assertEquals(correct, result); } public String toLabel(ImageData data,int x,int y){ int r=data.getRedAt(x, y); int g=data.getGreenAt(x, y); int b=data.getBlueAt(x, y); int a=data.getAlphaAt(x, y); return toLabel(x,y,r,g,b,a); } public String toLabel(int x,int y,int r,int g,int b,int a){ return x+"x"+y+"="+r+","+g+","+b+","+a; } }