PatternSetTestpublic class PatternSetTest extends TestCase JUnit 3 testcases for org.apache.tools.ant.types.PatternSet.
This doesn't actually test much, mainly reference handling. |
Fields Summary |
---|
private org.apache.tools.ant.Project | project |
Constructors Summary |
---|
public PatternSetTest(String name)
super(name);
|
Methods Summary |
---|
public void | setUp()
project = new Project();
project.setBasedir(".");
| public void | testCircularReferenceCheck()
PatternSet p = new PatternSet();
project.addReference("dummy", p);
p.setRefid(new Reference("dummy"));
try {
p.getIncludePatterns(project);
fail("Can make PatternSet a Reference to itself.");
} catch (BuildException be) {
assertEquals("This data type contains a circular reference.",
be.getMessage());
}
try {
p.getExcludePatterns(project);
fail("Can make PatternSet a Reference to itself.");
} catch (BuildException be) {
assertEquals("This data type contains a circular reference.",
be.getMessage());
}
// dummy1 --> dummy2 --> dummy3 --> dummy1
PatternSet p1 = new PatternSet();
project.addReference("dummy1", p1);
p1.setRefid(new Reference("dummy2"));
PatternSet p2 = new PatternSet();
project.addReference("dummy2", p2);
p2.setRefid(new Reference("dummy3"));
PatternSet p3 = new PatternSet();
project.addReference("dummy3", p3);
p3.setRefid(new Reference("dummy1"));
try {
p1.getIncludePatterns(project);
fail("Can make circular reference.");
} catch (BuildException be) {
assertEquals("This data type contains a circular reference.",
be.getMessage());
}
try {
p1.getExcludePatterns(project);
fail("Can make circular reference.");
} catch (BuildException be) {
assertEquals("This data type contains a circular reference.",
be.getMessage());
}
// dummy1 --> dummy2 --> dummy3
// (which holds patterns "include" and "exclude")
p1 = new PatternSet();
project.addReference("dummy1", p1);
p1.setRefid(new Reference("dummy2"));
p2 = new PatternSet();
project.addReference("dummy2", p2);
p2.setRefid(new Reference("dummy3"));
p3 = new PatternSet();
project.addReference("dummy3", p3);
p3.setIncludes("include");
p3.createExclude().setName("exclude");
String[] i = p1.getIncludePatterns(project);
assertEquals("One include pattern buried deep inside a nested patternset structure",
1, i.length);
assertEquals("include", i[0]);
i = p3.getExcludePatterns(project);
assertEquals("One exclude pattern buried deep inside a nested patternset structure",
1, i.length);
assertEquals("exclude", i[0]);
| public void | testEmptyElementIfIsReference()
PatternSet p = new PatternSet();
p.setIncludes("**/*.java");
try {
p.setRefid(new Reference("dummyref"));
fail("Can add reference to PatternSet with elements from setIncludes");
} catch (BuildException be) {
assertEquals("You must not specify more than one attribute when using refid",
be.getMessage());
}
p = new PatternSet();
p.setRefid(new Reference("dummyref"));
try {
p.setIncludes("**/*.java");
fail("Can set includes in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify more than one attribute when using refid",
be.getMessage());
}
p = new PatternSet();
p.setRefid(new Reference("dummyref"));
try {
p.setIncludesfile(new File("/a"));
fail("Can set includesfile in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify more than one attribute when using refid",
be.getMessage());
}
try {
p.setExcludes("**/*.java");
fail("Can set excludes in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify more than one attribute when using refid",
be.getMessage());
}
try {
p.setExcludesfile(new File("/a"));
fail("Can set excludesfile in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify more than one attribute when using refid",
be.getMessage());
}
try {
p.createInclude();
fail("Can add nested include in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify nested elements when using refid",
be.getMessage());
}
try {
p.createExclude();
fail("Can add nested exclude in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify nested elements when using refid",
be.getMessage());
}
try {
p.createIncludesFile();
fail("Can add nested includesfile in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify nested elements when using refid",
be.getMessage());
}
try {
p.createExcludesFile();
fail("Can add nested excludesfile in PatternSet that is a reference.");
} catch (BuildException be) {
assertEquals("You must not specify nested elements when using refid",
be.getMessage());
}
| public void | testNestedPatternset()
PatternSet p = new PatternSet();
p.setIncludes("**/*.java");
PatternSet nested = new PatternSet();
nested.setExcludes("**/*.class");
p.addConfiguredPatternset(nested);
String[] excludes = p.getExcludePatterns(project);
String[] includes = p.getIncludePatterns(project);
assertEquals("Includes","**/*.java", includes[0]);
assertEquals("Excludes","**/*.class", excludes[0]);
|
|