/* B80_ZK_3044Test.java Purpose: Description: History: 4:51 PM 30/12/15, Created by Sefi Copyright (C) 2015 Potix Corporation. All Rights Reserved. */ package org.zkoss.zktest.zats.test2; import static org.junit.Assert.assertEquals; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.Reader; import java.util.Arrays; import java.util.Locale; import javax.imageio.ImageIO; import javax.swing.*; import org.junit.Test; import org.zkoss.image.AImage; import org.zkoss.image.Image; import org.zkoss.image.encoder.ImageEncoder; import org.zkoss.image.encoder.ImageEncoders; import org.zkoss.zul.Intbox; import org.zkoss.zul.Listcell; import org.zkoss.zul.Timebox; import org.zkoss.zul.Popup; /** * @author Sefi */ public class B80_ZK_3044Test { @Test public void testXulElement() { Timebox d = new Timebox(); Popup popup = new Popup(); String uuidstr = "uuid(" + popup.getUuid() + ")"; // test context d.getPropertyAccess("context").setValue(d, "test"); assertEquals("test", d.getContext()); assertEquals("test", d.getPropertyAccess("context").getValue(d)); d.getPropertyAccess("context").setValue(d, popup); assertEquals(uuidstr, d.getContext()); assertEquals(uuidstr, d.getPropertyAccess("context").getValue(d)); // test popup d.getPropertyAccess("popup").setValue(d, "test"); assertEquals("test", d.getPopup()); assertEquals("test", d.getPropertyAccess("popup").getValue(d)); d.getPropertyAccess("popup").setValue(d, popup); assertEquals(uuidstr, d.getPopup()); assertEquals(uuidstr, d.getPropertyAccess("popup").getValue(d)); // test tooltip d.getPropertyAccess("tooltip").setValue(d, "test"); assertEquals("test", d.getTooltip()); assertEquals("test", d.getPropertyAccess("tooltip").getValue(d)); d.getPropertyAccess("tooltip").setValue(d, popup); assertEquals(uuidstr, d.getTooltip()); assertEquals(uuidstr, d.getPropertyAccess("tooltip").getValue(d)); } @Test public void testLabelImageElement() throws IOException{ Listcell d = new Listcell(); // test imageContent Image image = new Image() { public boolean isBinary() { return false; } public boolean inMemory() { return false; } public byte[] getByteData() { return new byte[0]; } public String getStringData() { return null; } public InputStream getStreamData() { return null; } public Reader getReaderData() { return null; } public String getName() { return null; } public String getFormat() { return null; } public String getContentType() { return null; } public boolean isContentDisposition() { return false; } public int getWidth() { return 0; } public int getHeight() { return 0; } public ImageIcon toImageIcon() { return null; } }; //test imageContent d.getPropertyAccess("imageContent").setValue(d, image); assertEquals(image, d.getImageContent()); assertEquals(image, d.getPropertyAccess("imageContent").getValue(d)); //test hoverImageContent d.getPropertyAccess("hoverImageContent").setValue(d, image); assertEquals(image, d.getHoverImageContent()); assertEquals(image, d.getPropertyAccess("hoverImageContent").getValue(d)); RenderedImage renderdeImage = null; renderdeImage = ImageIO.read(new File("src/archive/test2/img/circle.png")); String name = "a.png"; final int j = name.lastIndexOf('.'); if (j < 0) throw new IllegalArgumentException("Illegal name: "+name+"\nIt must contain the extension as the format, such as foo.png"); String formatName = name.substring(j + 1); ImageEncoder encoder = ImageEncoders.newInstance(formatName); AImage aimage; byte[] imageData; aimage = new AImage(name, encoder.encode(renderdeImage)); imageData = aimage.getByteData(); AImage res; byte[] resData; d.getPropertyAccess("imageContent").setValue(d, renderdeImage); res = (AImage)d.getImageContent(); resData = res.getByteData(); if(Arrays.equals(resData, imageData)) { assertEquals(renderdeImage, renderdeImage); } else { assertEquals(imageData, resData); } res = (AImage)(d.getPropertyAccess("imageContent").getValue(d)); resData = res.getByteData(); if(Arrays.equals(resData, imageData)) { assertEquals(renderdeImage, renderdeImage); } else { assertEquals(imageData, resData); } d.getPropertyAccess("hoverImageContent").setValue(d, renderdeImage); res = (AImage)d.getHoverImageContent(); resData = res.getByteData(); if(Arrays.equals(resData, imageData)) { assertEquals(renderdeImage, renderdeImage); } else { assertEquals(imageData, resData); } res = (AImage)(d.getPropertyAccess("hoverImageContent").getValue(d)); resData = res.getByteData(); if(Arrays.equals(resData, imageData)) { assertEquals(renderdeImage, renderdeImage); } else { assertEquals(imageData, resData); } } @Test public void testNumberInputElement() { Intbox d = new Intbox(); // test locale d.getPropertyAccess("locale").setValue(d, "zh_TW"); assertEquals("zh_TW", d.getLocale().toString()); assertEquals("zh_TW", d.getPropertyAccess("locale").getValue(d)); d.getPropertyAccess("locale").setValue(d, new Locale("zh_TW")); assertEquals("zh_tw", d.getLocale().toString()); assertEquals("zh_tw", d.getPropertyAccess("locale").getValue(d)); } }