From cefca8f144042e1d522a579f0377e84974ee3fd2 Mon Sep 17 00:00:00 2001 From: Ceki Gulcu Date: Tue, 9 Jun 2009 20:23:38 +0000 Subject: [PATCH] Added a test for testing MultiBinding behaviour. See also bug http://bugzilla.slf4j.org/show_bug.cgi?id=132 --- integration/build.xml | 19 +++++- integration/lib/slf4j-nop-1.5.6.jar | Bin 0 -> 5165 bytes .../test/java/org/slf4j/MultiBindingTest.java | 62 ++++++++++++++++++ .../java/org/slf4j/Pre155VersionTest.java | 24 +++++++ .../test/java/org/slf4j/VersionMatchTest.java | 1 + 5 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 integration/lib/slf4j-nop-1.5.6.jar create mode 100644 integration/src/test/java/org/slf4j/MultiBindingTest.java diff --git a/integration/build.xml b/integration/build.xml index 7b675cd5..a73f9bfd 100644 --- a/integration/build.xml +++ b/integration/build.xml @@ -35,6 +35,15 @@ + + + + + + + + + @@ -47,7 +56,8 @@ + testMatch, + testMultiBinding"> @@ -74,4 +84,11 @@ + + + + + + + \ No newline at end of file diff --git a/integration/lib/slf4j-nop-1.5.6.jar b/integration/lib/slf4j-nop-1.5.6.jar new file mode 100644 index 0000000000000000000000000000000000000000..a9a2cc0b225e7408e4cd9894ad71ffcfd93d1abc GIT binary patch literal 5165 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 J#s%EE`yYkW@eTk0 literal 0 HcmV?d00001 diff --git a/integration/src/test/java/org/slf4j/MultiBindingTest.java b/integration/src/test/java/org/slf4j/MultiBindingTest.java new file mode 100644 index 00000000..f17bd257 --- /dev/null +++ b/integration/src/test/java/org/slf4j/MultiBindingTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2004-2009 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.slf4j; + +import java.io.PrintStream; +import java.util.Random; + +import junit.framework.TestCase; + +public class MultiBindingTest extends TestCase { + + StringPrintStream sps = new StringPrintStream(System.err); + PrintStream old = System.err; + int diff = 1024 + new Random().nextInt(10000); + + public MultiBindingTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + System.setErr(sps); + } + + protected void tearDown() throws Exception { + super.tearDown(); + System.setErr(old); + } + + public void test() throws Exception { + Logger logger = LoggerFactory.getLogger(this.getClass()); + String msg = "hello world " + diff; + logger.info(msg); + assertTrue("number of lines should be greater than 4", sps.stringList + .size() > 4); + String s0 = (String) sps.stringList.get(0); + assertTrue(s0 + .contains("SLF4J: Class path contains multiple SLF4J bindins.")); + } +} diff --git a/integration/src/test/java/org/slf4j/Pre155VersionTest.java b/integration/src/test/java/org/slf4j/Pre155VersionTest.java index 1ab1f38c..f9fd3c38 100644 --- a/integration/src/test/java/org/slf4j/Pre155VersionTest.java +++ b/integration/src/test/java/org/slf4j/Pre155VersionTest.java @@ -1,3 +1,27 @@ +/* + * Copyright (c) 2004-2009 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + package org.slf4j; import java.io.PrintStream; diff --git a/integration/src/test/java/org/slf4j/VersionMatchTest.java b/integration/src/test/java/org/slf4j/VersionMatchTest.java index 5e6ff789..d86884c6 100644 --- a/integration/src/test/java/org/slf4j/VersionMatchTest.java +++ b/integration/src/test/java/org/slf4j/VersionMatchTest.java @@ -1,3 +1,4 @@ + package org.slf4j; import java.io.PrintStream;