1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 09:45:39 +02:00

Adds failing testcase for includes accross projects

This commit is contained in:
Markus Schorn 2006-12-12 13:50:36 +00:00
parent b778c94164
commit bae61dd6e4
2 changed files with 54 additions and 6 deletions

View file

@ -14,10 +14,17 @@ package org.eclipse.cdt.ui.tests.includebrowser;
import junit.framework.Test;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.dom.IPDOMManager;
import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.core.testplugin.CProjectHelper;
import org.eclipse.cdt.core.testplugin.TestScannerProvider;
import org.eclipse.cdt.internal.core.CCoreInternals;
public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
@ -38,9 +45,10 @@ public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
TestScannerProvider.sIncludes= new String[]{getProject().getProject().getLocation().toOSString()};
StringBuffer[] contents= getContentsForTest(1);
IFile user= createFile(getProject(), "user.h", "");
IFile system= createFile(getProject(), "system.h", "");
IFile source= createFile(getProject(), "source.cpp", contents[0].toString());
IProject project= getProject().getProject();
IFile user= createFile(project, "user.h", "");
IFile system= createFile(project, "system.h", "");
IFile source= createFile(project, "source.cpp", contents[0].toString());
waitForIndexer(fIndex, source, INDEXER_WAIT_TIME);
openIncludeBrowser(source);
@ -58,4 +66,45 @@ public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
checkTreeNode(tree, 0, "system.h");
checkTreeNode(tree, 0, 0, "source.cpp");
}
// // source
// #include "user.h"
// #include <system.h>
public void _testInclusionAccrossProjects() throws Exception {
ICProject op= CProjectHelper.createCCProject("__ibTest_other__", "bin", IPDOMManager.ID_FAST_INDEXER);
try {
CCoreInternals.getPDOMManager().setIndexAllFiles(op, true);
CCoreInternals.getPDOMManager().reindex(op);
fIndex= CCorePlugin.getIndexManager().getIndex(new ICProject[] {getProject(), op});
TestScannerProvider.sIncludes= new String[]{op.getProject().getLocation().toOSString()};
StringBuffer[] contents= getContentsForTest(1);
IFile user= createFile(op.getProject(), "user.h", "");
IFile system= createFile(op.getProject(), "system.h", "");
IFile source= createFile(getProject().getProject(), "source.cpp", contents[0].toString());
waitForIndexer(fIndex, source, INDEXER_WAIT_TIME);
openIncludeBrowser(source);
Tree tree = getIBTree();
checkTreeNode(tree, 0, "source.cpp");
checkTreeNode(tree, 0, 0, "user.h");
checkTreeNode(tree, 0, 1, "system.h");
// the tree has to be reversed
openIncludeBrowser(user, true);
checkTreeNode(tree, 0, "user.h");
checkTreeNode(tree, 0, 0, "source.cpp");
openIncludeBrowser(system);
checkTreeNode(tree, 0, "system.h");
checkTreeNode(tree, 0, 0, "source.cpp");
}
finally {
CProjectHelper.delete(op);
}
}
}

View file

@ -12,7 +12,6 @@
package org.eclipse.cdt.ui.tests.includebrowser;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
@ -62,8 +61,8 @@ public class IncludeBrowserBaseTest extends BaseUITestCase {
}
}
protected IProject getProject() {
return fCProject.getProject();
protected ICProject getProject() {
return fCProject;
}
protected IBViewPart openIncludeBrowser(IFile file) throws PartInitException {