mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-11 18:25:40 +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 junit.framework.Test;
|
||||||
|
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.swt.widgets.Tree;
|
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.core.testplugin.TestScannerProvider;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.internal.core.CCoreInternals;
|
||||||
|
|
||||||
|
|
||||||
public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
|
public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
|
||||||
|
|
||||||
|
@ -38,9 +45,10 @@ public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
|
||||||
TestScannerProvider.sIncludes= new String[]{getProject().getProject().getLocation().toOSString()};
|
TestScannerProvider.sIncludes= new String[]{getProject().getProject().getLocation().toOSString()};
|
||||||
|
|
||||||
StringBuffer[] contents= getContentsForTest(1);
|
StringBuffer[] contents= getContentsForTest(1);
|
||||||
IFile user= createFile(getProject(), "user.h", "");
|
IProject project= getProject().getProject();
|
||||||
IFile system= createFile(getProject(), "system.h", "");
|
IFile user= createFile(project, "user.h", "");
|
||||||
IFile source= createFile(getProject(), "source.cpp", contents[0].toString());
|
IFile system= createFile(project, "system.h", "");
|
||||||
|
IFile source= createFile(project, "source.cpp", contents[0].toString());
|
||||||
waitForIndexer(fIndex, source, INDEXER_WAIT_TIME);
|
waitForIndexer(fIndex, source, INDEXER_WAIT_TIME);
|
||||||
|
|
||||||
openIncludeBrowser(source);
|
openIncludeBrowser(source);
|
||||||
|
@ -58,4 +66,45 @@ public class BasicIncludeBrowserTest extends IncludeBrowserBaseTest {
|
||||||
checkTreeNode(tree, 0, "system.h");
|
checkTreeNode(tree, 0, "system.h");
|
||||||
checkTreeNode(tree, 0, 0, "source.cpp");
|
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;
|
package org.eclipse.cdt.ui.tests.includebrowser;
|
||||||
|
|
||||||
import org.eclipse.core.resources.IFile;
|
import org.eclipse.core.resources.IFile;
|
||||||
import org.eclipse.core.resources.IProject;
|
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IProgressMonitor;
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
|
@ -62,8 +61,8 @@ public class IncludeBrowserBaseTest extends BaseUITestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IProject getProject() {
|
protected ICProject getProject() {
|
||||||
return fCProject.getProject();
|
return fCProject;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IBViewPart openIncludeBrowser(IFile file) throws PartInitException {
|
protected IBViewPart openIncludeBrowser(IFile file) throws PartInitException {
|
||||||
|
|
Loading…
Add table
Reference in a new issue