package com.aptana.ide.server.resources; import java.io.File; import java.io.FileWriter; import java.io.IOException; import junit.framework.TestCase; import com.aptana.ide.core.StreamUtils; public class FileHttpResourceTest extends TestCase { public void testFileDoesntExist() { File file = new File("thisshoudlnotexist.txt"); FileHttpResource resource = new FileHttpResource(file); assertEquals(0, resource.getContentLength()); // FIXME Why do we return null here, but the folder backed one throws an IOException? assertNull(resource.getContentInputStream(null)); assertEquals("text/plain", resource.getContentType()); } public void testFileDoesxist() throws IOException { final String contents = "testing123"; File file = File.createTempFile("filehttpresourcetest", ".txt"); FileWriter writer = null; try { writer = new FileWriter(file); writer.write(contents); } finally { if (writer != null) writer.close(); } try { FileHttpResource resource = new FileHttpResource(file); assertEquals(contents.length(), resource.getContentLength()); String read = StreamUtils.readContent(resource.getContentInputStream(null), null); assertEquals(contents, read); assertEquals("text/plain", resource.getContentType()); } finally { if (file != null) { if (!file.delete()) file.deleteOnExit(); file = null; } } } }