blob: f74b74473f57aeb64dd2f9665c63fbb242bbaf83 [file] [log] [blame]
/*
* Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.dev.resource.impl;
import com.google.gwt.dev.util.Util;
import junit.framework.TestCase;
import java.io.File;
import java.io.IOException;
/**
* Tests related FileResources.
*/
public class FileResourceTest extends TestCase {
public void testBasic() {
File f = createTempFile();
FileResource r = FileResource.of(f.getName(), f);
assertEquals(f.getAbsoluteFile().toURI().toString(), r.getLocation());
/*
* In this case, there's no subdirectory, so the path should match the
* simple filename.
*/
assertEquals(f.getName(), r.getPath());
}
public void testDeletion() {
File f = createTempFile();
FileResource r = FileResource.of(f.getName(), f);
assertEquals(f.getAbsoluteFile().toURI().toString(), r.getLocation());
/*
* In this case, there's no subdirectory, so the path should match the
* simple filename.
*/
assertEquals(f.getName(), r.getPath());
// Delete the file.
f.delete();
/*
* The resource is no longer available. Check to make sure we can't access its contents
* through the API.
*/
try {
r.openContents();
fail("Open contents unexpectedly succeeded.");
} catch (IOException expected) {
}
}
public void testInterning() throws Exception {
File f = createTempFile();
assertSame(FileResource.of(f.getName(), f), FileResource.of(f.getName(), f));
// A different FileResourse will return even files match if the pathname is different.
assertNotSame(FileResource.of(f.getName(), f), FileResource.of(f.getName() + "x", f));
}
private File createTempFile() {
File f = null;
try {
f = File.createTempFile("com.google.gwt.dev.javac.impl.FileResourceTest", ".tmp");
f.deleteOnExit();
Util.writeStringAsFile(f, "contents 1");
} catch (IOException e) {
fail("Failed to create test file");
}
return f;
}
}