diff --git a/build/org.eclipse.cdt.managedbuilder.ui.tests/plugin.xml b/build/org.eclipse.cdt.managedbuilder.ui.tests/plugin.xml
index f337a8ed8aa..b01caaff974 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui.tests/plugin.xml
+++ b/build/org.eclipse.cdt.managedbuilder.ui.tests/plugin.xml
@@ -24,6 +24,7 @@
point="org.eclipse.cdt.managedbuilder.ui.newWizardPages">
+
+
+
diff --git a/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/TestCustomPageManager.java b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/TestCustomPageManager.java
index d10ad7696c8..62f570e9db4 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/TestCustomPageManager.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/TestCustomPageManager.java
@@ -44,12 +44,17 @@ public class TestCustomPageManager extends TestCase
private static final String projectTypeDPageName = "org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeDWizardPage";
private static final String projectTypeEPageName = "org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ProjectTypeEWizardPage";
private static final String toolchainFPageName = "org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainFWizardPage";
+ private static final String toolchainCv20PageName = "org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainCv20WizardPage";
+
+ public static boolean testFlag = false;
public void setUp() throws Exception
{
MBSCustomPageManager.init();
MBSCustomPageManager.loadExtensions();
+
+ testFlag = false;
}
/**
@@ -102,6 +107,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolChainCWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
{
@@ -184,6 +195,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolChainCWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
{
@@ -265,6 +282,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolChainCWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
{
@@ -334,6 +357,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolchainCWizardPage should not have a next page.");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(natureAPageName))
{
@@ -366,6 +395,107 @@ public class TestCustomPageManager extends TestCase
}
}
+ /**
+ * Set the toolchain to "C_2.0.0". Only pages with no contraints, or toolchains set to "C", or toolchains set to "C" version 2.0.0 should show up.
+ */
+ public void testToolchainCv20()
+ {
+// set the project type to be "X"
+ MBSCustomPageManager.addPageProperty(CProjectPlatformPage.PAGE_ID, CProjectPlatformPage.PROJECT_TYPE, "X");
+
+ // set the toolchain to "C"
+ Set toolchainSet = new LinkedHashSet();
+ TestToolchain toolchain = new TestToolchain();
+ toolchain.setID("C_2.0.0");
+ toolchainSet.add(toolchain);
+ MBSCustomPageManager.addPageProperty(CProjectPlatformPage.PAGE_ID, CProjectPlatformPage.TOOLCHAIN, toolchainSet);
+
+ // set the nature to "Z"
+ MBSCustomPageManager.addPageProperty(CProjectPlatformPage.PAGE_ID, CProjectPlatformPage.NATURE, "Z");
+
+ // check each of the pages
+
+ // this page should always be visible
+ if(!MBSCustomPageManager.isPageVisible(alwaysPresentPageName))
+ {
+ fail("AlwaysPresentWizardPage should be visible");
+ }
+
+ // next page for this page should be the page for toolchain C
+ if(MBSCustomPageManager.getNextPage(alwaysPresentPageName) != MBSCustomPageManager.getPageData(toolchainCPageName).getWizardPage())
+ {
+ fail("AlwaysPresentWizardPage's next page should be ToolchainCWizardPage");
+ }
+
+ // toolchain C page's previous page should be the always present page
+ if(MBSCustomPageManager.getPreviousPage(toolchainCPageName) != MBSCustomPageManager.getPageData(alwaysPresentPageName).getWizardPage())
+ {
+ fail("ToolchainCWizardPage's previous page should be AlwaysPresentWizardPage");
+ }
+
+ // Toolchain C page should be visible
+ if(!MBSCustomPageManager.isPageVisible(toolchainCPageName))
+ {
+ fail("ToolchainCWizardPage should be visible");
+ }
+
+ // Toolchain C page's next page should be the page for C 2.0
+ if(MBSCustomPageManager.getNextPage(toolchainCPageName) != MBSCustomPageManager.getPageData(toolchainCv20PageName).getWizardPage())
+ {
+ fail("ToolchainCWizardPage's next page should be ToolchainCv20WizardPage.");
+ }
+
+ // toolchain C v 2.0.0 page's previous page should be the toolchain C page
+ if(MBSCustomPageManager.getPreviousPage(toolchainCv20PageName) != MBSCustomPageManager.getPageData(toolchainCPageName).getWizardPage())
+ {
+ fail("ToolchainCv20WizardPage's previous page should be ToolchainCWizardPage");
+ }
+
+ // Toolchain C v 2.0.0 page should be visible
+ if(!MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolchainCWizardPage should be visible");
+ }
+
+ // Toolchain C v 2.0.0 page's next page should be null
+ if(MBSCustomPageManager.getNextPage(toolchainCv20PageName) != null)
+ {
+ fail("ToolchainCv20WizardPage should not have a next page.");
+ }
+
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(natureAPageName))
+ {
+ fail("NatureAWizardPage should not be visible");
+ }
+
+ // the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(natureBPageName))
+ {
+ fail("NatureBWizardPage should not be visible");
+ }
+
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
+ {
+ fail("ProjectTypeDWizardPage should not be visible");
+ }
+
+
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(projectTypeEPageName))
+ {
+ fail("ProjectTypeEWizardPage should not be visible");
+ }
+
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainFPageName))
+ {
+ fail("ToolchainFWizardPage should not be visible");
+ }
+ }
+
+
/**
* Set the project type to "D". Only pages with no contraints or project types set to "D" should show up.
@@ -435,6 +565,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolChainCWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeEPageName))
{
@@ -519,6 +655,12 @@ public class TestCustomPageManager extends TestCase
fail("ToolChainCWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
{
@@ -595,6 +737,12 @@ public class TestCustomPageManager extends TestCase
fail("NatureBWizardPage should not be visible");
}
+// the rest of the pages should be invisible
+ if(MBSCustomPageManager.isPageVisible(toolchainCv20PageName))
+ {
+ fail("ToolChainCv20WizardPage should not be visible");
+ }
+
// the rest of the pages should be invisible
if(MBSCustomPageManager.isPageVisible(projectTypeDPageName))
{
@@ -722,6 +870,16 @@ public class TestCustomPageManager extends TestCase
}
+ public void testOperation()
+ {
+ MBSCustomPageManager.getPageData(alwaysPresentPageName).getOperation().run();
+
+ if(testFlag != true)
+ {
+ fail("Running operation associated with AlwaysPresentWizardPage failed.");
+ }
+ }
+
public TestCustomPageManager(String name)
{
@@ -735,11 +893,12 @@ public class TestCustomPageManager extends TestCase
suite.addTest(new TestCustomPageManager("testNatureA"));
suite.addTest(new TestCustomPageManager("testNatureB"));
suite.addTest(new TestCustomPageManager("testToolchainC"));
+ suite.addTest(new TestCustomPageManager("testToolchainCv20"));
suite.addTest(new TestCustomPageManager("testProjectTypeD"));
suite.addTest(new TestCustomPageManager("testProjectTypeE"));
suite.addTest(new TestCustomPageManager("testToolchainF"));
suite.addTest(new TestCustomPageManager("testMultiplePages"));
-
+ suite.addTest(new TestCustomPageManager("testOperation"));
return suite;
}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/TestRunnable.java b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/TestRunnable.java
new file mode 100644
index 00000000000..5583906eb3c
--- /dev/null
+++ b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/TestRunnable.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2005 Texas Instruments Incorporated 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:
+ * Texas Instruments - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.managedbuilder.ui.tests.wizardPages;
+
+import java.lang.Runnable;
+import org.eclipse.cdt.managedbuilder.ui.tests.TestCustomPageManager;
+
+public class TestRunnable implements Runnable
+{
+
+ /* (non-Javadoc)
+ * @see java.lang.Runnable#run()
+ */
+ public void run()
+ {
+ TestCustomPageManager.testFlag = true;
+
+ }
+
+}
diff --git a/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/ToolchainCv20WizardPage.java b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/ToolchainCv20WizardPage.java
new file mode 100644
index 00000000000..ec9968b0026
--- /dev/null
+++ b/build/org.eclipse.cdt.managedbuilder.ui.tests/src/org/eclipse/cdt/managedbuilder/ui/tests/wizardPages/ToolchainCv20WizardPage.java
@@ -0,0 +1,125 @@
+/*******************************************************************************
+ * Copyright (c) 2005 Texas Instruments Incorporated 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:
+ * Texas Instruments - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.cdt.managedbuilder.ui.tests.wizardPages;
+
+import org.eclipse.cdt.managedbuilder.ui.wizards.MBSCustomPage;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.SWT;
+
+public class ToolchainCv20WizardPage extends MBSCustomPage
+{
+
+ private Composite composite;
+
+ public ToolchainCv20WizardPage()
+ {
+ pageID = "org.eclipse.cdt.managedbuilder.ui.tests.wizardPages.ToolchainCv20WizardPage";
+ }
+
+ public String getName()
+ {
+ return new String("Toolchain C v 2.0 Wizard Page");
+ }
+
+ public void createControl(Composite parent)
+ {
+
+ composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ Text pageText = new Text(composite, SWT.CENTER);
+ pageText.setBounds(composite.getBounds());
+ pageText.setText("Toolchain C v 2.0 Wizard Page");
+ pageText.setVisible(true);
+
+ }
+
+ public void dispose()
+ {
+ composite.dispose();
+
+ }
+
+ public Control getControl()
+ {
+ return composite;
+ }
+
+ public String getDescription()
+ {
+ return new String("My description");
+ }
+
+ public String getErrorMessage()
+ {
+ return new String("My error msg");
+ }
+
+ public Image getImage()
+ {
+ return wizard.getDefaultPageImage();
+ }
+
+ public String getMessage()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getTitle()
+ {
+ return new String("My Title");
+ }
+
+ public void performHelp()
+ {
+ // do nothing
+
+ }
+
+ public void setDescription(String description)
+ {
+ // do nothing
+
+ }
+
+ public void setImageDescriptor(ImageDescriptor image)
+ {
+ // do nothing
+
+ }
+
+ public void setTitle(String title)
+ {
+ // do nothing
+
+ }
+
+ public void setVisible(boolean visible)
+ {
+ composite.setVisible(visible);
+
+ }
+
+ protected boolean isCustomPageComplete()
+ {
+ return true;
+ }
+
+}