Skip to content

Commit

Permalink
Test cases for package whitelisting and subclasses. Some are broken.
Browse files Browse the repository at this point in the history
  • Loading branch information
caillette committed Jul 23, 2015
1 parent 94b9a89 commit 0922b9f
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
9 changes: 9 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,15 @@

</build>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>


<scm>
<connection>scm:git:git@github.com:lukehutch/fast-classpath-scanner.git</connection>
<developerConnection>scm:git:git@github.com:lukehutch/fast-classpath-scanner.git</developerConnection>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
package io.github.lukehutch.fastclasspathscanner;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

import static org.junit.Assert.assertTrue;


public class FastClasspathScannerTest {

@Test
public void scanAll() throws Exception {
final FastClasspathScanner scanner = new FastClasspathScanner() ;
scanner.scan() ;
final List< String > subclasses = scanner.getSubclassesOf( FastClasspathScannerTest.class ) ;

assertTrue( subclasses.size() > 0 ) ;
assertTrue( subclasses.contains( Subclass.class.getName() ) ) ;
}

@Test
public void scanWithWhitelist() throws Exception {
final FastClasspathScanner scanner = new FastClasspathScanner( PACKAGE_NAME ) ;
scanner.scan() ;
final List< String > subclasses = scanner.getSubclassesOf( FastClasspathScannerTest.class ) ;

assertTrue( subclasses.size() > 0 ) ;
assertTrue( subclasses.contains( Subclass.class.getName() ) ) ;
}

@Test
public void scanWithFileFilter() throws Exception {
final FastClasspathScanner scanner = new FastClasspathScanner() ;
scanner
.matchFilenamePattern(
".*" + PACKAGE_NAME + "[$_a-zA-Z0-9]+\\.class",
( absolutePath, relativePath, inputStream ) -> { }
)
.scan() ;
final List< String > subclasses = scanner.getSubclassesOf( FastClasspathScannerTest.class ) ;

assertTrue( subclasses.size() > 0 ) ;
assertTrue( subclasses.contains( Subclass.class.getName() ) ) ;
}

@Test
public void match() throws Exception {
final List< Class > collector = new ArrayList<>() ;
final FastClasspathScanner scanner = new FastClasspathScanner()
.matchSubclassesOf( FastClasspathScanner.class, collector::add )
;
scanner.scan() ;

assertTrue( collector.size() > 0 ) ;
assertTrue( collector.contains( Subclass.class ) ) ;
}

@Test
public void matchWithWhitelist() throws Exception {
final List< Class > collector = new ArrayList<>() ;
final FastClasspathScanner scanner = new FastClasspathScanner( PACKAGE_NAME )
.matchSubclassesOf( FastClasspathScanner.class, collector::add )
;
scanner.scan() ;

assertTrue( collector.size() > 0 ) ;
assertTrue( collector.contains( Subclass.class ) ) ;
}


public static class Subclass extends FastClasspathScannerTest { }

private static final String PACKAGE_NAME = FastClasspathScannerTest.class.getPackage().getName() ;


}

0 comments on commit 0922b9f

Please sign in to comment.