From 3ae81bb32fa2c0494c2db52d6ec4e2f812a555f7 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 31 Jan 2007 10:21:27 +0000 Subject: [PATCH] Add a test for secondary build console --- .../eclipse/cdt/ui/tests/AutomatedSuite.java | 4 ++ .../tests/buildconsole/BuildConsoleTests.java | 66 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/buildconsole/BuildConsoleTests.java diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java index 9758626192a..11169fe3568 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/AutomatedSuite.java @@ -16,6 +16,7 @@ import junit.framework.Test; import junit.framework.TestSuite; import org.eclipse.cdt.refactoring.tests.RenameRegressionTests; +import org.eclipse.cdt.ui.tests.buildconsole.BuildConsoleTests; import org.eclipse.cdt.ui.tests.callhierarchy.CallHierarchyTestSuite; import org.eclipse.cdt.ui.tests.includebrowser.IncludeBrowserTestSuite; import org.eclipse.cdt.ui.tests.text.TextTestSuite; @@ -69,6 +70,9 @@ public class AutomatedSuite extends TestSuite { // tests from package org.eclipse.cdt.ui.tests.text.selection addTest(SelectionTestSuite.suite()); + + // tests from package org.eclipse.cdt.ui.tests.buildconsole + addTest(BuildConsoleTests.suite()); } } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/buildconsole/BuildConsoleTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/buildconsole/BuildConsoleTests.java new file mode 100644 index 00000000000..f3cde15eb7f --- /dev/null +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/buildconsole/BuildConsoleTests.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Anton Leherbauer (Wind River Systems) - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.ui.tests.buildconsole; + +import java.io.IOException; + +import junit.framework.TestSuite; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.text.IDocument; + +import org.eclipse.cdt.core.dom.IPDOMManager; +import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.core.resources.IConsole; +import org.eclipse.cdt.core.testplugin.CProjectHelper; +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.cdt.ui.IBuildConsoleManager; +import org.eclipse.cdt.ui.tests.BaseUITestCase; +import org.eclipse.cdt.ui.tests.text.DisplayHelper; + +/** + * BuildConsoleTests. + */ +public class BuildConsoleTests extends BaseUITestCase { + + private ICProject fCProject; + + public BuildConsoleTests(String name) { + super(name); + } + + public static TestSuite suite() { + return new TestSuite(BuildConsoleTests.class); + } + + protected void setUp() throws Exception { + super.setUp(); + fCProject= CProjectHelper.createCCProject(getName(), "unused", IPDOMManager.ID_FAST_INDEXER); + } + + protected void tearDown() throws Exception { + CProjectHelper.delete(fCProject); + fCProject= null; + super.tearDown(); + } + + public void testSecondaryBuildConsole() throws IOException, CoreException { + IBuildConsoleManager mgr= CUIPlugin.getDefault().getConsoleManager("My Other Console", "cdt.ui.testConsole"); + IConsole console= mgr.getConsole(fCProject.getProject()); + String stdoutText = "This is stdout\n"; + console.getOutputStream().write(stdoutText.getBytes()); + String stderrText = "This is stderr\n"; + console.getErrorStream().write(stderrText.getBytes()); + DisplayHelper.sleep(CUIPlugin.getStandardDisplay(), 200); + IDocument doc= mgr.getConsoleDocument(fCProject.getProject()); + assertEquals(stdoutText+stderrText, doc.get()); + } +}