|
What this is
Other links
The source code
/*
* AttrTest.java
*
* Created on August 15, 2002, 4:09 PM
*/
package FileSystemTest;
import java.beans.PropertyVetoException;
import java.io.*;
import java.util.Enumeration;
import junit.framework.Test;
import org.netbeans.junit.NbTestCase;
import org.netbeans.junit.NbTestSuite;
import org.openide.filesystems.*;
/**
*
* @author pz97949
*/
public class AttrTest extends NbTestCase {
// File fileSystemFile;
File fileSystemDir;
LocalFileSystem fileSystem;
public AttrTest(String testName) {
super(testName);
}
/** tests set/get attribute to fileobject special named:
* "\"
* see to bug http://installer.netbeans.org/issues/show_bug.cgi?id=8976
*/
public void testSpecialNamedAttr() throws IOException,PropertyVetoException {
preprocess();
FileObject fo = getAnyFileObject() ;
setAttribute(fo,"\"", "1");
setAttribute(fo,"h&", "2");
setAttribute(fo,"<","3");
setAttribute(fo,">","4");
setAttribute(fo,"-", "5");
setAttribute(fo,"*","6");
System.gc();
getAttribute(fo,"\"","1");
getAttribute(fo,"h&","2");
getAttribute(fo,"<","3");
getAttribute(fo,">","4");
getAttribute(fo,"-","5");
getAttribute(fo,"*","6");
postprocess();
}
/** set attribute to FileObject
*/
private void setAttribute(FileObject fo,String name,String value) {
try {
fo.setAttribute(name, value);
log ("attribute (name = " + name + ", value = " + value + ") setted" );
} catch (Exception e) {
String msg = "failed on set attribute name = " + name + " , value = " + value;
log (msg);
assertTrue(msg,false);
}
}
/** read attribude from fileobject and tests if is correct
*/
private String getAttribute(FileObject fo,String name, String refValue) {
String value = (String) fo.getAttribute(name);
if (value == null ) {
assertTrue("File object doesn't contain attribute (name = " + name + ", value = " + value + " ",false);
} else {
if (!value.equals(refValue)) {
assertTrue("FileObject read wrong attr value ( name = " + name +
",correct value = " + refValue + " , read value = " + value, false );
}
}
return value;
}
/** it mounts LocalFileSystem in temorary directory
*/
private void preprocess() throws IOException,PropertyVetoException {
// fileSystemFile.mkdir();
fileSystemDir = new File(getWorkDir(), "testAtt123rDir");
if(fileSystemDir.mkdir() == false || fileSystemDir.isDirectory() == false) {
throw new IOException (fileSystemDir.toString() + " is not directory");
}
Enumeration en = Repository.getDefault().fileSystems();
while (en.hasMoreElements()) {
FileSystem fs = (FileSystem) en.nextElement();
if (fs instanceof LocalFileSystem) {
LocalFileSystem lfs = (LocalFileSystem) fs;
if (lfs.getRootDirectory().equals(fileSystemDir)) {
fileSystem = lfs;
break;
}
}
}
if (fileSystem == null ) {
fileSystem = new LocalFileSystem();
fileSystem.setRootDirectory(fileSystemDir);
Repository.getDefault().addFileSystem(fileSystem);
}
}
/** unmount temporary filesystem
**/
private void postprocess() {
Repository.getDefault().getDefault().removeFileSystem(fileSystem);
fileSystemDir.deleteOnExit();
// fileSystemFile.deleteOnExit();
}
private FileObject getAnyFileObject() {
return fileSystem.getRoot();
}
/**This suite*/
public static Test suite() {
NbTestSuite suite = new NbTestSuite(AttrTest.class);
return suite;
}
/** test set "\\" attr value, see to : 8977 in Issuezila
*/
public void testSetBackslashValue() throws IOException, PropertyVetoException {
preprocess();
FileObject fo = getAnyFileObject();
try {
setAttribute(fo, "\\", "2");
getAttribute(fo, "\\", "2");
} catch(Exception e) {
assertTrue(" failed:no attribute setted " + e,false );
}
postprocess();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.