fixed [IDEADEV-41319] test runner: do not show green balloon and green progress bar...
[fedora-idea.git] / platform / smRunner / testSrc / com / intellij / execution / testframework / sm / runner / ui / SMTRunnerUIActionsHandlerTest.java
blob76d35f45431e174a35ced117c9c5fbd2e76111ea
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.intellij.execution.testframework.sm.runner.ui;
18 import com.intellij.execution.testframework.AbstractTestProxy;
19 import com.intellij.execution.testframework.TestConsoleProperties;
20 import com.intellij.execution.testframework.sm.runner.BaseSMTRunnerTestCase;
21 import com.intellij.execution.testframework.sm.runner.SMTestProxy;
22 import com.intellij.openapi.util.Disposer;
23 import org.jetbrains.annotations.Nullable;
25 /**
26 * @author Roman Chernyatchik
28 public class SMTRunnerUIActionsHandlerTest extends BaseSMTRunnerTestCase {
29 private MockTestResultsViewer myResultsViewer;
30 private TestConsoleProperties myProperties;
31 private SMTRunnerUIActionsHandler myUIActionsHandler;
32 private AbstractTestProxy mySelectedTestProxy;
34 @Override
35 protected void setUp() throws Exception {
36 super.setUp();
38 myProperties = createConsoleProperties();
39 myResultsViewer = new MockTestResultsViewer(myProperties, mySuite) {
40 @Override
41 public void selectAndNotify(@Nullable final AbstractTestProxy proxy) {
42 super.selectAndNotify(proxy);
43 mySelectedTestProxy = proxy;
47 myUIActionsHandler = new SMTRunnerUIActionsHandler(myProperties);
49 TestConsoleProperties.HIDE_PASSED_TESTS.set(myProperties, false);
50 TestConsoleProperties.OPEN_FAILURE_LINE.set(myProperties, false);
51 TestConsoleProperties.SCROLL_TO_SOURCE.set(myProperties, false);
52 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, false);
53 TestConsoleProperties.TRACK_RUNNING_TEST.set(myProperties, false);
56 @Override
57 protected void tearDown() throws Exception {
58 Disposer.dispose(myResultsViewer);
60 super.tearDown();
63 public void testSelectFirstDeffect_Failed() {
64 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, true);
65 mySuite.setStarted();
67 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
68 testsSuite.setStarted();
70 // passed test
71 final SMTestProxy testPassed1 = createTestProxy("testPassed1", testsSuite);
72 testPassed1.setStarted();
74 //failed test
75 final SMTestProxy testFailed1 = createTestProxy("testFailed1", testsSuite);
76 testFailed1.setStarted();
77 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed1);
78 assertNull(mySelectedTestProxy);
80 testFailed1.setTestFailed("", "", false);
81 //myUIActionsHandler.onTestFinished(testFailed1);
82 assertNull(mySelectedTestProxy);
84 // passed test numer 2
85 mySelectedTestProxy = null;
86 final SMTestProxy testPassed2 = createTestProxy("testPassed2", testsSuite);
87 testPassed2.setStarted();
88 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPassed2);
89 assertNull(mySelectedTestProxy);
91 testPassed2.setFinished();
92 //myUIActionsHandler.onTestFinished(testPassed2);
93 assertNull(mySelectedTestProxy);
96 //failed test 2
97 final SMTestProxy testFailed2 = createTestProxy("testFailed1", testsSuite);
98 testFailed2.setStarted();
99 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed2);
100 assertNull(mySelectedTestProxy);
102 testFailed2.setTestFailed("", "", false);
103 //myUIActionsHandler.onTestFinished(testFailed2);
104 assertNull(mySelectedTestProxy);
106 // finish suite
107 testsSuite.setFinished();
108 assertNull(mySelectedTestProxy);
110 //testing finished
111 mySuite.setFinished();
112 assertNull(mySelectedTestProxy);
114 myUIActionsHandler.onTestingFinished(myResultsViewer);
115 assertEquals(testFailed1, mySelectedTestProxy);
118 public void testSelectFirstDeffect_Error() {
119 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, true);
120 mySuite.setStarted();
122 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
123 testsSuite.setStarted();
125 // passed test
126 final SMTestProxy testPassed1 = createTestProxy("testPassed1", testsSuite);
127 testPassed1.setStarted();
129 //failed test
130 final SMTestProxy testError = createTestProxy("testError", testsSuite);
131 testError.setStarted();
132 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testError);
133 assertNull(mySelectedTestProxy);
135 testError.setTestFailed("", "", true);
136 //myUIActionsHandler.onTestFinished(testFailed1);
137 assertNull(mySelectedTestProxy);
139 // passed test numer 2
140 mySelectedTestProxy = null;
141 final SMTestProxy testPassed2 = createTestProxy("testPassed2", testsSuite);
142 testPassed2.setStarted();
143 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPassed2);
144 assertNull(mySelectedTestProxy);
146 testPassed2.setFinished();
147 //myUIActionsHandler.onTestFinished(testPassed2);
148 assertNull(mySelectedTestProxy);
151 //failed test
152 final SMTestProxy testFailed2 = createTestProxy("testFailed1", testsSuite);
153 testFailed2.setStarted();
154 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed2);
155 assertNull(mySelectedTestProxy);
157 testFailed2.setTestFailed("", "", false);
158 //myUIActionsHandler.onTestFinished(testFailed2);
159 assertNull(mySelectedTestProxy);
161 // finish suite
162 testsSuite.setFinished();
163 assertNull(mySelectedTestProxy);
165 //testing finished
166 mySuite.setFinished();
167 assertNull(mySelectedTestProxy);
169 myUIActionsHandler.onTestingFinished(myResultsViewer);
170 assertEquals(testError, mySelectedTestProxy);
174 public void testSelectFirstDeffect_Priority_Error() {
175 // Priority: error -> failure -> pending
176 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, true);
177 mySuite.setStarted();
179 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
180 testsSuite.setStarted();
182 // pending test
183 final SMTestProxy testPending = createTestProxy("testPending", testsSuite);
184 testPending.setStarted();
185 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPending);
186 testPending.setTestIgnored("", "");
188 //failed test
189 final SMTestProxy testFailed = createTestProxy("testFailed", testsSuite);
190 testFailed.setStarted();
191 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed);
192 testFailed.setTestFailed("", "", false);
194 //error test
195 final SMTestProxy testError = createTestProxy("testError", testsSuite);
196 testError.setStarted();
197 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testError);
198 testError.setTestFailed("", "", true);
200 // Second error test just to check that first failed will be selected
201 final SMTestProxy testError2 = createTestProxy("testError2", testsSuite);
202 testError2.setStarted();
203 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testError2);
204 testError2.setTestFailed("", "", true);
206 // finish suite
207 testsSuite.setFinished();
208 assertNull(mySelectedTestProxy);
210 //testing finished
211 mySuite.setFinished();
212 assertNull(mySelectedTestProxy);
214 myUIActionsHandler.onTestingFinished(myResultsViewer);
215 assertEquals(testError, mySelectedTestProxy);
218 public void testSelectFirstDeffect_Priority_Failure() {
219 // Priority: error -> failure -> pending
220 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, true);
221 mySuite.setStarted();
223 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
224 testsSuite.setStarted();
226 // pending test
227 final SMTestProxy testPending = createTestProxy("testPending", testsSuite);
228 testPending.setStarted();
229 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPending);
230 testPending.setTestIgnored("", "");
232 //failed test
233 final SMTestProxy testFailed = createTestProxy("testFailed", testsSuite);
234 testFailed.setStarted();
235 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed);
236 testFailed.setTestFailed("", "", false);
238 // Second failed test just to check that first failed will be selected
239 final SMTestProxy testFailed2 = createTestProxy("testFailed2", testsSuite);
240 testFailed2.setStarted();
241 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed2);
242 testFailed2.setTestFailed("", "", false);
244 // finish suite
245 testsSuite.setFinished();
246 assertNull(mySelectedTestProxy);
248 //testing finished
249 mySuite.setFinished();
250 assertNull(mySelectedTestProxy);
252 myUIActionsHandler.onTestingFinished(myResultsViewer);
253 assertEquals(testFailed, mySelectedTestProxy);
256 public void testSelectFirstDeffect_Priority_Pending() {
257 // Priority: error -> failure -> pending
258 TestConsoleProperties.SELECT_FIRST_DEFECT.set(myProperties, true);
259 mySuite.setStarted();
261 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
262 testsSuite.setStarted();
264 // pending test
265 final SMTestProxy testPending = createTestProxy("testPending", testsSuite);
266 testPending.setStarted();
267 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPending);
268 testPending.setTestIgnored("", "");
270 // Second pending test just to check that first failed will be selected
271 final SMTestProxy testPending2 = createTestProxy("testPending2", testsSuite);
272 testPending2.setStarted();
273 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPending2);
274 testPending2.setTestIgnored("", "");
276 // finish suite
277 testsSuite.setFinished();
278 assertNull(mySelectedTestProxy);
280 //testing finished
281 mySuite.setFinished();
282 assertNull(mySelectedTestProxy);
284 myUIActionsHandler.onTestingFinished(myResultsViewer);
285 assertEquals(testPending, mySelectedTestProxy);
288 public void testTrackRunningTest() {
289 TestConsoleProperties.TRACK_RUNNING_TEST.set(myProperties, true);
290 mySuite.setStarted();
292 final SMTestProxy testsSuite = createSuiteProxy("my suite", mySuite);
293 testsSuite.setStarted();
294 assertNull(mySelectedTestProxy);
296 // passed test
297 final SMTestProxy testPassed1 = createTestProxy("testPassed1", testsSuite);
298 testPassed1.setStarted();
299 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPassed1);
300 assertEquals(testPassed1, mySelectedTestProxy);
302 testPassed1.setFinished();
303 //myUIActionsHandler.onTestFinished(testPassed1);
304 assertEquals(testPassed1, mySelectedTestProxy);
306 //failed test
307 final SMTestProxy testFailed1 = createTestProxy("testFailed1", testsSuite);
308 testFailed1.setStarted();
309 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed1);
310 assertEquals(testFailed1, mySelectedTestProxy);
312 testFailed1.setTestFailed("", "", false);
313 //myUIActionsHandler.onTestFinished(testFailed1);
314 assertEquals(testFailed1, mySelectedTestProxy);
316 //error test
317 final SMTestProxy testError = createTestProxy("testError", testsSuite);
318 testError.setStarted();
319 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testError);
320 assertEquals(testError, mySelectedTestProxy);
322 testError.setTestFailed("", "", true);
323 //myUIActionsHandler.onTestFinished(testError);
324 assertEquals(testError, mySelectedTestProxy);
326 //terminated test
327 final SMTestProxy testTerminated = createTestProxy("testTerimated", testsSuite);
328 testTerminated.setStarted();
329 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testTerminated);
330 assertEquals(testTerminated, mySelectedTestProxy);
332 testTerminated.setTerminated();
333 //myUIActionsHandler.onTestFinished(testError);
334 assertEquals(testTerminated, mySelectedTestProxy);
336 // passed test numer 2
337 mySelectedTestProxy = null;
338 final SMTestProxy testPassed2 = createTestProxy("testPassed2", testsSuite);
339 testPassed2.setStarted();
340 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testPassed2);
341 assertEquals(testPassed2, mySelectedTestProxy);
343 testPassed2.setFinished();
344 //myUIActionsHandler.onTestFinished(testPassed2);
345 assertEquals(testPassed2, mySelectedTestProxy);
348 //failed test 2
349 final SMTestProxy testFailed2 = createTestProxy("testFailed2", testsSuite);
350 testFailed2.setStarted();
351 myUIActionsHandler.onTestNodeAdded(myResultsViewer, testFailed2);
352 assertEquals(testFailed2, mySelectedTestProxy);
353 final SMTestProxy lastSelectedTest = testFailed2;
355 testFailed2.setTestFailed("", "", false);
356 //myUIActionsHandler.onTestFinished(testFailed2);
357 assertEquals(lastSelectedTest, mySelectedTestProxy);
359 // finish suite
360 testsSuite.setFinished();
361 assertEquals(lastSelectedTest, mySelectedTestProxy);
363 // root suite finished
364 mySuite.setFinished();
365 assertEquals(lastSelectedTest, mySelectedTestProxy);
367 //testing finished
368 myUIActionsHandler.onTestingFinished(myResultsViewer);
369 assertEquals(lastSelectedTest, mySelectedTestProxy);