String normalizedPath = normalize(relativePathFromBasedir);
javaFile.setKey(normalizedPath);
javaFile.setPath(normalizedPath);
- String directoryKey = StringUtils.substringBeforeLast(normalizedPath, Directory.SEPARATOR);
javaFile.parent = new Directory();
- javaFile.parent.setKey(directoryKey);
+ String directoryPath = StringUtils.substringBeforeLast(normalizedPath, Directory.SEPARATOR);
+ String normalizedParentPath = normalize(directoryPath);
+ javaFile.parent.setKey(normalizedParentPath);
+ javaFile.parent.setPath(normalizedParentPath);
return javaFile;
}
assertThat(javaClass.getParent().isDefault()).isTrue();
}
+ @Test
+ public void testNewClassInRootFolder() {
+ JavaFile javaClass = JavaFile.create("Hello.java", "Hello.java", false);
+ assertThat(javaClass.getKey()).isEqualTo("/Hello.java");
+ assertThat(javaClass.getDeprecatedKey(), is(JavaPackage.DEFAULT_PACKAGE_NAME + ".Hello"));
+ assertThat(javaClass.getName(), is("Hello.java"));
+ assertThat(javaClass.getLongName(), is("Hello"));
+ assertThat(javaClass.getParent().getKey()).isEqualTo("/");
+ assertThat(javaClass.getParent().getDeprecatedKey()).isEqualTo(Directory.ROOT);
+ assertThat(javaClass.getParent().isDefault()).isTrue();
+ }
+
@Test
public void testNewClassWithEmptyPackageDeprecatedConstructor() {
JavaFile javaClass = new JavaFile("", "Hello", false);