1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sourceforge.jwebunit.tests;
20
21 import static net.sourceforge.jwebunit.junit.JWebUnit.*;
22 import static org.junit.Assert.assertNotNull;
23
24 import java.awt.Image;
25 import java.awt.image.BufferedImage;
26 import java.io.File;
27
28 import javax.imageio.ImageIO;
29
30 import org.junit.Test;
31
32
33
34
35
36 public class ImageTest extends JWebUnitAPITestCase {
37
38 public void setUp() throws Exception {
39 super.setUp();
40 setBaseUrl(HOST_PATH + "/ImageTest");
41 beginAt("/PageWithImages.html");
42 }
43
44 @Test
45 public void testSimpleImagePresenceAssertion() throws Throwable {
46 assertImagePresent("images/Image1.gif", "image 1");
47 assertImagePresent("images/Image2.png", "image 2");
48 assertImagePresent("images/photos/Image3.jpg", "image 3");
49 assertImagePresent("somedir/Image4.gif", null);
50 assertImagePresent("images/InvalidImage.gif", "invalid image");
51
52 assertFail("assertImagePresent", new Object[]{"images/Image4.jpg", "image 4"});
53 assertFail("assertImagePresent", new Object[]{"images/wrongUrl.jpg", "image 3"});
54 assertFail("assertImagePresent", new Object[]{"images/Image2.png", "wrong alt"});
55 }
56
57 @Test
58 public void testGifCanBeLoaded() throws Throwable {
59 assertPass("assertImageValid", new Object[]{"images/Image1.gif", "image 1"});
60 }
61
62 @Test
63 public void testPngCanBeLoaded() throws Throwable {
64 assertPass("assertImageValid", new Object[]{"images/Image2.png", "image 2"});
65 }
66
67 @Test
68 public void testJpgCanBeLoaded() throws Throwable {
69 assertPass("assertImageValid", new Object[]{"images/photos/Image3.jpg", "image 3"});
70 }
71
72 @Test
73 public void testFailsOnInvalidImages() throws Throwable {
74 assertFail("assertImageValid", new Object[]{"images/InvalidImage.gif", "invalid image"});
75 }
76
77 @Test
78 public void testSavesImage() throws Throwable {
79 File testOut = File.createTempFile("jwebunit-test-", ".png");
80 testOut.deleteOnExit();
81 assertImageValidAndStore("images/Image2.png", "image 2", testOut);
82 BufferedImage testImg = ImageIO.read(testOut);
83
84 assertNotNull(testImg);
85 }
86
87 @Test
88 public void testImagesAreExposed() throws Throwable {
89 Image image = getImage("images/Image1.gif", "image 1");
90
91 assertNotNull(image);
92 }
93
94 @Test
95 public void testRelativePathsAreCorrectlyResolved() {
96 beginAt("/somedir/AnotherPageWithImages.html");
97 assertImageValid("Image4.gif", "image 4 - same dir");
98 assertImageValid("images/Image5.png", "image 5 - subdir");
99 assertImageValid("../images/photos/Image3.jpg", "image 3 again - topdir");
100 }
101
102 @Test
103 public void testAbsolutePath() {
104 assertImagePresent("/jwebunit/ImageTest/images/Image1.gif", "absolute image 1");
105 assertImageValid("/jwebunit/ImageTest/images/Image1.gif", "absolute image 1");
106 }
107
108 }