<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension-point id="variables" name="Variables" schema="schema/variables.exsd"/>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="org.eclipse.ease.lang.unittest.ui.editor.TestSuiteEditor"
            contributorClass="org.eclipse.ease.lang.unittest.ui.editor.TestSuiteEditorActionBarContributor"
            default="true"
            extensions="suite"
            filenames="*.suite"
            icon="icons/eobj16/testsuite.png"
            id="org.eclipse.ease.editor.suiteEditor"
            name="Test Suite Editor">
         <contentTypeBinding
               contentTypeId="org.eclipse.ease.lang.unittest.ui.content.testsuite">
         </contentTypeBinding>
      </editor>
   </extension>
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.core.runtime.xml"
            file-extensions="suite"
            id="org.eclipse.ease.lang.unittest.ui.content.testsuite"
            name="Test Suite Configuration"
            priority="normal">
      </content-type>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.ease.editor.suiteEditor">
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.runTestSuite"
               icon="icons/elcl16/run_suite.png"
               style="push">
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.debugTestSuite"
               icon="icons/elcl16/debug_suite.png"
               style="push">
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.ease.editor.suiteEditor.variables">
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.addFolderForVariables"
               icon="platform:/plugin/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.png"
               label="Add Folder"
               style="push">
            <visibleWhen
                  checkEnabled="true">
               <with
                     variable="activeMenuSelection">
                  <or>
                     <count
                           value="0">
                     </count>
                     <count
                           value="1">
                     </count>
                  </or>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.addVariable"
               icon="icons/etool16/new_variable.png"
               label="Add Variable"
               style="push">
            <visibleWhen
                  checkEnabled="true">
               <with
                     variable="activeMenuSelection">
                  <or>
                     <count
                           value="0">
                     </count>
                     <count
                           value="1">
                     </count>
                  </or>
               </with>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.remove"
               icon="platform:/plugin/org.eclipse.ui/icons/full/obj16/delete_obj.png"
               label="Remove"
               style="push">
            <visibleWhen
                  checkEnabled="true">
               <with
                     variable="activeMenuSelection">
                  <count
                        value="+">
                  </count>
               </with>
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.ease.views.unittest">
         <command
               commandId="org.eclipse.ui.navigate.collapseAll"
               style="push">
         </command>
         <command
               commandId="org.eclipse.ui.navigate.expandAll"
               style="push">
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.toggleTestFilter"
               icon="icons/elcl16/toggle_failures.png"
               style="toggle">
         </command>
         <separator
               name="org.eclipse.ease.lang.unittest.ui.separator1"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.runAllTests"
               icon="icons/elcl16/run_all_tests.png"
               style="push"
               tooltip="Run this Test Suite">
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.runFailedTests"
               icon="icons/elcl16/run_failed_tests.png"
               style="push"
               tooltip="Run tests with failures/errors">
         </command>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.terminateTestSuite"
               icon="platform:/plugin/org.eclipse.ui/icons/full/elcl16/stop.png"
               style="push"
               tooltip="Stops the running testbench.">
         </command>
         <separator
               name="org.eclipse.ease.lang.unittest.ui.separator2"
               visible="true">
         </separator>
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.createReport"
               icon="icons/elcl16/create_report.png"
               style="push"
               tooltip="Create a test report">
         </command>
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="popup:org.eclipse.ease.views.unittest">
         <command
               commandId="org.eclipse.ease.lang.unittest.ui.commands.runSelectedTests"
               icon="icons/elcl16/run_all_tests.png"
               label="Run"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <with
                     variable="selection">
                  <iterate
                        ifEmpty="false"
                        operator="and">
                     <or>
                        <instanceof
                              value="org.eclipse.ease.lang.unittest.runtime.ITestFile">
                        </instanceof>
                        <instanceof
                              value="org.eclipse.ease.lang.unittest.runtime.ITestSuite">
                        </instanceof>
                     </or>
                  </iterate>
               </with>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.ease.lang.unittest.ui.handlers.RunAllTests"
            commandId="org.eclipse.ease.lang.unittest.ui.commands.runAllTests">
         <enabledWhen>
            <with
                  variable="org.eclipse.ease.lang.unittest.ui.testsuite">
               <and>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.exists">
                  </test>
                  <not>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                           value="RUNNING">
                     </test>
                  </not>
               </and>
            </with>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.ease.lang.unittest.ui.handlers.RunFailedTests"
            commandId="org.eclipse.ease.lang.unittest.ui.commands.runFailedTests">
         <enabledWhen>
            <with
                  variable="org.eclipse.ease.lang.unittest.ui.testsuite">
               <and>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.exists">
                  </test>
                  <or>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                           value="FAILURE">
                     </test>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                           value="ERROR">
                     </test>
                  </or>
               </and>
            </with>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.ease.lang.unittest.ui.handlers.RunSelectedTests"
            commandId="org.eclipse.ease.lang.unittest.ui.commands.runSelectedTests">
         <enabledWhen>
            <with
                  variable="org.eclipse.ease.lang.unittest.ui.testsuite">
               <and>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.exists">
                  </test>
                  <not>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                           value="RUNNING">
                     </test>
                  </not>
               </and>
            </with>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.ease.lang.unittest.ui.handlers.TerminateTestSuite"
            commandId="org.eclipse.ease.lang.unittest.ui.commands.terminateTestSuite">
         <enabledWhen>
            <with
                  variable="org.eclipse.ease.lang.unittest.ui.testsuite">
               <and>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.exists">
                  </test>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                        value="RUNNING">
                  </test>
               </and>
            </with>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.ease.lang.unittest.ui.handlers.CreateReport"
            commandId="org.eclipse.ease.lang.unittest.ui.commands.createReport">
         <enabledWhen>
            <with
                  variable="org.eclipse.ease.lang.unittest.ui.testsuite">
               <and>
                  <test
                        forcePluginActivation="true"
                        property="org.eclipse.ease.lang.unittest.ui.testsuite.exists">
                  </test>
                  <not>
                     <test
                           forcePluginActivation="true"
                           property="org.eclipse.ease.lang.unittest.ui.testsuite.status"
                           value="RUNNING">
                     </test>
                  </not>
               </and>
            </with>
         </enabledWhen>
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <category
            id="org.eclipse.ease.lang.unittest.ui.category.unittest"
            name="Unit Test">
      </category>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.RunTestSuiteFromEditor"
            description="Run this Test Suite"
            id="org.eclipse.ease.lang.unittest.ui.commands.runTestSuite"
            name="Run Test Suite">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.DebugTestSuiteFromEditor"
            description="Debug this Test Suite"
            id="org.eclipse.ease.lang.unittest.ui.commands.debugTestSuite"
            name="Debug Test Suite">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            description="Run all tests"
            id="org.eclipse.ease.lang.unittest.ui.commands.runAllTests"
            name="Run All Tests">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.AddFolderForVariablesHandler"
            description="Add a new folder"
            id="org.eclipse.ease.lang.unittest.ui.commands.addFolderForVariables"
            name="Add Folder">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.AddVariableHandler"
            description="Add a new variable"
            id="org.eclipse.ease.lang.unittest.ui.commands.addVariable"
            name="Add Variable">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.RemoveVariableOrFolderHandler"
            description="Removes the selected element"
            id="org.eclipse.ease.lang.unittest.ui.commands.remove"
            name="Remove">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            description="Stop the running Test Suite"
            id="org.eclipse.ease.lang.unittest.ui.commands.terminateTestSuite"
            name="Stop Test Suite">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            defaultHandler="org.eclipse.ease.lang.unittest.ui.handlers.ToggleTestFilter"
            description="Enable/disable filtering of valid tests"
            id="org.eclipse.ease.lang.unittest.ui.commands.toggleTestFilter"
            name="Toggle Valid Tests Filter">
         <state
               class="org.eclipse.jface.commands.ToggleState"
               id="STYLE">
         </state>
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            description="Run failed tests"
            id="org.eclipse.ease.lang.unittest.ui.commands.runFailedTests"
            name="Run Failed Tests">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            id="org.eclipse.ease.lang.unittest.ui.commands.createReport"
            name="Create Report">
      </command>
      <command
            categoryId="org.eclipse.ease.lang.unittest.ui.category.unittest"
            description="Run selected tests"
            id="org.eclipse.ease.lang.unittest.ui.commands.runSelectedTests"
            name="Run Selected Tests">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            category="org.eclipse.ease.ui.views.category.scripting"
            class="org.eclipse.ease.lang.unittest.ui.views.UnitTestView"
            icon="icons/eview16/unit_test.png"
            id="org.eclipse.ease.views.unittest"
            name="Script Unittest"
            restorable="true">
      </view>
   </extension>
   <extension
         point="org.eclipse.ease.language">
      <launchExtension
            class="org.eclipse.ease.lang.unittest.ui.views.UIAttachment"
            engineID="org.eclipse.ease.lang.unittest.engine">
      </launchExtension>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.ease.ui.perspectives.ScriptingPerspective">
         <view
               id="org.eclipse.ease.views.unittest"
               minimized="false"
               relationship="stack"
               relative="org.eclipse.ui.navigator.ProjectExplorer"
               visible="false">
         </view>
         <newWizardShortcut
               id="org.eclipse.ease.lang.unittest.ui.wizard.newTestSuiteWizard">
         </newWizardShortcut>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            category="org.eclipse.ease.newWizard.category"
            class="org.eclipse.ease.lang.unittest.ui.wizards.TestSuiteWizard"
            icon="icons/eobj16/testsuite.png"
            id="org.eclipse.ease.lang.unittest.ui.wizard.newTestSuiteWizard"
            name="Script Testsuite">
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            class="org.eclipse.ease.lang.unittest.ui.decorators.TestStatusDecorator"
            id="org.eclipse.ease.lang.unittest.ui.testDecorator"
            label="Script Unittest Status"
            lightweight="true"
            state="true">
         <enablement>
            <objectClass
                  name="org.eclipse.ease.lang.unittest.runtime.ITestContainer">
            </objectClass>
         </enablement>
      </decorator>
   </extension>
   <extension
         point="org.eclipse.ui.services">
      <sourceProvider
            provider="org.eclipse.ease.lang.unittest.ui.sourceprovider.TestSuiteSource">
         <variable
               name="org.eclipse.ease.lang.unittest.ui.testsuite"
               priorityLevel="workbench">
         </variable>
      </sourceProvider>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.ease.lang.unittest.ui.sourceprovider.TestSuiteStatus"
            id="org.eclipse.ease.lang.unittest.ui.propertyTester"
            namespace="org.eclipse.ease.lang.unittest.ui.testsuite"
            properties="status,exists"
            type="org.eclipse.ease.lang.unittest.runtime.ITestSuite">
      </propertyTester>
   </extension>



   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated TestDefinition -->
      <factory
            uri="http://eclipse.org/ease/unittest/testsuite/1.0"
            class="org.eclipse.ease.lang.unittest.definition.provider.DefinitionItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <commonWizard
            type="new"
            wizardId="org.eclipse.ease.lang.unittest.ui.wizard.newTestSuiteWizard">
         <enablement></enablement>
      </commonWizard>
   </extension>

</plugin>
