From bae61dd6e428bbd5beccb2d6c4f1a4e2a9a78400 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Tue, 12 Dec 2006 13:50:36 +0000 Subject: [PATCH] Adds failing testcase for includes accross projects --- .../BasicIncludeBrowserTest.java | 55 ++++++++++++++++++- .../IncludeBrowserBaseTest.java | 5 +- 2 files changed, 54 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/BasicIncludeBrowserTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/BasicIncludeBrowserTest.java index aba33350341..5c6efeba2fa 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/BasicIncludeBrowserTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/BasicIncludeBrowserTest.java @@ -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 + + 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); + } + } + } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/IncludeBrowserBaseTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/IncludeBrowserBaseTest.java index 095b5674490..36ca9d2db7c 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/IncludeBrowserBaseTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/includebrowser/IncludeBrowserBaseTest.java @@ -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 {