Esempio n. 1
0
  @Test
  public void zipFile() throws IOException {
    JavaClassBuilder builder = new JavaClassBuilder();

    Collection classes = builder.buildClasses(zipFile);
    assertEquals(5, classes.size());

    assertClassesExist(classes);
    assertInnerClassesExist(classes);
  }
Esempio n. 2
0
  @Test
  public void zipFileWithoutInnerClasses() throws IOException {
    FileManager fm = new FileManager();
    fm.acceptInnerClasses(false);

    JavaClassBuilder builder = new JavaClassBuilder(fm);

    Collection classes = builder.buildClasses(zipFile);
    assertEquals(4, classes.size());

    assertClassesExist(classes);
  }
  @Test
  public void shouldReturnUnparsableClassIfClassCannotBeFound() {
    JavaClass javaClass = builder.createClass("foo.bar.com");

    assertThat(javaClass).isInstanceOf(UnparsableClass.class);
    assertThat(javaClass.getName()).isEqualTo("foo.bar.com");
    assertThat(javaClass.getImports()).isEmpty();
  }
  @Test
  public void shouldReturnUnparsableClassIfErrorOccursWhileParsing() {
    ClassParser parser = mock(ClassParser.class);
    when(parser.getClass("MyClassName")).thenThrow(new RuntimeException(new NotFoundException("")));

    builder = new JavaClassBuilder(parser);

    Assert.assertThat(builder.createClass("MyClassName"), instanceOf(UnparsableClass.class));
  }
Esempio n. 5
0
 public JavaClass findJavaClass(String classname) {
   JavaClass clazz = findClass(classname);
   if (clazz == null) {
     clazz = builder.getClass(classname);
     if (clazz.locatedInClassFile()) {
       addToIndex(clazz);
     }
   }
   return clazz;
 }
Esempio n. 6
0
  public Set<JavaClass> findClasses(Collection<File> changedFiles) {
    // First update class index
    List<String> changedClassesNames = new ArrayList<String>();
    for (File changedFile : changedFiles) {
      String changedClassname = builder.classFileChanged(changedFile);
      if (changedClassname != null) {
        changedClassesNames.add(changedClassname);
      }
    }

    // Then find dependencies
    Set<JavaClass> changedClasses = newHashSet();
    for (String changedClassesName : changedClassesNames) {
      JavaClass javaClass = builder.getClass(changedClassesName);
      if (javaClass != null) {
        addToIndex(javaClass);
        changedClasses.add(javaClass);
      }
    }
    builder.clear();
    return changedClasses;
  }
  @Test
  public void shouldLookForClassesInTargetDirectories() throws Exception {
    newDir = new File("tempClassDir");
    List<File> buildPaths = asList(newDir);
    ClasspathProvider classpath =
        new StandaloneClasspath(
            buildPaths,
            FakeEnvironments.systemClasspath() + pathSeparator + newDir.getAbsolutePath());

    String classname = "org.fakeco.Foobar";
    createClass(classname);

    builder = new JavaClassBuilder(classpath);
    JavaClass javaClass = builder.createClass(classname);
    assertEquals(classname, javaClass.getName());
    assertFalse(javaClass.isATest());
  }
  @Test
  public void shouldFindDependenciesInSamePackage() {
    JavaClass javaClass = builder.createClass(FakeTree.class.getName());

    assertThat(javaClass.getImports()).contains(FakeDependency.class.getName());
  }
Esempio n. 9
0
 @Test(expected = IOException.class)
 public void testInvalidZipFile() throws IOException {
   JavaClassBuilder builder = new JavaClassBuilder();
   File bogusFile = new File(getTestDataDir() + "bogus.zip");
   builder.buildClasses(bogusFile);
 }