/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.plugin.testing.junit.ide; import org.eclipse.che.ide.api.action.Action; import org.eclipse.che.ide.api.action.ActionManager; import org.eclipse.che.ide.api.action.DefaultActionGroup; import org.eclipse.che.ide.api.keybinding.KeyBindingAgent; import org.eclipse.che.ide.api.keybinding.KeyBuilder; import org.eclipse.che.ide.util.browser.UserAgent; import org.eclipse.che.plugin.testing.ide.TestAction; import org.eclipse.che.plugin.testing.junit.ide.action.RunAllContextTestAction; import org.eclipse.che.plugin.testing.junit.ide.action.RunAllTestAction; import org.eclipse.che.plugin.testing.junit.ide.action.RunClassContextTestAction; import org.eclipse.che.plugin.testing.junit.ide.action.RunClassTestAction; import com.google.inject.Inject; /** * JUnit 3.x and 4.x ide implementation. * * @author Mirage Abeysekara */ public class JUnitTestAction implements TestAction { public static final String TEST_ACTION_RUN_ALL = "TestActionRunAll"; public static final String TEST_ACTION_RUN_CLASS = "TestActionRunClass"; public static final String TEST_ACTION_RUN_CLASS_CONTEXT = "TestActionRunClassContext"; public static final String TEST_ACTION_RUN_ALL_CONTEXT = "TestActionRunAllContext"; private final Action runClassTestAction; private final Action runAllTestAction; private final Action runClassContextTestAction; private final Action runAllContextTestAction; @Inject public JUnitTestAction(ActionManager actionManager, RunClassTestAction runClassTestAction, RunAllTestAction runAllTestAction, RunClassContextTestAction runClassContextTestAction, RunAllContextTestAction runAllContextTestAction, KeyBindingAgent keyBinding) { actionManager.registerAction(TEST_ACTION_RUN_CLASS, runClassTestAction); actionManager.registerAction(TEST_ACTION_RUN_ALL, runAllTestAction); actionManager.registerAction(TEST_ACTION_RUN_CLASS_CONTEXT, runClassContextTestAction); actionManager.registerAction(TEST_ACTION_RUN_ALL_CONTEXT, runAllContextTestAction); if (UserAgent.isMac()) { keyBinding.getGlobal().addKey(new KeyBuilder().control().alt().charCode('z').build(), TEST_ACTION_RUN_ALL); keyBinding.getGlobal().addKey(new KeyBuilder().control().shift().charCode('z').build(), TEST_ACTION_RUN_CLASS); } else { keyBinding.getGlobal().addKey(new KeyBuilder().action().alt().charCode('z').build(), TEST_ACTION_RUN_ALL); keyBinding.getGlobal().addKey(new KeyBuilder().action().shift().charCode('z').build(), TEST_ACTION_RUN_CLASS); } this.runAllTestAction = runAllTestAction; this.runClassContextTestAction = runClassContextTestAction; this.runClassTestAction = runClassTestAction; this.runAllContextTestAction = runAllContextTestAction; } @Override public void addMainMenuItems(DefaultActionGroup testMainMenu) { testMainMenu.add(runClassTestAction); testMainMenu.add(runAllTestAction); } @Override public void addContextMenuItems(DefaultActionGroup testContextMenu) { testContextMenu.add(runClassContextTestAction); testContextMenu.add(runAllContextTestAction); } }