ceki 2003/09/11 09:06:28
Added: tests/src/java/org/apache/joran PatternTest.java
SimpleStoreTest.java JoranParserTest.java
Removed: tests/src/java/org/apache/joran JoranParserTestCase.java
SimpleStoreTestCase.java PatternTestCase.java
Log:
Changed names XTesCase to XTest as seems to be customary for Junit test cases
Revision Changes Path
1.1 jakarta-log4j/tests/src/java/org/apache/joran/PatternTest.java
Index: PatternTest.java
===================================================================
/*
* Created on Aug 25, 2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package org.apache.joran;
import junit.framework.TestCase;
/**
* @author ceki
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class PatternTest extends TestCase {
/**
* Constructor for PatternTestCase.
* @param name
*/
public PatternTest(String name) {
super(name);
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
}
public void test1() {
Pattern p = new Pattern("a");
assertEquals(1, p.size());
assertEquals("a", p.get(0));
}
public void test2() {
Pattern p = new Pattern("a/b");
assertEquals(2, p.size());
assertEquals("a", p.get(0));
assertEquals("b", p.get(1));
}
public void test3() {
Pattern p = new Pattern("a123/b1234/cvvsdf");
assertEquals(3, p.size());
assertEquals("a123", p.get(0));
assertEquals("b1234", p.get(1));
assertEquals("cvvsdf", p.get(2));
}
public void test4() {
Pattern p = new Pattern("/a123/b1234/cvvsdf");
assertEquals(3, p.size());
assertEquals("a123", p.get(0));
assertEquals("b1234", p.get(1));
assertEquals("cvvsdf", p.get(2));
}
public void test5() {
Pattern p = new Pattern("//a");
assertEquals(1, p.size());
assertEquals("a", p.get(0));
}
public void test6() {
Pattern p = new Pattern("//a//b");
assertEquals(2, p.size());
assertEquals("a", p.get(0));
assertEquals("b", p.get(1));
}
}
1.1
jakarta-log4j/tests/src/java/org/apache/joran/SimpleStoreTest.java
Index: SimpleStoreTest.java
===================================================================
/*
* ============================================================================
* The Apache Software License, Version 1.1
* ============================================================================
*
* Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modifica-
* tion, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. The end-user documentation included with the redistribution, if any, must
* include the following acknowledgment: "This product includes software
* developed by the Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself, if
* and wherever such third-party acknowledgments normally appear.
*
* 4. The names "log4j" and "Apache Software Foundation" must not be used to
* endorse or promote products derived from this software without prior
* written permission. For written permission, please contact
* [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache", nor may
* "Apache" appear in their name, without prior written permission of the
* Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
* DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* on behalf of the Apache Software Foundation. For more information on the
* Apache Software Foundation, please see <http://www.apache.org/>.
*
*/
/*
* Created on Aug 25, 2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package org.apache.joran;
import org.apache.joran.action.Action;
import junit.framework.TestCase;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
/**
* @author ceki
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class SimpleStoreTest extends TestCase {
/**
* Constructor for SimpleStoreTestCase.
* @param name
*/
public SimpleStoreTest(String name) {
super(name);
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
}
public void test1() throws Exception {
//Document doc = getW3Document("file:input/joran/parser1.xml");
SimpleRuleStore srs = new SimpleRuleStore();
srs.addRule(new Pattern("a/b"), new XAction());
List r = srs.matchActions(new Pattern("a/b"));
assertNotNull(r);
assertEquals(1, r.size());
if (!(r.get(0) instanceof XAction)) {
fail("Wring type");
}
srs = new SimpleRuleStore();
srs.addRule(new Pattern("a/b"), new XAction());
srs.addRule(new Pattern("a/b"), new YAction());
r = srs.matchActions(new Pattern("a/b"));
assertNotNull(r);
assertEquals(2, r.size());
if (!(r.get(0) instanceof XAction)) {
fail("Wrong type");
}
if (!(r.get(1) instanceof YAction)) {
fail("Wrong type");
}
//jp.parse(doc);
}
public void test2() throws Exception {
SimpleRuleStore srs = new SimpleRuleStore();
srs.addRule(new Pattern("*/b"), new XAction());
List r = srs.matchActions(new Pattern("a/b"));
assertNotNull(r);
//System.out.println(r);
assertEquals(1, r.size());
if (!(r.get(0) instanceof XAction)) {
fail("Wring type");
}
}
public void test3() throws Exception {
SimpleRuleStore srs = new SimpleRuleStore();
srs.addRule(new Pattern("*/b"), new XAction());
srs.addRule(new Pattern("*/a/b"), new YAction());
List r = srs.matchActions(new Pattern("a/b"));
assertNotNull(r);
//System.out.println("restulg list is: "+r);
assertEquals(1, r.size());
if (!(r.get(0) instanceof YAction)) {
fail("Wring type");
}
}
public void test4() throws Exception {
SimpleRuleStore srs = new SimpleRuleStore();
srs.addRule(new Pattern("*/b"), new XAction());
srs.addRule(new Pattern("*/a/b"), new YAction());
srs.addRule(new Pattern("a/b"), new ZAction());
List r = srs.matchActions(new Pattern("a/b"));
assertNotNull(r);
//System.out.println("restulg list is: "+r);
assertEquals(1, r.size());
if (!(r.get(0) instanceof ZAction)) {
fail("Wring type");
}
}
Document getW3Document(String file) throws Exception {
DocumentBuilderFactory dbf = null;
dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
//inputSource.setSystemId("dummy://log4j.dtd");
return docBuilder.parse(file);
}
class XAction extends Action {
public void begin(ExecutionContext ec, Element e) {
}
public void end(ExecutionContext ec, Element e) {
}
public void finish(ExecutionContext ec) {
}
}
class YAction extends Action {
public void begin(ExecutionContext ec, Element e) {
}
public void end(ExecutionContext ec, Element e) {
}
public void finish(ExecutionContext ec) {
} }
class ZAction extends Action {
public void begin(ExecutionContext ec, Element e) {
}
public void end(ExecutionContext ec, Element e) {
}
public void finish(ExecutionContext ec) {
} }
}
1.1
jakarta-log4j/tests/src/java/org/apache/joran/JoranParserTest.java
Index: JoranParserTest.java
===================================================================
/*
* Created on Aug 24, 2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package org.apache.joran;
import java.util.HashMap;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.joran.action.ActionConst;
import org.apache.joran.action.AppenderAction;
import org.apache.joran.action.AppenderRefAction;
import org.apache.joran.action.LevelAction;
import org.apache.joran.action.LoggerAction;
import org.apache.joran.action.ParamAction;
import org.apache.joran.action.RootLoggerAction;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.w3c.dom.Document;
import junit.framework.TestCase;
/**
* @author ceki
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class JoranParserTest extends TestCase {
final static Logger logger = Logger.getLogger(JoranParserTest.class);
/**
* Constructor for JoranParserTestCase.
* @param name
*/
public JoranParserTest(String name) {
super(name);
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
Logger root = Logger.getRootLogger();
root.addAppender(
new ConsoleAppender(
new PatternLayout("%r %5p [%t] %c{2} -
%m%n")));
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
LogManager.shutdown();
}
public void testLoop() throws Exception {
logger.debug("Starting testLoop");
DocumentBuilderFactory dbf = null;
dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
//inputSource.setSystemId("dummy://log4j.dtd");
Document doc = docBuilder.parse("file:input/joran/parser1.xml");
RuleStore rs = new SimpleRuleStore();
logger.debug("pattern: "+new Pattern("log4j:configuration/logger"));
rs.addRule(new Pattern("log4j:configuration/logger"), new LoggerAction());
rs.addRule(new Pattern("log4j:configuration/logger/level"), new
LevelAction());
rs.addRule(new Pattern("log4j:configuration/root"), new
RootLoggerAction());
rs.addRule(new Pattern("log4j:configuration/root"), new
RootLoggerAction());
JoranParser jp = new JoranParser(rs);
ExecutionContext ec = jp.getExecutionContext();
HashMap omap = ec.getObjectMap();
omap.put(ActionConst.APPENDER_BAG, new HashMap());
ec.pushObject(LogManager.getLoggerRepository());
jp.parse(doc);
}
public void testLoop2() throws Exception {
logger.debug("Starting testLoop");
DocumentBuilderFactory dbf = null;
dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
//inputSource.setSystemId("dummy://log4j.dtd");
Document doc =
docBuilder.parse("file:input/joran/parser2.xml");
RuleStore rs = new SimpleRuleStore();
logger.debug("pattern: "+new
Pattern("log4j:configuration/logger"));
rs.addRule(new Pattern("log4j:configuration/logger"), new
LoggerAction());
rs.addRule(new Pattern("log4j:configuration/logger/level"),
new LevelAction());
rs.addRule(new Pattern("log4j:configuration/root"), new
RootLoggerAction());
rs.addRule(new Pattern("log4j:configuration/root"), new
RootLoggerAction());
rs.addRule(new Pattern("log4j:configuration/logger/appender-ref"),
new AppenderRefAction());
rs.addRule(new Pattern("log4j:configuration/root/appender-ref"),
new AppenderRefAction());
rs.addRule(new Pattern("log4j:configuration/appender"), new
AppenderAction());
rs.addRule(new Pattern("*/param"), new ParamAction());
JoranParser jp = new JoranParser(rs);
ExecutionContext ec = jp.getExecutionContext();
HashMap omap = ec.getObjectMap();
omap.put(ActionConst.APPENDER_BAG, new HashMap());
ec.pushObject(LogManager.getLoggerRepository());
jp.parse(doc);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]