Author: bodewig
Date: Mon Jul 4 06:56:09 2005
New Revision: 209080
URL: http://svn.apache.org/viewcvs?rev=209080&view=rev
Log:
logcontains condition - only usable during antunit runs
Added:
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java
(with props)
Modified:
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/antlib.xml
Added:
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java
URL:
http://svn.apache.org/viewcvs/ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java?rev=209080&view=auto
==============================================================================
---
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java
(added)
+++
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java
Mon Jul 4 06:56:09 2005
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2005 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.ant.antunit;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.ProjectComponent;
+import org.apache.tools.ant.taskdefs.Echo;
+import org.apache.tools.ant.taskdefs.condition.Condition;
+
+/**
+ * A condition that tests the log output of the current project for a
+ * given string.
+ */
+public class LogContains extends ProjectComponent implements Condition {
+
+ private String text;
+ private int logLevel = Project.MSG_INFO;
+
+ public void setText(String t) {
+ text = t;
+ }
+
+ public void setLevel(Echo.EchoLevel echoLevel) {
+ logLevel = echoLevel.getLevel();
+ }
+
+ public boolean eval() {
+ if (text == null) {
+ throw new BuildException("the text attribute is required");
+ }
+ Object o = getProject().getReference(LogCapturer.REFERENCE_ID);
+ if (o != null && o instanceof LogCapturer) {
+ LogCapturer c = (LogCapturer) o;
+ String log;
+ switch (logLevel) {
+ case Project.MSG_ERR:
+ log = c.getErrLog();
+ break;
+ case Project.MSG_WARN:
+ log = c.getWarnLog();
+ break;
+ case Project.MSG_INFO:
+ log = c.getInfoLog();
+ break;
+ case Project.MSG_VERBOSE:
+ log = c.getVerboseLog();
+ break;
+ case Project.MSG_DEBUG:
+ log = c.getDebugLog();
+ break;
+
+ default:
+ throw new BuildException("Unknown logLevel: " + logLevel);
+ }
+ return log.indexOf(text) > -1;
+ } else {
+ return false;
+ }
+ }
+}
\ No newline at end of file
Propchange:
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/LogContains.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/antlib.xml
URL:
http://svn.apache.org/viewcvs/ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/antlib.xml?rev=209080&r1=209079&r2=209080&view=diff
==============================================================================
---
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/antlib.xml
(original)
+++
ant/sandbox/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/antlib.xml
Mon Jul 4 06:56:09 2005
@@ -27,6 +27,9 @@
<typedef name="plainlistener"
classname="org.apache.ant.antunit.PlainAntUnitListener"/>
+ <typedef name="logcontains"
+ classname="org.apache.ant.antunit.LogContains"/>
+
<macrodef name="assertFalse">
<attribute name="message" default="Assertion failed"/>
<element name="assertion" implicit="true"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]