use of org.erlide.engine.model.root.IErlProject in project erlide_eclipse by erlang.
the class IErlProjectTest method getModule.
// IErlModule getModule(String name) throws ErlModelException;
@Test
public void getModule() throws Exception {
final IErlProject aProject = ErlModelTestBase.projects[0];
final Collection<IPath> sourceDirs = aProject.getProperties().getSourceDirs();
try {
// given
// an Erlang project and a module
final IErlModule aModule = ErlideTestUtils.createModule(aProject, "aa.erl", "-module(aa).\n");
final IPath srcxPath = new Path("srcx");
final List<IPath> srcxDirs = Lists.newArrayList(srcxPath);
aProject.open(null);
// when
// setting source dirs so the module is on source path
final IErlModule module2 = aProject.getModule("aa");
final IErlModule nullModule = aProject.getModule("aa.hrl");
final IErlModule nullModule2 = aProject.getModule("AA");
final IErlModule nullModule3 = aProject.getModule("aA");
final IErlModule nullModule4 = aProject.getModule("AA.erl");
final IErlModule module4 = aProject.getModule("aa.erl");
((ErlProject) aProject).setSourceDirs(srcxDirs);
aProject.open(null);
final IErlModule srcxModule = aProject.getModule("aa");
((ErlProject) aProject).setSourceDirs(sourceDirs);
aProject.open(null);
final IErlModule module3 = aProject.getModule("aa");
// then
// the it should be returned, but not otherwise
assertEquals(aModule, module2);
assertNull(srcxModule);
assertNull(nullModule);
assertNull(nullModule2);
assertNull(nullModule3);
assertNull(nullModule4);
assertEquals(aModule, module3);
assertEquals(aModule, module4);
} finally {
((ErlProject) aProject).setSourceDirs(sourceDirs);
}
}
use of org.erlide.engine.model.root.IErlProject in project erlide_eclipse by erlang.
the class IErlProjectTest method getRuntimeInfo.
// RuntimeInfo getRuntimeInfo();
@Test
public void getRuntimeInfo() throws Exception {
final IErlProject aProject = ErlModelTestBase.projects[0];
final RuntimeInfo info = aProject.getRuntimeInfo();
// final String expected = ResourcesPlugin.getWorkspace().getRoot()
// .getLocation().toString();
assertNotNull(info);
// The working dir might be relative to the project and can also be "."
// We need to convert it to a canonical absolute path in order to be
// able to compare it with a value.
// This is not very portable across OSs
}
use of org.erlide.engine.model.root.IErlProject in project erlide_eclipse by erlang.
the class IErlProjectTest method setIncludeDirs.
// void setIncludeDirs(Collection<IPath> includeDirs)
// throws BackingStoreException;
@Test
public void setIncludeDirs() throws Exception {
File externalFile = null;
final IErlProject aProject = ErlModelTestBase.projects[0];
final Collection<IPath> includeDirs = aProject.getProperties().getIncludeDirs();
try {
// given
// an erlang project and an external file not in any project
final String externalFileName = "external.hrl";
externalFile = ErlideTestUtils.createTmpFile(externalFileName, "-define(E, hej).\n");
final String absolutePath = externalFile.getAbsolutePath();
final List<IPath> newIncludeDirs = Lists.newArrayList(includeDirs);
aProject.open(null);
final Collection<IErlModule> otpIncludes = aProject.getExternalIncludes();
final IPath absoluteDir = new Path(absolutePath).removeLastSegments(1);
newIncludeDirs.add(absoluteDir);
((ErlProject) aProject).setIncludeDirs(newIncludeDirs);
aProject.open(null);
// when
// fetching all external includes
final Collection<IErlModule> externalIncludes = aProject.getExternalIncludes();
// then
// the external file should be returned
final Set<IErlModule> otpSet = Sets.newHashSet(otpIncludes);
final Set<IErlModule> externalSet = Sets.newHashSet(externalIncludes);
final Set<IErlModule> difference = Sets.difference(externalSet, otpSet);
assertEquals(1, difference.size());
final IErlModule externalInclude = difference.iterator().next();
assertNotNull(externalInclude);
assertEquals(new Path(absolutePath), new Path(externalInclude.getFilePath()));
} finally {
if (externalFile != null && externalFile.exists()) {
externalFile.delete();
}
((ErlProject) aProject).setIncludeDirs(includeDirs);
}
}
use of org.erlide.engine.model.root.IErlProject in project erlide_eclipse by erlang.
the class IErlProjectTest method getExternalIncludes_includeDirs.
@Test
public void getExternalIncludes_includeDirs() throws Exception {
File externalFile = null;
final IErlProject aProject = ErlModelTestBase.projects[0];
final Collection<IPath> includeDirs = aProject.getProperties().getIncludeDirs();
try {
// given
// an erlang project and an external file not in any project, but on
// the include-path
final String externalFileName = "external.hrl";
externalFile = ErlideTestUtils.createTmpFile(externalFileName, "-define(E, hej).\n");
final String absolutePath = externalFile.getAbsolutePath();
final List<IPath> newIncludeDirs = Lists.newArrayList(includeDirs);
aProject.open(null);
final Collection<IErlModule> otpIncludes = aProject.getExternalIncludes();
final IPath absoluteDir = new Path(absolutePath).removeLastSegments(1);
newIncludeDirs.add(absoluteDir);
((ErlProject) aProject).setIncludeDirs(newIncludeDirs);
aProject.open(null);
// when
// fetching all external includes
final Collection<IErlModule> externalIncludes = aProject.getExternalIncludes();
// then
// the external file should be returned
final Set<IErlModule> otpSet = Sets.newHashSet(otpIncludes);
final Set<IErlModule> externalSet = Sets.newHashSet(externalIncludes);
final Set<IErlModule> difference = Sets.difference(externalSet, otpSet);
final IErlModule externalInclude = difference.iterator().next();
assertNotNull(externalInclude);
assertEquals(absolutePath, externalInclude.getFilePath());
} finally {
if (externalFile != null && externalFile.exists()) {
externalFile.delete();
}
((ErlProject) aProject).setIncludeDirs(includeDirs);
}
}
use of org.erlide.engine.model.root.IErlProject in project erlide_eclipse by erlang.
the class IErlProjectTest method getExternalModules.
// Collection<IErlModule> getExternalModules() throws ErlModelException;
// void setExternalModulesFile(String absolutePath)
// throws BackingStoreException;
@Test
public void getExternalModules() throws Exception {
File externalFile = null;
File externalsFile = null;
final IErlProject aProject = ErlModelTestBase.projects[0];
final String externalModulesString = aProject.getProperties().getExternalModules();
try {
// given
// an erlang project and an external file not in any project
final String externalFileName = "external6.erl";
externalFile = ErlideTestUtils.createTmpFile(externalFileName, "-module(external6).\nf([_ | _]=L ->\n atom_to_list(L).\n");
final String absolutePath = externalFile.getAbsolutePath();
externalsFile = ErlideTestUtils.createTmpFile(IErlProjectTest.XX_ERLIDEX, absolutePath);
aProject.open(null);
final Collection<IErlModule> otpModules = aProject.getExternalModules();
((ErlProject) aProject).setExternalModulesFile(externalsFile.getAbsolutePath());
aProject.open(null);
// when
// fetching all external modules
final Collection<IErlModule> externalModules = aProject.getExternalModules();
// then
// the external file should be returned
final Set<IErlModule> otpSet = Sets.newHashSet(otpModules);
final Set<IErlModule> externalSet = Sets.newHashSet(externalModules);
final Set<IErlModule> difference = Sets.difference(externalSet, otpSet);
assertEquals(1, difference.size());
final IErlModule externalModule = difference.iterator().next();
assertNotNull(externalModule);
assertEquals(absolutePath, externalModule.getFilePath());
} finally {
if (externalFile != null && externalFile.exists()) {
externalFile.delete();
}
if (externalsFile != null && externalsFile.exists()) {
externalsFile.delete();
}
((ErlProject) aProject).setExternalModulesFile(externalModulesString);
}
}
Aggregations