<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<contexts>
    <!-- Actions -->
    <context id="goto_referenced_test_action_context">
        <description>This command navigates to the tests that reference this Java element.</description>
    </context>
    <context id="enable_filter_action_context">
        <description>Toggles the filtering of the stack trace entries as defined in the JUnit preference page.</description>
        <topic label="JUnit Preferences" href="reference/preferences/java/ref-preferences-junit.htm"/>
    </context>
    <context id="junit_tab_group">
        <description>This launch configuration runs JUnit tests.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    <context id="launch_shortcut">
        <description>This command launches JUnit tests. When a class is selected its tests are run. When a project, package or source folder is selected then all contained tests are run. When a single test method is selected then the selected test is run.
		</description>
         <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    <context id="copy_trace_action_context">
        <description>This command copies the stack trace to the clipboard.</description>
    </context>
    <context id="open_test_action_context">
        <description>This command opens the corresponding test case.</description>
    </context>
    <context id="open_editor_atline_action_context">
        <description>This commands opens the corresponding test method.</description>
    </context>
    <context id="rerun_test_action_context">
        <description>Reruns the selected test.</description>
    </context>
    <context id="scroll_lock">
        <description>Locks the test result view so that the currently executed tests isn't automatically revealed.</description>
    </context>
    
    <!-- View parts -->
    <context id="results_view_context">
        <description>This view displays the test results.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    
    <!-- Wizard pages -->
    <context id="new_testcase_wizard_page_context">
        <description>This wizard helps you to create a new test case and to generate test stubs for existing methods.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    <context id="new_testcase_wizard_page2_context">
        <description>This wizard helps you to create a new test case and to generate test stubs for existing methods.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    <context id="new_testsuite_wizard_page2_context">
        <description>This wizard helps you to create a new test suite.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
    <context  id="launch_configuration_dialog_junit_main_tab" >
        <description>This tab allows you to specify JUnit tests to be executed.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
    </context>
   
    <!-- Dialogs -->
    <context id="test_selection_context">
        <description>Dialog for selecting a test.</description>
   </context>
    <context id="result_compare_context">
        <description>This dialog compares the expected with the actual test result in a text compare view.</description>
    </context>
    
    <!-- Preference pages -->
    <context id="junit_preference_page_context">
        <description>This page is where you can set JUnit preferences.</description>
        <topic label="Using JUnit" href="gettingStarted/qs-junit.htm"/>
        <topic label="JUnit Preferences" href="reference/preferences/java/ref-preferences-junit.htm"/>
    </context>
</contexts>
