You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ImageRendererTest.java 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.vaadin.v7.tests.server.renderer;
  2. import static org.junit.Assert.assertEquals;
  3. import java.io.File;
  4. import org.easymock.EasyMock;
  5. import org.junit.Before;
  6. import org.junit.Test;
  7. import com.vaadin.server.ClassResource;
  8. import com.vaadin.server.ExternalResource;
  9. import com.vaadin.server.FileResource;
  10. import com.vaadin.server.FontAwesome;
  11. import com.vaadin.server.ThemeResource;
  12. import com.vaadin.ui.UI;
  13. import com.vaadin.v7.ui.Grid;
  14. import com.vaadin.v7.ui.renderers.ImageRenderer;
  15. import elemental.json.JsonObject;
  16. import elemental.json.JsonValue;
  17. public class ImageRendererTest {
  18. private ImageRenderer renderer;
  19. @Before
  20. public void setUp() {
  21. UI mockUI = EasyMock.createNiceMock(UI.class);
  22. EasyMock.replay(mockUI);
  23. Grid grid = new Grid();
  24. grid.setParent(mockUI);
  25. renderer = new ImageRenderer();
  26. renderer.setParent(grid);
  27. }
  28. @Test
  29. public void testThemeResource() {
  30. JsonValue v = renderer.encode(new ThemeResource("foo.png"));
  31. assertEquals("theme://foo.png", getUrl(v));
  32. }
  33. @Test
  34. public void testExternalResource() {
  35. JsonValue v = renderer
  36. .encode(new ExternalResource("http://example.com/foo.png"));
  37. assertEquals("http://example.com/foo.png", getUrl(v));
  38. }
  39. @Test(expected = IllegalArgumentException.class)
  40. public void testFileResource() {
  41. renderer.encode(new FileResource(new File("/tmp/foo.png")));
  42. }
  43. @Test(expected = IllegalArgumentException.class)
  44. public void testClassResource() {
  45. renderer.encode(new ClassResource("img/foo.png"));
  46. }
  47. @Test(expected = IllegalArgumentException.class)
  48. public void testFontIcon() {
  49. renderer.encode(FontAwesome.AMBULANCE);
  50. }
  51. private String getUrl(JsonValue v) {
  52. return ((JsonObject) v).get("uRL").asString();
  53. }
  54. }