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:
parent
b778c94164
commit
bae61dd6e4
2 changed files with 54 additions and 6 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue