use of org.erlide.engine.model.root.IErlModule in project erlide_eclipse by erlang.
the class IErlProjectTest method getModulesAndIncludes.
// Collection<IErlModule> getModulesAndIncludes() throws ErlModelException;
@Test
public void getModulesAndIncludes() throws Exception {
ErlideTestUtils.createInclude(ErlModelTestBase.projects[0], "bb.erl", "-module(bb).\n");
ErlideTestUtils.createModule(ErlModelTestBase.projects[0], "cc.hrl", "-define(A, hej).\n");
final IErlModule includeD = ErlideTestUtils.createInclude(ErlModelTestBase.projects[0], "dd.hrl", "-define(B, du).\n");
final List<IErlModule> expected = Lists.newArrayList(module, includeD);
final Collection<IErlModule> includes = ErlModelTestBase.projects[0].getModulesAndIncludes();
assertEquals(expected, includes);
}
use of org.erlide.engine.model.root.IErlModule 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.IErlModule 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.IErlModule in project erlide_eclipse by erlang.
the class IErlProjectTest method getIncludes.
// FIXME write tests that gives exceptions!
// Collection<IErlModule> getIncludes() throws ErlModelException;
@Test
public void getIncludes() throws Exception {
ErlideTestUtils.createModule(ErlModelTestBase.projects[0], "aa.erl", "-module(aa).\n");
ErlideTestUtils.createInclude(ErlModelTestBase.projects[0], "bb.erl", "-module(bb).\n");
ErlideTestUtils.createModule(ErlModelTestBase.projects[0], "cc.hrl", "-define(A, hej).\n");
final IErlModule includeDD = ErlideTestUtils.createInclude(ErlModelTestBase.projects[0], "dd.hrl", "-define(B, du).\n");
final List<IErlModule> expected = Lists.newArrayList(includeDD);
final Collection<IErlModule> includes = ErlModelTestBase.projects[0].getIncludes();
assertEquals(expected, includes);
}
use of org.erlide.engine.model.root.IErlModule 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