01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: *
17: */
18:
19: package org.apache.tools.ant.taskdefs.optional.junit;
20:
21: import org.apache.tools.ant.BuildFileTest;
22:
23: public class JUnitTestListenerTest extends BuildFileTest {
24:
25: // The captureToSummary test writes to stdout and stderr, good for
26: // verifying that the TestListener support doesn't break anything.
27: private static final String PASS_TEST_TARGET = "captureToSummary";
28:
29: // testNoCrash is the test invoked by the captureToSummary's junit task
30: private static final String PASS_TEST = "testNoCrash";
31:
32: public JUnitTestListenerTest(String name) {
33: super (name);
34: }
35:
36: public void setUp() {
37: configureProject("src/etc/testcases/taskdefs/optional/junit.xml");
38: }
39:
40: public void testFullLogOutput() {
41: executeTarget(PASS_TEST_TARGET);
42: assertTrue("expecting full log to have BuildListener events",
43: hasBuildListenerEvents(getFullLog()));
44: }
45:
46: public void testNoLogOutput() {
47: executeTarget(PASS_TEST_TARGET);
48: assertFalse("expecting log to not have BuildListener events",
49: hasBuildListenerEvents(getLog()));
50: }
51:
52: public void testTestCountFired() {
53: executeTarget(PASS_TEST_TARGET);
54: assertTrue("expecting test count message",
55: hasEventMessage(JUnitTask.TESTLISTENER_PREFIX
56: + "tests to run: "));
57: }
58:
59: public void testStartTestFired() {
60: executeTarget(PASS_TEST_TARGET);
61: assertTrue("expecting test started message",
62: hasEventMessage(JUnitTask.TESTLISTENER_PREFIX
63: + "startTest(" + PASS_TEST + ")"));
64: }
65:
66: public void testEndTestFired() {
67: executeTarget(PASS_TEST_TARGET);
68: assertTrue("expecting test ended message",
69: hasEventMessage(JUnitTask.TESTLISTENER_PREFIX
70: + "endTest(" + PASS_TEST + ")"));
71: }
72:
73: private boolean hasBuildListenerEvents(String log) {
74: return log.indexOf(JUnitTask.TESTLISTENER_PREFIX) >= 0;
75: }
76:
77: private boolean hasEventMessage(String eventPrefix) {
78: return getFullLog().indexOf(eventPrefix) >= 0;
79: }
80: }
|