From 865badae548a10abb93b3a4ddbcdcaf71eea354a Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Mon, 9 Feb 2015 13:40:55 +0300 Subject: [PATCH] fix NPE in tests (environment.getProject() may return null) --- .../execution/testframework/ToolbarPanel.java | 2 +- .../AdjustAutotestDelayActionGroup.java | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/platform/testRunner/src/com/intellij/execution/testframework/ToolbarPanel.java b/platform/testRunner/src/com/intellij/execution/testframework/ToolbarPanel.java index 7eaf9c1754d5..541f024ea239 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/ToolbarPanel.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/ToolbarPanel.java @@ -102,7 +102,7 @@ public class ToolbarPanel extends JPanel implements OccurenceNavigator, Disposab properties, TestConsoleProperties.OPEN_FAILURE_LINE)).setAsSecondary(true); actionGroup.addAction(new ShowStatisticsAction(properties)).setAsSecondary(true); - actionGroup.addAction(new AdjustAutotestDelayActionGroup(environment.getProject(), parent)).setAsSecondary(true); + actionGroup.addAction(new AdjustAutotestDelayActionGroup(parent)).setAsSecondary(true); for (ToggleModelActionProvider actionProvider : Extensions.getExtensions(ToggleModelActionProvider.EP_NAME)) { final ToggleModelAction toggleModelAction = actionProvider.createToggleModelAction(properties); diff --git a/platform/testRunner/src/com/intellij/execution/testframework/autotest/AdjustAutotestDelayActionGroup.java b/platform/testRunner/src/com/intellij/execution/testframework/autotest/AdjustAutotestDelayActionGroup.java index 4b8a2ffa75ec..02ce8ed431e1 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/autotest/AdjustAutotestDelayActionGroup.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/autotest/AdjustAutotestDelayActionGroup.java @@ -29,12 +29,10 @@ import javax.swing.*; */ public class AdjustAutotestDelayActionGroup extends ActionGroup { public static final int MAX_DELAY = 10; - private final Project myProject; private final DataContext myDataContext; - public AdjustAutotestDelayActionGroup(@NotNull Project project, @NotNull JComponent parent) { + public AdjustAutotestDelayActionGroup(@NotNull JComponent parent) { super("Set AutoTest Delay", true); - myProject = project; myDataContext = DataManager.getInstance().getDataContext(parent); } @@ -58,29 +56,31 @@ public class AdjustAutotestDelayActionGroup extends ActionGroup { public AnAction[] getChildren(@Nullable AnActionEvent e) { final AnAction[] actions = new AnAction[MAX_DELAY]; for (int i = 0; i < MAX_DELAY; i++) { - actions[i] = new SetAutoTestDelayAction(myProject, i + 1); + actions[i] = new SetAutoTestDelayAction(i + 1); } return actions; } private static class SetAutoTestDelayAction extends ToggleAction { private final int myDelay; - @NotNull private final Project myProject; - public SetAutoTestDelayAction(@NotNull Project project, int delay) { + public SetAutoTestDelayAction(int delay) { super(delay + "s"); - myProject = project; myDelay = delay * 1000; } @Override public boolean isSelected(AnActionEvent e) { - return AutoTestManager.getInstance(myProject).getDelay() == myDelay; + Project project = e.getProject(); + return project != null && AutoTestManager.getInstance(project).getDelay() == myDelay; } @Override public void setSelected(AnActionEvent e, boolean state) { - AutoTestManager.getInstance(myProject).setDelay(myDelay); + Project project = e.getProject(); + if (project != null) { + AutoTestManager.getInstance(project).setDelay(myDelay); + } } } }