From 07cf3c7fa446da330776502fb7cdc7329bfa2265 Mon Sep 17 00:00:00 2001 From: Kevin Cooney Date: Sat, 6 Sep 2014 09:27:19 -0700 Subject: [PATCH 001/436] Remove unnecessary array copy in FailOnTimeout. --- .../runners/statements/FailOnTimeout.java | 64 ++++++------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/src/main/java/org/junit/internal/runners/statements/FailOnTimeout.java b/src/main/java/org/junit/internal/runners/statements/FailOnTimeout.java index 6ce7bebe38fe..6ad76078d298 100644 --- a/src/main/java/org/junit/internal/runners/statements/FailOnTimeout.java +++ b/src/main/java/org/junit/internal/runners/statements/FailOnTimeout.java @@ -3,6 +3,8 @@ import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.util.Arrays; +import java.util.Collections; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; @@ -19,7 +21,6 @@ public class FailOnTimeout extends Statement { private final TimeUnit timeUnit; private final long timeout; private final boolean lookForStuckThread; - private volatile ThreadGroup threadGroup = null; /** * Returns a new builder for building an instance. @@ -115,7 +116,7 @@ public FailOnTimeout build(Statement statement) { public void evaluate() throws Throwable { CallableStatement callable = new CallableStatement(); FutureTask task = new FutureTask(callable); - threadGroup = new ThreadGroup("FailOnTimeoutGroup"); + ThreadGroup threadGroup = new ThreadGroup("FailOnTimeoutGroup"); Thread thread = new Thread(threadGroup, task, "Time-limited test"); thread.setDaemon(true); thread.start(); @@ -158,7 +159,7 @@ private Exception createTimeoutException(Thread thread) { } if (stuckThread != null) { Exception stuckThreadException = - new Exception ("Appears to be stuck in thread " + + new Exception("Appears to be stuck in thread " + stuckThread.getName()); stuckThreadException.setStackTrace(getStackTrace(stuckThread)); return new MultipleFailureException( @@ -193,11 +194,8 @@ private StackTraceElement[] getStackTrace(Thread thread) { * to {@code mainThread}. */ private Thread getStuckThread(Thread mainThread) { - if (threadGroup == null) { - return null; - } - Thread[] threadsInGroup = getThreadArray(threadGroup); - if (threadsInGroup == null) { + List threadsInGroup = getThreadsInGroup(mainThread.getThreadGroup()); + if (threadsInGroup.isEmpty()) { return null; } @@ -224,49 +222,27 @@ private Thread getStuckThread(Thread mainThread) { * Returns all active threads belonging to a thread group. * @param group The thread group. * @return The active threads in the thread group. The result should be a - * complete list of the active threads at some point in time. Returns {@code null} + * complete list of the active threads at some point in time. Returns an empty list * if this cannot be determined, e.g. because new threads are being created at an * extremely fast rate. */ - private Thread[] getThreadArray(ThreadGroup group) { - final int count = group.activeCount(); // this is just an estimate - int enumSize = Math.max(count * 2, 100); - int enumCount; - Thread[] threads; - int loopCount = 0; - while (true) { - threads = new Thread[enumSize]; - enumCount = group.enumerate(threads); - if (enumCount < enumSize) { - break; + private List getThreadsInGroup(ThreadGroup group) { + final int activeThreadCount = group.activeCount(); // this is just an estimate + int threadArraySize = Math.max(activeThreadCount * 2, 100); + for (int loopCount = 0; loopCount < 5; loopCount++) { + Thread[] threads = new Thread[threadArraySize]; + int enumCount = group.enumerate(threads); + if (enumCount < threadArraySize) { + return Arrays.asList(threads).subList(0, enumCount); } // if there are too many threads to fit into the array, enumerate's result // is >= the array's length; therefore we can't trust that it returned all // the threads. Try again. - enumSize += 100; - if (++loopCount >= 5) { - return null; - } - // threads are proliferating too fast for us. Bail before we get into - // trouble. - } - return copyThreads(threads, enumCount); - } - - /** - * Returns an array of the first {@code count} Threads in {@code threads}. - * (Use instead of Arrays.copyOf to maintain compatibility with Java 1.5.) - * @param threads The source array. - * @param count The maximum length of the result array. - * @return The first {@count} (at most) elements of {@code threads}. - */ - private Thread[] copyThreads(Thread[] threads, int count) { - int length = Math.min(count, threads.length); - Thread[] result = new Thread[length]; - for (int i = 0; i < length; i++) { - result[i] = threads[i]; + threadArraySize += 100; } - return result; + // threads are proliferating too fast for us. Bail before we get into + // trouble. + return Collections.emptyList(); } /** @@ -274,7 +250,7 @@ private Thread[] copyThreads(Thread[] threads, int count) { * @param thr The thread to query. * @return The CPU time used by {@code thr}, or 0 if it cannot be determined. */ - private long cpuTime (Thread thr) { + private long cpuTime(Thread thr) { ThreadMXBean mxBean = ManagementFactory.getThreadMXBean(); if (mxBean.isThreadCpuTimeSupported()) { try { From 7216e4bd9eceea0be4813da6520a6fa4ed2e3a2a Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Wed, 30 Jul 2014 00:20:36 +0200 Subject: [PATCH 002/436] Avoid repeated checks. The only check is `assertNoDescendantsHaveCategoryAnnotations`. It checks all descendants. Hence further calls of `assertNoCategorizedDescendentsOfUncategorizeableParents` for each child are redundant, because it has already been checked. --- .../org/junit/experimental/categories/Categories.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/junit/experimental/categories/Categories.java b/src/main/java/org/junit/experimental/categories/Categories.java index 290c1800cbc6..2cee740a6c53 100644 --- a/src/main/java/org/junit/experimental/categories/Categories.java +++ b/src/main/java/org/junit/experimental/categories/Categories.java @@ -339,12 +339,13 @@ private static boolean isAnyExcluded(Class klass) { } private static void assertNoCategorizedDescendentsOfUncategorizeableParents(Description description) throws InitializationError { - if (!canHaveCategorizedChildren(description)) { + if (canHaveCategorizedChildren(description)) { + for (Description each : description.getChildren()) { + assertNoCategorizedDescendentsOfUncategorizeableParents(each); + } + } else { assertNoDescendantsHaveCategoryAnnotations(description); } - for (Description each : description.getChildren()) { - assertNoCategorizedDescendentsOfUncategorizeableParents(each); - } } private static void assertNoDescendantsHaveCategoryAnnotations(Description description) throws InitializationError { From c391c25b230e880289484202f3dc3aa81c373a1c Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Sat, 28 Jun 2014 19:06:51 +0200 Subject: [PATCH 003/436] Remove redundant exception from method signature. A more general exception is already part of the signature. --- src/main/java/org/junit/runners/Parameterized.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/junit/runners/Parameterized.java b/src/main/java/org/junit/runners/Parameterized.java index 829c8f0f15af..3beee123e25f 100644 --- a/src/main/java/org/junit/runners/Parameterized.java +++ b/src/main/java/org/junit/runners/Parameterized.java @@ -13,7 +13,6 @@ import org.junit.runner.Runner; import org.junit.runners.model.FrameworkMethod; -import org.junit.runners.model.InitializationError; import org.junit.runners.model.TestClass; import org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersFactory; import org.junit.runners.parameterized.ParametersRunnerFactory; @@ -303,8 +302,7 @@ private FrameworkMethod getParametersMethod() throws Exception { private List createRunnersForParameters( Iterable allParameters, String namePattern, ParametersRunnerFactory runnerFactory) - throws InitializationError, - Exception { + throws Exception { try { List tests = createTestsForParameters( allParameters, namePattern); From 495a9a93e4a1157e707a01467e7cc3f600c88d19 Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Sun, 29 Jun 2014 01:52:19 +0200 Subject: [PATCH 004/436] Extract class that creates the runners. The new code makes it clear that the Parameterized ruinner is a suite with automatically generated runners for each set of parameters. --- .../java/org/junit/runners/Parameterized.java | 194 +++++++++--------- 1 file changed, 100 insertions(+), 94 deletions(-) diff --git a/src/main/java/org/junit/runners/Parameterized.java b/src/main/java/org/junit/runners/Parameterized.java index 3beee123e25f..3a2285d25a2e 100644 --- a/src/main/java/org/junit/runners/Parameterized.java +++ b/src/main/java/org/junit/runners/Parameterized.java @@ -229,121 +229,127 @@ public class Parameterized extends Suite { Class value() default BlockJUnit4ClassRunnerWithParametersFactory.class; } - private static final ParametersRunnerFactory DEFAULT_FACTORY = new BlockJUnit4ClassRunnerWithParametersFactory(); - - private static final List NO_RUNNERS = Collections.emptyList(); - - private final List runners; - /** * Only called reflectively. Do not use programmatically. */ public Parameterized(Class klass) throws Throwable { - super(klass, NO_RUNNERS); - ParametersRunnerFactory runnerFactory = getParametersRunnerFactory( - klass); - Parameters parameters = getParametersMethod().getAnnotation( - Parameters.class); - runners = Collections.unmodifiableList(createRunnersForParameters( - allParameters(), parameters.name(), runnerFactory)); + super(klass, RunnersFactory.createRunnersForClass(klass)); } - private ParametersRunnerFactory getParametersRunnerFactory(Class klass) - throws InstantiationException, IllegalAccessException { - UseParametersRunnerFactory annotation = klass - .getAnnotation(UseParametersRunnerFactory.class); - if (annotation == null) { - return DEFAULT_FACTORY; - } else { - Class factoryClass = annotation - .value(); - return factoryClass.newInstance(); + private static class RunnersFactory { + private static final ParametersRunnerFactory DEFAULT_FACTORY = new BlockJUnit4ClassRunnerWithParametersFactory(); + + private final TestClass testClass; + + static List createRunnersForClass(Class klass) + throws Throwable { + return new RunnersFactory(klass).createRunners(); } - } - @Override - protected List getChildren() { - return runners; - } + private RunnersFactory(Class klass) { + testClass = new TestClass(klass); + } - private TestWithParameters createTestWithNotNormalizedParameters( - String pattern, int index, Object parametersOrSingleParameter) { - Object[] parameters= (parametersOrSingleParameter instanceof Object[]) ? (Object[]) parametersOrSingleParameter - : new Object[] { parametersOrSingleParameter }; - return createTestWithParameters(getTestClass(), pattern, index, - parameters); - } + private List createRunners() throws Throwable { + Parameters parameters = getParametersMethod().getAnnotation( + Parameters.class); + return Collections.unmodifiableList(createRunnersForParameters( + allParameters(), parameters.name(), + getParametersRunnerFactory())); + } - @SuppressWarnings("unchecked") - private Iterable allParameters() throws Throwable { - Object parameters = getParametersMethod().invokeExplosively(null); - if (parameters instanceof Iterable) { - return (Iterable) parameters; - } else if (parameters instanceof Object[]) { - return Arrays.asList((Object[]) parameters); - } else { - throw parametersMethodReturnedWrongType(); + private ParametersRunnerFactory getParametersRunnerFactory() + throws InstantiationException, IllegalAccessException { + UseParametersRunnerFactory annotation = testClass + .getAnnotation(UseParametersRunnerFactory.class); + if (annotation == null) { + return DEFAULT_FACTORY; + } else { + Class factoryClass = annotation + .value(); + return factoryClass.newInstance(); + } } - } - private FrameworkMethod getParametersMethod() throws Exception { - List methods = getTestClass().getAnnotatedMethods( - Parameters.class); - for (FrameworkMethod each : methods) { - if (each.isStatic() && each.isPublic()) { - return each; + private TestWithParameters createTestWithNotNormalizedParameters( + String pattern, int index, Object parametersOrSingleParameter) { + Object[] parameters = (parametersOrSingleParameter instanceof Object[]) ? (Object[]) parametersOrSingleParameter + : new Object[] { parametersOrSingleParameter }; + return createTestWithParameters(testClass, pattern, index, + parameters); + } + + @SuppressWarnings("unchecked") + private Iterable allParameters() throws Throwable { + Object parameters = getParametersMethod().invokeExplosively(null); + if (parameters instanceof Iterable) { + return (Iterable) parameters; + } else if (parameters instanceof Object[]) { + return Arrays.asList((Object[]) parameters); + } else { + throw parametersMethodReturnedWrongType(); } } - throw new Exception("No public static parameters method on class " - + getTestClass().getName()); - } + private FrameworkMethod getParametersMethod() throws Exception { + List methods = testClass + .getAnnotatedMethods(Parameters.class); + for (FrameworkMethod each : methods) { + if (each.isStatic() && each.isPublic()) { + return each; + } + } + + throw new Exception("No public static parameters method on class " + + testClass.getName()); + } - private List createRunnersForParameters( - Iterable allParameters, String namePattern, - ParametersRunnerFactory runnerFactory) - throws Exception { - try { - List tests = createTestsForParameters( - allParameters, namePattern); - List runners = new ArrayList(); - for (TestWithParameters test : tests) { - runners.add(runnerFactory - .createRunnerForTestWithParameters(test)); + private List createRunnersForParameters( + Iterable allParameters, String namePattern, + ParametersRunnerFactory runnerFactory) throws Exception { + try { + List tests = createTestsForParameters( + allParameters, namePattern); + List runners = new ArrayList(); + for (TestWithParameters test : tests) { + runners.add(runnerFactory + .createRunnerForTestWithParameters(test)); + } + return runners; + } catch (ClassCastException e) { + throw parametersMethodReturnedWrongType(); } - return runners; - } catch (ClassCastException e) { - throw parametersMethodReturnedWrongType(); } - } - private List createTestsForParameters( - Iterable allParameters, String namePattern) - throws Exception { - int i = 0; - List children = new ArrayList(); - for (Object parametersOfSingleTest : allParameters) { - children.add(createTestWithNotNormalizedParameters(namePattern, - i++, parametersOfSingleTest)); + private List createTestsForParameters( + Iterable allParameters, String namePattern) + throws Exception { + int i = 0; + List children = new ArrayList(); + for (Object parametersOfSingleTest : allParameters) { + children.add(createTestWithNotNormalizedParameters(namePattern, + i++, parametersOfSingleTest)); + } + return children; } - return children; - } - private Exception parametersMethodReturnedWrongType() throws Exception { - String className = getTestClass().getName(); - String methodName = getParametersMethod().getName(); - String message = MessageFormat.format( - "{0}.{1}() must return an Iterable of arrays.", - className, methodName); - return new Exception(message); - } + private Exception parametersMethodReturnedWrongType() throws Exception { + String className = testClass.getName(); + String methodName = getParametersMethod().getName(); + String message = MessageFormat.format( + "{0}.{1}() must return an Iterable of arrays.", className, + methodName); + return new Exception(message); + } - private static TestWithParameters createTestWithParameters( - TestClass testClass, String pattern, int index, Object[] parameters) { - String finalPattern = pattern.replaceAll("\\{index\\}", - Integer.toString(index)); - String name = MessageFormat.format(finalPattern, parameters); - return new TestWithParameters("[" + name + "]", testClass, - Arrays.asList(parameters)); + private TestWithParameters createTestWithParameters( + TestClass testClass, String pattern, int index, + Object[] parameters) { + String finalPattern = pattern.replaceAll("\\{index\\}", + Integer.toString(index)); + String name = MessageFormat.format(finalPattern, parameters); + return new TestWithParameters("[" + name + "]", testClass, + Arrays.asList(parameters)); + } } } From 102ebee6f111bef7bf36442a0defb756faffa312 Mon Sep 17 00:00:00 2001 From: "CloudBees DEV@Cloud" Date: Thu, 4 Dec 2014 11:13:58 -0500 Subject: [PATCH 005/436] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 799cb9bed88c..f8b14043ad44 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ junit junit - 4.12 + 4.13-SNAPSHOT JUnit JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck. @@ -72,7 +72,7 @@ scm:git:git://github.com/junit-team/junit.git scm:git:git@github.com:junit-team/junit.git http://github.com/junit-team/junit/tree/master - r4.12 + HEAD github From 3867a7360533cb0fd90a50adb5864bab14ecb425 Mon Sep 17 00:00:00 2001 From: Kevin Cooney Date: Thu, 4 Dec 2014 09:13:13 -0800 Subject: [PATCH 006/436] Add pull request #1013 to the release notes. --- doc/ReleaseNotes4.12.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/ReleaseNotes4.12.md b/doc/ReleaseNotes4.12.md index db5197f02f80..c1651039d19f 100644 --- a/doc/ReleaseNotes4.12.md +++ b/doc/ReleaseNotes4.12.md @@ -155,6 +155,13 @@ thrown.reportMissingExceptionWithMessage("FAIL: Expected exception to be thrown" If a custom failure message is not provided, a default message is used. +### [Pull request #1013:](https://github.com/junit-team/junit/pull/1013) Make ErrorCollector#checkSucceeds generic + +The method `ErrorCollector.checkSucceeds()` is now generic. Previously, you could only pass +in a `Callable` and it returned `Object`. You can now pass any `Callable` and the +return type will match the type of the callable. + + # Timeout for Tests *See also [Timeout for tests](https://github.com/junit-team/junit/wiki/Timeout-for-tests)* From bd5b90f75908b7a3ed074a7be29823170f008fb4 Mon Sep 17 00:00:00 2001 From: Peter Wright Date: Mon, 1 Dec 2014 21:53:18 +0000 Subject: [PATCH 007/436] Add BlockJUnit4ClassRunner#createTest(method) This allows extensions of BlockJUnit4ClassRunner to provide a custom instance of the test for each FrameworkMethod invocation. Two tests show that: 1. createTest(FrameworkMethod) can be overridden successfully 2. createTest() is called by default by createTest(FrameworkMethod) Fixes #1036. Closes #1037. --- .../junit/runners/BlockJUnit4ClassRunner.java | 14 ++- .../BlockJUnit4ClassRunnerOverrideTest.java | 85 +++++++++++++++++++ 2 files changed, 96 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java index 4d06199164e8..f9b418911fad 100644 --- a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java +++ b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java @@ -217,6 +217,14 @@ protected Object createTest() throws Exception { return getTestClass().getOnlyConstructor().newInstance(); } + /** + * Returns a new fixture to run a particular test {@code method} against. + * Default implementation executes the no-argument {@link #createTest()} method. + */ + protected Object createTest(FrameworkMethod method) throws Exception { + return createTest(); + } + /** * Returns the name that describes {@code method} for {@link Description}s. * Default implementation is the method's name @@ -232,7 +240,7 @@ protected String testName(FrameworkMethod method) { * Here is an outline of the default implementation: * *
    - *
  • Invoke {@code method} on the result of {@code createTest()}, and + *
  • Invoke {@code method} on the result of {@link #createTest(org.junit.runners.model.FrameworkMethod)}, and * throw any exceptions thrown by either operation. *
  • HOWEVER, if {@code method}'s {@code @Test} annotation has the {@code * expecting} attribute, return normally only if the previous step threw an @@ -257,13 +265,13 @@ protected String testName(FrameworkMethod method) { * This can be overridden in subclasses, either by overriding this method, * or the implementations creating each sub-statement. */ - protected Statement methodBlock(FrameworkMethod method) { + protected Statement methodBlock(final FrameworkMethod method) { Object test; try { test = new ReflectiveCallable() { @Override protected Object runReflectiveCall() throws Throwable { - return createTest(); + return createTest(method); } }.run(); } catch (Throwable e) { diff --git a/src/test/java/org/junit/tests/experimental/rules/BlockJUnit4ClassRunnerOverrideTest.java b/src/test/java/org/junit/tests/experimental/rules/BlockJUnit4ClassRunnerOverrideTest.java index 5a6274813ae3..9dd0f719969e 100644 --- a/src/test/java/org/junit/tests/experimental/rules/BlockJUnit4ClassRunnerOverrideTest.java +++ b/src/test/java/org/junit/tests/experimental/rules/BlockJUnit4ClassRunnerOverrideTest.java @@ -2,6 +2,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; import static org.junit.experimental.results.PrintableResult.testResult; import static org.junit.experimental.results.ResultMatchers.isSuccessful; @@ -89,4 +90,88 @@ public static class OverrideTestRulesTest extends OverrideRulesTest { public void overrideTestRulesMethod() { assertThat(testResult(OverrideRulesTest.class), isSuccessful()); } + + + /** + * Runner for testing override of {@link org.junit.runners.BlockJUnit4ClassRunner#createTest(org.junit.runners.model.FrameworkMethod)} + * by setting the {@link org.junit.runners.model.FrameworkMethod} in a field + * of the test class so it can be compared with the test method that is being + * executed. + */ + public static class OverrideCreateTestRunner extends BlockJUnit4ClassRunner { + public OverrideCreateTestRunner(final Class klass) throws InitializationError { + super(klass); + + assert(klass.equals(OverrideCreateTest.class)); + } + + @Override + protected Object createTest(FrameworkMethod method) { + final OverrideCreateTest obj = new OverrideCreateTest(); + + obj.method = method; + + return obj; + } + } + + @RunWith(OverrideCreateTestRunner.class) + public static class OverrideCreateTest { + public FrameworkMethod method; + + @Test + public void testMethodA() { + assertEquals("testMethodA", method.getMethod().getName()); + } + + @Test + public void testMethodB() { + assertEquals("testMethodB", method.getMethod().getName()); + } + } + + @Test + public void overrideCreateTestMethod() { + assertThat(testResult(OverrideCreateTest.class), isSuccessful()); + } + + + /** + * Runner for testing override of {@link org.junit.runners.BlockJUnit4ClassRunner#createTest()} + * is still called by default if no other {@code createTest} method override + * is in place. This is tested by setting a boolean flag in a field of the + * test class so it can be checked to confirm that the createTest method was + * called. + */ + public static class CreateTestDefersToNoArgCreateTestRunner extends BlockJUnit4ClassRunner { + public CreateTestDefersToNoArgCreateTestRunner(final Class klass) throws InitializationError { + super(klass); + + assert(klass.equals(CreateTestDefersToNoArgCreateTestTest.class)); + } + + @Override + protected Object createTest() { + final CreateTestDefersToNoArgCreateTestTest obj = new CreateTestDefersToNoArgCreateTestTest(); + + obj.createTestCalled = true; + + return obj; + } + } + + @RunWith(CreateTestDefersToNoArgCreateTestRunner.class) + public static class CreateTestDefersToNoArgCreateTestTest { + public boolean createTestCalled = false; + + @Test + public void testCreateTestCalled() { + assertEquals(true, createTestCalled); + } + } + + @Test + public void createTestDefersToNoArgCreateTest() { + assertThat(testResult(CreateTestDefersToNoArgCreateTestTest.class), isSuccessful()); + } } From 270eabab180adafc3a4aab923b14d5811ee563e9 Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Tue, 9 Dec 2014 07:58:31 +0100 Subject: [PATCH 008/436] Update plugins to current versions. maven-compiler-plugin .................................... 3.1 -> 3.2 maven-jar-plugin ......................................... 2.4 -> 2.5 maven-javadoc-plugin ................................ 2.9.1 -> 2.10.1 maven-release-plugin ................................... 2.5 -> 2.5.1 maven-site-plugin ........................................ 3.3 -> 3.4 maven-source-plugin .................................... 2.2.1 -> 2.4 maven-surefire-plugin .................................. 2.17 -> 2.18 org.codehaus.mojo:animal-sniffer-maven-plugin .......... 1.11 -> 1.13 --- pom.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index f8b14043ad44..a88c18878336 100644 --- a/pom.xml +++ b/pom.xml @@ -211,7 +211,7 @@ java compiler plugin forked in extra process --> maven-compiler-plugin - 3.1 + 3.2 ${project.build.sourceEncoding} ${jdkVersion} @@ -232,7 +232,7 @@ org.codehaus.mojo animal-sniffer-maven-plugin - 1.11 + 1.13 signature-check @@ -256,7 +256,7 @@ our junit suite "AllTests" after the sources are compiled. --> maven-surefire-plugin - 2.17 + 2.18 org/junit/tests/AllTests.java true @@ -269,7 +269,7 @@ in to jar archive. See target/junit-*-sources.jar. --> maven-source-plugin - 2.2.1 + 2.4 maven-javadoc-plugin - 2.9.1 + 2.10.1 ${basedir}/src/main/javadoc/stylesheet.css protected @@ -311,7 +311,7 @@ maven-release-plugin - 2.5 + 2.5.1 forked-path false @@ -321,7 +321,7 @@ maven-site-plugin - 3.3 + 3.4 com.github.stephenc.wagon @@ -337,7 +337,7 @@ maven-jar-plugin - 2.4 + 2.5 false @@ -381,7 +381,7 @@ maven-javadoc-plugin - 2.9.1 + 2.10.1 javadoc/latest ${basedir}/src/main/javadoc/stylesheet.css @@ -540,7 +540,7 @@ org.apache.maven.surefire surefire-junit47 - 2.17 + 2.18 From 87b4aceb6b588104dec62628ce656254c1d13222 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 7 Dec 2014 20:14:41 +0100 Subject: [PATCH 009/436] Add resource source folders to Eclipse project --- .classpath | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.classpath b/.classpath index c98259118ee0..f648ca63c5ff 100644 --- a/.classpath +++ b/.classpath @@ -2,6 +2,8 @@ + + From 4b79be8b3a3d6afdf5e79c89c4a83077b86d5929 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 7 Dec 2014 20:23:02 +0100 Subject: [PATCH 010/436] Add missing tests to AllTests --- src/test/java/org/junit/tests/AllTests.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/junit/tests/AllTests.java b/src/test/java/org/junit/tests/AllTests.java index 00c259b77320..8acb1eef6ed2 100644 --- a/src/test/java/org/junit/tests/AllTests.java +++ b/src/test/java/org/junit/tests/AllTests.java @@ -2,6 +2,7 @@ import junit.framework.JUnit4TestAdapter; import junit.framework.Test; +import junit.samples.money.MoneyTest; import org.junit.AssumptionViolatedExceptionTest; import org.junit.experimental.categories.CategoryFilterFactoryTest; import org.junit.internal.MethodSorterTest; @@ -37,8 +38,10 @@ import org.junit.tests.experimental.MatcherTest; import org.junit.tests.experimental.categories.CategoriesAndParameterizedTest; import org.junit.tests.experimental.categories.CategoryTest; +import org.junit.tests.experimental.categories.CategoryValidatorTest; import org.junit.tests.experimental.categories.JavadocTest; import org.junit.tests.experimental.categories.MultiCategoryTest; +import org.junit.tests.experimental.max.DescriptionTest; import org.junit.tests.experimental.max.JUnit38SortingTest; import org.junit.tests.experimental.max.MaxStarterTest; import org.junit.tests.experimental.parallel.ParallelClassTest; @@ -54,19 +57,25 @@ import org.junit.tests.experimental.rules.TempFolderRuleTest; import org.junit.tests.experimental.rules.TemporaryFolderUsageTest; import org.junit.tests.experimental.rules.TestRuleTest; +import org.junit.tests.experimental.rules.TestWatcherTest; import org.junit.tests.experimental.rules.TimeoutRuleTest; import org.junit.tests.experimental.rules.VerifierRuleTest; import org.junit.tests.experimental.theories.TestedOnSupplierTest; import org.junit.tests.experimental.theories.internal.AllMembersSupplierTest; import org.junit.tests.experimental.theories.internal.ParameterizedAssertionErrorTest; import org.junit.tests.experimental.theories.internal.SpecificDataPointsSupplierTest; +import org.junit.tests.experimental.theories.runner.FailingDataPointMethods; import org.junit.tests.experimental.theories.runner.TheoriesPerformanceTest; +import org.junit.tests.experimental.theories.runner.TypeMatchingBetweenMultiDataPointsMethod; import org.junit.tests.experimental.theories.runner.WithAutoGeneratedDataPoints; import org.junit.tests.experimental.theories.runner.WithDataPointMethod; import org.junit.tests.experimental.theories.runner.WithNamedDataPoints; +import org.junit.tests.experimental.theories.runner.WithParameterSupplier; +import org.junit.tests.internal.runners.ErrorReportingRunnerTest; import org.junit.tests.internal.runners.statements.FailOnTimeoutTest; import org.junit.tests.junit3compatibility.AllTestsTest; import org.junit.tests.junit3compatibility.ClassRequestTest; +import org.junit.tests.junit3compatibility.ForwardCompatibilityPrintingTest; import org.junit.tests.junit3compatibility.ForwardCompatibilityTest; import org.junit.tests.junit3compatibility.InitializationErrorForwardCompatibilityTest; import org.junit.tests.junit3compatibility.JUnit38ClassRunnerTest; @@ -212,7 +221,17 @@ ParameterizedNamesTest.class, PublicClassValidatorTest.class, DisableOnDebugTest.class, - ThrowableCauseMatcherTest.class + ThrowableCauseMatcherTest.class, + TestWatcherTest.class, + WithParameterSupplier.class, + FailingDataPointMethods.class, + TypeMatchingBetweenMultiDataPointsMethod.class, + TheoriesPerformanceTest.class, + MoneyTest.class, + CategoryValidatorTest.class, + ForwardCompatibilityPrintingTest.class, + DescriptionTest.class, + ErrorReportingRunnerTest.class }) public class AllTests { public static Test suite() { From 39d3fd65ab7d3689486427a1cc0ad0cf22dbb6ec Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:02:30 +0100 Subject: [PATCH 011/436] Suppress warnings in junit.* code --- .../java/junit/extensions/TestDecorator.java | 1 + .../junit/framework/ComparisonCompactor.java | 1 + src/main/java/junit/framework/TestCase.java | 39 +------------------ .../junit/tests/extensions/ExtensionTest.java | 2 + .../java/junit/tests/runner/ResultTest.java | 3 ++ 5 files changed, 8 insertions(+), 38 deletions(-) diff --git a/src/main/java/junit/extensions/TestDecorator.java b/src/main/java/junit/extensions/TestDecorator.java index 2b74f3075dc7..a3c5e08c548e 100644 --- a/src/main/java/junit/extensions/TestDecorator.java +++ b/src/main/java/junit/extensions/TestDecorator.java @@ -9,6 +9,7 @@ * test decorators. Test decorator subclasses can be introduced to add behaviour * before or after a test is run. */ +@SuppressWarnings("deprecation") public class TestDecorator extends Assert implements Test { protected Test fTest; diff --git a/src/main/java/junit/framework/ComparisonCompactor.java b/src/main/java/junit/framework/ComparisonCompactor.java index fa20a8e3a075..81ddd5bda514 100644 --- a/src/main/java/junit/framework/ComparisonCompactor.java +++ b/src/main/java/junit/framework/ComparisonCompactor.java @@ -18,6 +18,7 @@ public ComparisonCompactor(int contextLength, String expected, String actual) { fActual = actual; } + @SuppressWarnings("deprecation") public String compact(String message) { if (fExpected == null || fActual == null || areStringsEqual()) { return Assert.format(message, fExpected, fActual); diff --git a/src/main/java/junit/framework/TestCase.java b/src/main/java/junit/framework/TestCase.java index b89ce71a1009..e428570c2358 100644 --- a/src/main/java/junit/framework/TestCase.java +++ b/src/main/java/junit/framework/TestCase.java @@ -73,6 +73,7 @@ * @see TestResult * @see TestSuite */ +@SuppressWarnings("deprecation") public abstract class TestCase extends Assert implements Test { /** * the name of the test case @@ -187,7 +188,6 @@ protected void runTest() throws Throwable { * Asserts that a condition is true. If it isn't it throws * an AssertionFailedError with the given message. */ - @SuppressWarnings("deprecation") public static void assertTrue(String message, boolean condition) { Assert.assertTrue(message, condition); } @@ -196,7 +196,6 @@ public static void assertTrue(String message, boolean condition) { * Asserts that a condition is true. If it isn't it throws * an AssertionFailedError. */ - @SuppressWarnings("deprecation") public static void assertTrue(boolean condition) { Assert.assertTrue(condition); } @@ -205,7 +204,6 @@ public static void assertTrue(boolean condition) { * Asserts that a condition is false. If it isn't it throws * an AssertionFailedError with the given message. */ - @SuppressWarnings("deprecation") public static void assertFalse(String message, boolean condition) { Assert.assertFalse(message, condition); } @@ -214,7 +212,6 @@ public static void assertFalse(String message, boolean condition) { * Asserts that a condition is false. If it isn't it throws * an AssertionFailedError. */ - @SuppressWarnings("deprecation") public static void assertFalse(boolean condition) { Assert.assertFalse(condition); } @@ -222,7 +219,6 @@ public static void assertFalse(boolean condition) { /** * Fails a test with the given message. */ - @SuppressWarnings("deprecation") public static void fail(String message) { Assert.fail(message); } @@ -230,7 +226,6 @@ public static void fail(String message) { /** * Fails a test with no message. */ - @SuppressWarnings("deprecation") public static void fail() { Assert.fail(); } @@ -239,7 +234,6 @@ public static void fail() { * Asserts that two objects are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, Object expected, Object actual) { Assert.assertEquals(message, expected, actual); } @@ -248,7 +242,6 @@ public static void assertEquals(String message, Object expected, Object actual) * Asserts that two objects are equal. If they are not * an AssertionFailedError is thrown. */ - @SuppressWarnings("deprecation") public static void assertEquals(Object expected, Object actual) { Assert.assertEquals(expected, actual); } @@ -256,7 +249,6 @@ public static void assertEquals(Object expected, Object actual) { /** * Asserts that two Strings are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, String expected, String actual) { Assert.assertEquals(message, expected, actual); } @@ -264,7 +256,6 @@ public static void assertEquals(String message, String expected, String actual) /** * Asserts that two Strings are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(String expected, String actual) { Assert.assertEquals(expected, actual); } @@ -274,7 +265,6 @@ public static void assertEquals(String expected, String actual) { * an AssertionFailedError is thrown with the given message. If the expected * value is infinity then the delta value is ignored. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, double expected, double actual, double delta) { Assert.assertEquals(message, expected, actual, delta); } @@ -283,7 +273,6 @@ public static void assertEquals(String message, double expected, double actual, * Asserts that two doubles are equal concerning a delta. If the expected * value is infinity then the delta value is ignored. */ - @SuppressWarnings("deprecation") public static void assertEquals(double expected, double actual, double delta) { Assert.assertEquals(expected, actual, delta); } @@ -293,7 +282,6 @@ public static void assertEquals(double expected, double actual, double delta) { * are not an AssertionFailedError is thrown with the given message. If the * expected value is infinity then the delta value is ignored. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, float expected, float actual, float delta) { Assert.assertEquals(message, expected, actual, delta); } @@ -302,7 +290,6 @@ public static void assertEquals(String message, float expected, float actual, fl * Asserts that two floats are equal concerning a delta. If the expected * value is infinity then the delta value is ignored. */ - @SuppressWarnings("deprecation") public static void assertEquals(float expected, float actual, float delta) { Assert.assertEquals(expected, actual, delta); } @@ -311,7 +298,6 @@ public static void assertEquals(float expected, float actual, float delta) { * Asserts that two longs are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, long expected, long actual) { Assert.assertEquals(message, expected, actual); } @@ -319,7 +305,6 @@ public static void assertEquals(String message, long expected, long actual) { /** * Asserts that two longs are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(long expected, long actual) { Assert.assertEquals(expected, actual); } @@ -328,7 +313,6 @@ public static void assertEquals(long expected, long actual) { * Asserts that two booleans are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, boolean expected, boolean actual) { Assert.assertEquals(message, expected, actual); } @@ -336,7 +320,6 @@ public static void assertEquals(String message, boolean expected, boolean actual /** * Asserts that two booleans are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(boolean expected, boolean actual) { Assert.assertEquals(expected, actual); } @@ -345,7 +328,6 @@ public static void assertEquals(boolean expected, boolean actual) { * Asserts that two bytes are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, byte expected, byte actual) { Assert.assertEquals(message, expected, actual); } @@ -353,7 +335,6 @@ public static void assertEquals(String message, byte expected, byte actual) { /** * Asserts that two bytes are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(byte expected, byte actual) { Assert.assertEquals(expected, actual); } @@ -362,7 +343,6 @@ public static void assertEquals(byte expected, byte actual) { * Asserts that two chars are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, char expected, char actual) { Assert.assertEquals(message, expected, actual); } @@ -370,7 +350,6 @@ public static void assertEquals(String message, char expected, char actual) { /** * Asserts that two chars are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(char expected, char actual) { Assert.assertEquals(expected, actual); } @@ -379,7 +358,6 @@ public static void assertEquals(char expected, char actual) { * Asserts that two shorts are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, short expected, short actual) { Assert.assertEquals(message, expected, actual); } @@ -387,7 +365,6 @@ public static void assertEquals(String message, short expected, short actual) { /** * Asserts that two shorts are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(short expected, short actual) { Assert.assertEquals(expected, actual); } @@ -396,7 +373,6 @@ public static void assertEquals(short expected, short actual) { * Asserts that two ints are equal. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertEquals(String message, int expected, int actual) { Assert.assertEquals(message, expected, actual); } @@ -404,7 +380,6 @@ public static void assertEquals(String message, int expected, int actual) { /** * Asserts that two ints are equal. */ - @SuppressWarnings("deprecation") public static void assertEquals(int expected, int actual) { Assert.assertEquals(expected, actual); } @@ -412,7 +387,6 @@ public static void assertEquals(int expected, int actual) { /** * Asserts that an object isn't null. */ - @SuppressWarnings("deprecation") public static void assertNotNull(Object object) { Assert.assertNotNull(object); } @@ -421,7 +395,6 @@ public static void assertNotNull(Object object) { * Asserts that an object isn't null. If it is * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertNotNull(String message, Object object) { Assert.assertNotNull(message, object); } @@ -433,7 +406,6 @@ public static void assertNotNull(String message, Object object) { * * @param object Object to check or null */ - @SuppressWarnings("deprecation") public static void assertNull(Object object) { Assert.assertNull(object); } @@ -442,7 +414,6 @@ public static void assertNull(Object object) { * Asserts that an object is null. If it is not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertNull(String message, Object object) { Assert.assertNull(message, object); } @@ -451,7 +422,6 @@ public static void assertNull(String message, Object object) { * Asserts that two objects refer to the same object. If they are not * an AssertionFailedError is thrown with the given message. */ - @SuppressWarnings("deprecation") public static void assertSame(String message, Object expected, Object actual) { Assert.assertSame(message, expected, actual); } @@ -460,7 +430,6 @@ public static void assertSame(String message, Object expected, Object actual) { * Asserts that two objects refer to the same object. If they are not * the same an AssertionFailedError is thrown. */ - @SuppressWarnings("deprecation") public static void assertSame(Object expected, Object actual) { Assert.assertSame(expected, actual); } @@ -470,7 +439,6 @@ public static void assertSame(Object expected, Object actual) { * refer to the same object an AssertionFailedError is thrown with the * given message. */ - @SuppressWarnings("deprecation") public static void assertNotSame(String message, Object expected, Object actual) { Assert.assertNotSame(message, expected, actual); } @@ -479,27 +447,22 @@ public static void assertNotSame(String message, Object expected, Object actual) * Asserts that two objects do not refer to the same object. If they do * refer to the same object an AssertionFailedError is thrown. */ - @SuppressWarnings("deprecation") public static void assertNotSame(Object expected, Object actual) { Assert.assertNotSame(expected, actual); } - @SuppressWarnings("deprecation") public static void failSame(String message) { Assert.failSame(message); } - @SuppressWarnings("deprecation") public static void failNotSame(String message, Object expected, Object actual) { Assert.failNotSame(message, expected, actual); } - @SuppressWarnings("deprecation") public static void failNotEquals(String message, Object expected, Object actual) { Assert.failNotEquals(message, expected, actual); } - @SuppressWarnings("deprecation") public static String format(String message, Object expected, Object actual) { return Assert.format(message, expected, actual); } diff --git a/src/test/java/junit/tests/extensions/ExtensionTest.java b/src/test/java/junit/tests/extensions/ExtensionTest.java index bfe1eccdd8e9..155a478a4f2c 100644 --- a/src/test/java/junit/tests/extensions/ExtensionTest.java +++ b/src/test/java/junit/tests/extensions/ExtensionTest.java @@ -71,6 +71,7 @@ public void testSetupErrorDontTearDown() { WasRun test = new WasRun(); TornDown wrapper = new TornDown(test) { + @SuppressWarnings("deprecation") @Override public void setUp() { fail(); @@ -87,6 +88,7 @@ public void testSetupErrorInTestSetup() { WasRun test = new WasRun(); TestSetup wrapper = new TestSetup(test) { + @SuppressWarnings("deprecation") @Override public void setUp() { fail(); diff --git a/src/test/java/junit/tests/runner/ResultTest.java b/src/test/java/junit/tests/runner/ResultTest.java index 17204068da40..5cf77435b966 100644 --- a/src/test/java/junit/tests/runner/ResultTest.java +++ b/src/test/java/junit/tests/runner/ResultTest.java @@ -50,6 +50,9 @@ private void assertResultSerializable(Result result) throws IOException, ClassNo * This makes values returned by the methods deterministic. */ private static class ResultWithFixedRunTime extends Result { + + private static final long serialVersionUID = 1L; + private final Result delegate; public ResultWithFixedRunTime(Result delegate) { From b3a5b536d7a3889b33f956b463351edfbc06b80f Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 14 Dec 2014 09:38:41 +0100 Subject: [PATCH 012/436] Add serialver generated serialVersionUID --- .../java/org/junit/internal/runners/rules/ValidationError.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/junit/internal/runners/rules/ValidationError.java b/src/main/java/org/junit/internal/runners/rules/ValidationError.java index d1af8ae7b744..31bd66019e09 100644 --- a/src/main/java/org/junit/internal/runners/rules/ValidationError.java +++ b/src/main/java/org/junit/internal/runners/rules/ValidationError.java @@ -5,6 +5,9 @@ import java.lang.annotation.Annotation; class ValidationError extends Exception { + + private static final long serialVersionUID = 3176511008672645574L; + public ValidationError(FrameworkMember member, Class annotation, String suffix) { super(String.format("The @%s '%s' %s", annotation.getSimpleName(), member.getName(), suffix)); } From 2b6109612b4a70cca1175cb01b0322593647f218 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:04:20 +0100 Subject: [PATCH 013/436] Only AssumptionViolatedException constructors are deprecated --- src/main/java/org/junit/rules/TestWatcher.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/junit/rules/TestWatcher.java b/src/main/java/org/junit/rules/TestWatcher.java index 5492b6bc571b..b790dd304cc1 100644 --- a/src/main/java/org/junit/rules/TestWatcher.java +++ b/src/main/java/org/junit/rules/TestWatcher.java @@ -54,7 +54,7 @@ public void evaluate() throws Throwable { try { base.evaluate(); succeededQuietly(description, errors); - } catch (@SuppressWarnings("deprecation") org.junit.internal.AssumptionViolatedException e) { + } catch (org.junit.internal.AssumptionViolatedException e) { errors.add(e); skippedQuietly(e, description, errors); } catch (Throwable e) { @@ -87,7 +87,6 @@ private void failedQuietly(Throwable e, Description description, } } - @SuppressWarnings("deprecation") private void skippedQuietly( org.junit.internal.AssumptionViolatedException e, Description description, List errors) { @@ -135,7 +134,6 @@ protected void failed(Throwable e, Description description) { /** * Invoked when a test is skipped due to a failed assumption. */ - @SuppressWarnings("deprecation") protected void skipped(AssumptionViolatedException e, Description description) { // For backwards compatibility with JUnit 4.11 and earlier, call the legacy version org.junit.internal.AssumptionViolatedException asInternalException = e; From aacc4438a98ff483b210862b095fbe9e68f30c0d Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:05:54 +0100 Subject: [PATCH 014/436] Remove useless test for @ValidateWith You cannot pass `null` as a class literal: @ValidateWith(null) results in a compiler error. --- .../validator/AnnotationValidatorFactory.java | 3 -- .../AnnotationValidatorFactoryTest.java | 29 ++----------------- 2 files changed, 3 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/junit/validator/AnnotationValidatorFactory.java b/src/main/java/org/junit/validator/AnnotationValidatorFactory.java index 7309fdde6574..fb2460d08fbe 100644 --- a/src/main/java/org/junit/validator/AnnotationValidatorFactory.java +++ b/src/main/java/org/junit/validator/AnnotationValidatorFactory.java @@ -27,9 +27,6 @@ public AnnotationValidator createAnnotationValidator(ValidateWith validateWithAn } Class clazz = validateWithAnnotation.value(); - if (clazz == null) { - throw new IllegalArgumentException("Can't create validator, value is null in annotation " + validateWithAnnotation.getClass().getName()); - } try { AnnotationValidator annotationValidator = clazz.newInstance(); VALIDATORS_FOR_ANNOTATION_TYPES.putIfAbsent(validateWithAnnotation, annotationValidator); diff --git a/src/test/java/org/junit/validator/AnnotationValidatorFactoryTest.java b/src/test/java/org/junit/validator/AnnotationValidatorFactoryTest.java index edab6277c187..4003ff347280 100644 --- a/src/test/java/org/junit/validator/AnnotationValidatorFactoryTest.java +++ b/src/test/java/org/junit/validator/AnnotationValidatorFactoryTest.java @@ -1,14 +1,11 @@ package org.junit.validator; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import java.lang.annotation.Annotation; - import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsInstanceOf.instanceOf; import static org.junit.Assert.assertThat; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; public class AnnotationValidatorFactoryTest { @@ -22,26 +19,6 @@ public void createAnnotationValidator() { assertThat(annotationValidator, is(instanceOf(Validator.class))); } - @Test - public void exceptionWhenAnnotationWithNullClassIsPassedIn() { - exception.expect(IllegalArgumentException.class); - exception.expectMessage("Can't create validator, value is null in " + - "annotation org.junit.validator.AnnotationValidatorFactoryTest$ValidatorWithNullValue"); - - new AnnotationValidatorFactory().createAnnotationValidator(new ValidatorWithNullValue()); - } - - - public static class ValidatorWithNullValue implements ValidateWith { - public Class value() { - return null; - } - - public Class annotationType() { - return ValidateWith.class; - } - } - @ValidateWith(value = Validator.class) public static class SampleTestWithValidator { } From d462bb939b13b0a95a31258eb872a5295d11df76 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:06:32 +0100 Subject: [PATCH 015/436] Fix dead code warnings in recent Eclipse IDEs --- src/test/java/org/junit/tests/assertion/AssertionTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/junit/tests/assertion/AssertionTest.java b/src/test/java/org/junit/tests/assertion/AssertionTest.java index 27b47cd25bd4..32e82cc789e0 100755 --- a/src/test/java/org/junit/tests/assertion/AssertionTest.java +++ b/src/test/java/org/junit/tests/assertion/AssertionTest.java @@ -366,6 +366,7 @@ public void naNsAreEqual() { assertEquals(Double.NaN, Double.NaN, Double.POSITIVE_INFINITY); } + @SuppressWarnings("unused") @Test public void nullNullmessage() { try { @@ -376,6 +377,7 @@ public void nullNullmessage() { } } + @SuppressWarnings("unused") @Test public void nullWithMessage() { try { From 207b0d727d365e90a3f03102c7b483492f5f7154 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:08:10 +0100 Subject: [PATCH 016/436] Ignore deprecation warnings for AssumptionViolatedException --- .../org/junit/tests/experimental/rules/TestWatcherTest.java | 2 ++ .../java/org/junit/tests/running/classes/ParentRunnerTest.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java b/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java index af8f81f5bb77..278cb1ccf597 100644 --- a/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java +++ b/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java @@ -57,6 +57,7 @@ protected void skipped(AssumptionViolatedException e, Description description) { } }; + @SuppressWarnings("deprecation") @Test public void succeeds() { throw new AssumptionViolatedException("don't run"); @@ -80,6 +81,7 @@ protected void skipped(AssumptionViolatedException e, Description description) { } }; + @SuppressWarnings("deprecation") @Test public void fails() { throw new AssumptionViolatedException("test failure"); diff --git a/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java b/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java index 70fe531ec291..cdc326ce4c21 100644 --- a/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java +++ b/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java @@ -175,6 +175,7 @@ public void assertionErrorAtParentLevelTest() throws InitializationError { } public static class AssumptionViolatedAtParentLevelTest { + @SuppressWarnings("deprecation") @BeforeClass public static void beforeClass() { throw new AssumptionViolatedException("Thrown from @BeforeClass"); @@ -207,6 +208,7 @@ public void fail() { @Test public void ignore() {} + @SuppressWarnings("deprecation") @Test public void assumptionFail() { throw new AssumptionViolatedException("Thrown from @Test"); From 3cea4a9e8f196616ceb9f0bdb1755dace92befd2 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:08:38 +0100 Subject: [PATCH 017/436] Remove unused imports --- .../junit/AssumptionViolatedExceptionTest.java | 1 - .../java/org/junit/rules/StopwatchTest.java | 17 ++++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/test/java/org/junit/AssumptionViolatedExceptionTest.java b/src/test/java/org/junit/AssumptionViolatedExceptionTest.java index 18deb9e18367..b082933bc9af 100644 --- a/src/test/java/org/junit/AssumptionViolatedExceptionTest.java +++ b/src/test/java/org/junit/AssumptionViolatedExceptionTest.java @@ -3,7 +3,6 @@ import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; -import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import static org.junit.Assume.assumeThat; import org.hamcrest.Matcher; diff --git a/src/test/java/org/junit/rules/StopwatchTest.java b/src/test/java/org/junit/rules/StopwatchTest.java index deeab3263f37..18893dd99acd 100644 --- a/src/test/java/org/junit/rules/StopwatchTest.java +++ b/src/test/java/org/junit/rules/StopwatchTest.java @@ -1,24 +1,23 @@ package org.junit.rules; +import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; + import java.util.concurrent.TimeUnit; import org.junit.AssumptionViolatedException; import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Stopwatch; import org.junit.runner.Description; import org.junit.runner.JUnitCore; import org.junit.runner.Request; import org.junit.runner.Result; -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; -import static org.junit.Assume.assumeTrue; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.junit.Assert.assertNotEquals; /** * @author tibor17 From ac655968cf324d1ccb7628f92c5facc9430f177e Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:10:28 +0100 Subject: [PATCH 018/436] Add/prevent adding missing type wildcard to Class --- .../builders/AnnotatedBuilderTest.java | 24 +++++++++---------- src/test/java/org/junit/runner/RunnerSpy.java | 8 +++---- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/test/java/org/junit/internal/builders/AnnotatedBuilderTest.java b/src/test/java/org/junit/internal/builders/AnnotatedBuilderTest.java index f937da363379..9879d3a5228d 100644 --- a/src/test/java/org/junit/internal/builders/AnnotatedBuilderTest.java +++ b/src/test/java/org/junit/internal/builders/AnnotatedBuilderTest.java @@ -1,5 +1,9 @@ package org.junit.internal.builders; +import static org.hamcrest.core.Is.is; +import static org.hamcrest.core.IsInstanceOf.instanceOf; +import static org.hamcrest.core.IsNull.nullValue; +import static org.junit.Assert.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runner.Runner; @@ -7,12 +11,6 @@ import org.junit.runners.model.RunnerBuilder; import org.junit.runners.model.RunnerBuilderStub; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsEqual.equalTo; -import static org.hamcrest.core.IsInstanceOf.instanceOf; -import static org.hamcrest.core.IsNull.nullValue; -import static org.junit.Assert.assertThat; - public class AnnotatedBuilderTest { private AnnotatedBuilder builder = new AnnotatedBuilder(new RunnerBuilderStub()); @@ -28,7 +26,7 @@ public void topLevelTestClassWithAnnotation_isRunWithAnnotatedRunner() throws Ex assertThat(runner, is(instanceOf(RunnerSpy.class))); RunnerSpy runnerSpy = (RunnerSpy) runner; - assertThat(runnerSpy.getInvokedTestClass(), is(equalTo((Class) OuterClass.class))); + assertThat(runnerSpy.getInvokedTestClass(), is((Object) OuterClass.class)); } @Test @@ -37,7 +35,7 @@ public void memberClassInsideAnnotatedTopLevelClass_isRunWithTopLevelRunner() th assertThat(runner, is(instanceOf(RunnerSpy.class))); RunnerSpy runnerSpy = (RunnerSpy) runner; - assertThat(runnerSpy.getInvokedTestClass(), is(equalTo((Class) OuterClass.InnerClassWithoutOwnRunWith.class))); + assertThat(runnerSpy.getInvokedTestClass(), is((Object) OuterClass.InnerClassWithoutOwnRunWith.class)); } @Test @@ -46,7 +44,7 @@ public void memberClassDeepInsideAnnotatedTopLevelClass_isRunWithTopLevelRunner( assertThat(runner, is(instanceOf(RunnerSpy.class))); RunnerSpy runnerSpy = (RunnerSpy) runner; - assertThat(runnerSpy.getInvokedTestClass(), is(equalTo((Class) OuterClass.InnerClassWithoutOwnRunWith.MostInnerClass.class))); + assertThat(runnerSpy.getInvokedTestClass(), is((Object) OuterClass.InnerClassWithoutOwnRunWith.MostInnerClass.class)); } @Test @@ -55,7 +53,7 @@ public void annotatedMemberClassInsideAnnotatedTopLevelClass_isRunWithOwnRunner( assertThat(runner, is(instanceOf(InnerRunner.class))); RunnerSpy runnerSpy = (RunnerSpy) runner; - assertThat(runnerSpy.getInvokedTestClass(), is(equalTo((Class) OuterClass.InnerClassWithOwnRunWith.class))); + assertThat(runnerSpy.getInvokedTestClass(), is((Object) OuterClass.InnerClassWithOwnRunWith.class)); } @Test @@ -64,7 +62,7 @@ public void memberClassDeepInsideAnnotatedMemberClass_isRunWithParentMemberClass assertThat(runner, is(instanceOf(InnerRunner.class))); RunnerSpy runnerSpy = (RunnerSpy) runner; - assertThat(runnerSpy.getInvokedTestClass(), is(equalTo((Class) OuterClass.InnerClassWithOwnRunWith.MostInnerClass.class))); + assertThat(runnerSpy.getInvokedTestClass(), is((Object) OuterClass.InnerClassWithOwnRunWith.MostInnerClass.class)); } @RunWith(RunnerSpy.class) @@ -96,11 +94,11 @@ public void test() { } public static class InnerRunner extends RunnerSpy { - public InnerRunner(Class testClass) { + public InnerRunner(Class testClass) { super(testClass); } - public InnerRunner(Class testClass, RunnerBuilder runnerBuilder) { + public InnerRunner(Class testClass, RunnerBuilder runnerBuilder) { super(testClass, runnerBuilder); } } diff --git a/src/test/java/org/junit/runner/RunnerSpy.java b/src/test/java/org/junit/runner/RunnerSpy.java index 5523041ea85b..939cd75b79ea 100644 --- a/src/test/java/org/junit/runner/RunnerSpy.java +++ b/src/test/java/org/junit/runner/RunnerSpy.java @@ -7,13 +7,13 @@ public class RunnerSpy extends Runner { public static final Description DESCRIPTION = Description.TEST_MECHANISM; private RunnerBuilder invokedRunnerBuilder; - private Class invokedTestClass; + private Class invokedTestClass; - public RunnerSpy(Class testClass) { + public RunnerSpy(Class testClass) { invokedTestClass = testClass; } - public RunnerSpy(Class testClass, RunnerBuilder runnerBuilder) { + public RunnerSpy(Class testClass, RunnerBuilder runnerBuilder) { invokedTestClass = testClass; invokedRunnerBuilder = runnerBuilder; } @@ -31,7 +31,7 @@ public RunnerBuilder getInvokedRunnerBuilder() { return invokedRunnerBuilder; } - public Class getInvokedTestClass() { + public Class getInvokedTestClass() { return invokedTestClass; } } \ No newline at end of file From e6f04890312dccafb295fb0a38f441c81c9f137f Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:10:55 +0100 Subject: [PATCH 019/436] Use builder instead of deprecated constructor --- .../runners/statements/FailOnTimeoutTest.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java b/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java index 5320a3b1662a..658e7024126d 100644 --- a/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java +++ b/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java @@ -4,15 +4,16 @@ import static java.lang.Math.atan; import static java.lang.System.currentTimeMillis; import static java.lang.Thread.sleep; +import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.junit.internal.runners.statements.FailOnTimeout.builder; import java.util.concurrent.TimeUnit; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.internal.runners.statements.FailOnTimeout; @@ -24,16 +25,15 @@ * @author Asaf Ary, Stefan Birkner */ public class FailOnTimeoutTest { - private static final int TIMEOUT = 100; - private static final int DURATION_THAT_EXCEEDS_TIMEOUT = 60 * 60 * 1000; //1 hour + private static final long TIMEOUT = 100; + private static final long DURATION_THAT_EXCEEDS_TIMEOUT = TimeUnit.MILLISECONDS.convert(1, TimeUnit.HOURS); @Rule public final ExpectedException thrown = ExpectedException.none(); private final TestStatement statement = new TestStatement(); - private final FailOnTimeout failOnTimeout = new FailOnTimeout(statement, - TIMEOUT); + private final FailOnTimeout failOnTimeout = builder().withTimeout(TIMEOUT, MILLISECONDS).build(statement); @Test public void throwsTestTimedOutException() throws Throwable { @@ -91,14 +91,14 @@ private void evaluateWithException(Exception exception) throws Throwable { failOnTimeout.evaluate(); } - private void evaluateWithWaitDuration(int waitDuration) throws Throwable { + private void evaluateWithWaitDuration(long waitDuration) throws Throwable { statement.nextException = null; statement.waitDuration = waitDuration; failOnTimeout.evaluate(); } private static final class TestStatement extends Statement { - int waitDuration; + long waitDuration; Exception nextException; @@ -114,8 +114,7 @@ public void evaluate() throws Throwable { @Test public void stopEndlessStatement() throws Throwable { InfiniteLoopStatement infiniteLoop = new InfiniteLoopStatement(); - FailOnTimeout infiniteLoopTimeout = new FailOnTimeout(infiniteLoop, - TIMEOUT); + FailOnTimeout infiniteLoopTimeout = builder().withTimeout(TIMEOUT, MILLISECONDS).build(infiniteLoop); try { infiniteLoopTimeout.evaluate(); } catch (Exception timeoutException) { @@ -142,7 +141,7 @@ public void evaluate() throws Throwable { @Test public void stackTraceContainsRealCauseOfTimeout() throws Throwable { StuckStatement stuck = new StuckStatement(); - FailOnTimeout stuckTimeout = new FailOnTimeout(stuck, TIMEOUT); + FailOnTimeout stuckTimeout = builder().withTimeout(TIMEOUT, MILLISECONDS).build(stuck); try { stuckTimeout.evaluate(); // We must not get here, we expect a timeout exception From 430e3669badc46ae9ba97e513ddbd1a88a5b7f14 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:13:20 +0100 Subject: [PATCH 020/436] Suppress SecurityManager deprecation warnings --- src/test/java/org/junit/tests/running/core/MainRunner.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/org/junit/tests/running/core/MainRunner.java b/src/test/java/org/junit/tests/running/core/MainRunner.java index 31f01e8d707e..3068e1432778 100644 --- a/src/test/java/org/junit/tests/running/core/MainRunner.java +++ b/src/test/java/org/junit/tests/running/core/MainRunner.java @@ -39,6 +39,7 @@ public void checkExit(int status) { throw new ExitException(status); } + @SuppressWarnings("deprecation") @Override public boolean getInCheck() { return (originalSecurityManager != null) && originalSecurityManager.getInCheck(); @@ -175,6 +176,7 @@ public void checkMulticast(InetAddress maddr) { } } + @SuppressWarnings("deprecation") @Override public void checkMulticast(InetAddress maddr, byte ttl) { if (originalSecurityManager != null) { From d477277831290221d5e557eb0afe02c483289939 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:14:01 +0100 Subject: [PATCH 021/436] Add missing @Override annotation --- .../java/org/junit/tests/experimental/rules/TestWatcherTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java b/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java index 278cb1ccf597..bae1dc2bd66f 100644 --- a/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java +++ b/src/test/java/org/junit/tests/experimental/rules/TestWatcherTest.java @@ -52,6 +52,7 @@ protected void finished(Description description) { watchedLog.append("finished "); } + @Override protected void skipped(AssumptionViolatedException e, Description description) { watchedLog.append("skipped "); } From 3d535e08126bc515ddcb23e845f5fed121faa470 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:14:25 +0100 Subject: [PATCH 022/436] Remove unnecessary unused suppression --- .../org/junit/runners/parameterized/ParameterizedNamesTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/org/junit/runners/parameterized/ParameterizedNamesTest.java b/src/test/java/org/junit/runners/parameterized/ParameterizedNamesTest.java index d533c6e62e6d..25dedfebda9b 100644 --- a/src/test/java/org/junit/runners/parameterized/ParameterizedNamesTest.java +++ b/src/test/java/org/junit/runners/parameterized/ParameterizedNamesTest.java @@ -19,7 +19,6 @@ public class ParameterizedNamesTest { @RunWith(Parameterized.class) public static class ParametrizedWithSpecialCharsInName { - @SuppressWarnings("unused") public ParametrizedWithSpecialCharsInName(String s) { } From dfbf2ae868049c041c926f2bf2d7633056af5820 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:14:36 +0100 Subject: [PATCH 023/436] Add type wildcard --- .../java/org/junit/tests/running/classes/ParentRunnerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java b/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java index cdc326ce4c21..8ec87a89e474 100644 --- a/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java +++ b/src/test/java/org/junit/tests/running/classes/ParentRunnerTest.java @@ -229,7 +229,7 @@ private CountingRunListener runTestWithParentRunner(Class testClass) throws I CountingRunListener listener = new CountingRunListener(); RunNotifier runNotifier = new RunNotifier(); runNotifier.addListener(listener); - ParentRunner runner = new BlockJUnit4ClassRunner(testClass); + ParentRunner runner = new BlockJUnit4ClassRunner(testClass); runner.run(runNotifier); return listener; } From 340beca75040da67e495284ce34756c9f7e567b4 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:15:07 +0100 Subject: [PATCH 024/436] Don't use deprecated TestWatchman MethodRule --- .../rules/RuleMemberValidatorTest.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/test/java/org/junit/tests/experimental/rules/RuleMemberValidatorTest.java b/src/test/java/org/junit/tests/experimental/rules/RuleMemberValidatorTest.java index c56c69bef24c..00a0e13d6720 100644 --- a/src/test/java/org/junit/tests/experimental/rules/RuleMemberValidatorTest.java +++ b/src/test/java/org/junit/tests/experimental/rules/RuleMemberValidatorTest.java @@ -15,7 +15,6 @@ import org.junit.rules.MethodRule; import org.junit.rules.TemporaryFolder; import org.junit.rules.TestRule; -import org.junit.rules.TestWatchman; import org.junit.runners.model.FrameworkMethod; import org.junit.runners.model.Statement; import org.junit.runners.model.TestClass; @@ -190,13 +189,12 @@ public static class TestWithStaticTestRule { public void rejectStaticMethodRule() { TestClass target = new TestClass(TestWithStaticMethodRule.class); RULE_VALIDATOR.validate(target, errors); - assertOneErrorWithMessage("The @Rule 'testWatchman' must not be static."); + assertOneErrorWithMessage("The @Rule 'someMethodRule' must not be static."); } public static class TestWithStaticMethodRule { - @SuppressWarnings("deprecation") @Rule - public static MethodRule testWatchman = new TestWatchman(); + public static MethodRule someMethodRule = new SomeMethodRule(); } @Test @@ -303,13 +301,12 @@ public static TestRule getTemporaryFolder() { public void rejectMethodStaticMethodRule() { TestClass target = new TestClass(TestMethodWithStaticMethodRule.class); RULE_METHOD_VALIDATOR.validate(target, errors); - assertOneErrorWithMessage("The @Rule 'getTestWatchman' must not be static."); + assertOneErrorWithMessage("The @Rule 'getSomeMethodRule' must not be static."); } public static class TestMethodWithStaticMethodRule { - @SuppressWarnings("deprecation") @Rule - public static MethodRule getTestWatchman() { return new TestWatchman(); } + public static MethodRule getSomeMethodRule() { return new SomeMethodRule(); } } @Test @@ -353,4 +350,10 @@ private void assertOneErrorWithMessage(String message) { private void assertNumberOfErrors(int numberOfErrors) { assertEquals("Wrong number of errors:", numberOfErrors, errors.size()); } + + private static final class SomeMethodRule implements MethodRule { + public Statement apply(Statement base, FrameworkMethod method, Object target) { + return base; + } + } } From 23684f6b47da555ec0cac883776f8cdeef82842a Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 8 Dec 2014 21:19:30 +0100 Subject: [PATCH 025/436] Suppress serialization warning FilterNotCreatedException does not add any fields to Exception. --- src/main/java/org/junit/runner/FilterFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/junit/runner/FilterFactory.java b/src/main/java/org/junit/runner/FilterFactory.java index 57b4eaa64795..d9c741c6a4b6 100644 --- a/src/main/java/org/junit/runner/FilterFactory.java +++ b/src/main/java/org/junit/runner/FilterFactory.java @@ -16,6 +16,7 @@ public interface FilterFactory { /** * Exception thrown if the {@link Filter} cannot be created. */ + @SuppressWarnings("serial") public static class FilterNotCreatedException extends Exception { public FilterNotCreatedException(Exception exception) { super(exception.getMessage(), exception); From 64a1c76037475cca448ba16bca90a83581c4ef01 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 15 Dec 2014 23:08:45 +0100 Subject: [PATCH 026/436] Fix: TimeUnit.HOURS does not exist in JDK5 --- .../tests/internal/runners/statements/FailOnTimeoutTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java b/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java index 658e7024126d..055ef084c8dc 100644 --- a/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java +++ b/src/test/java/org/junit/tests/internal/runners/statements/FailOnTimeoutTest.java @@ -26,7 +26,7 @@ */ public class FailOnTimeoutTest { private static final long TIMEOUT = 100; - private static final long DURATION_THAT_EXCEEDS_TIMEOUT = TimeUnit.MILLISECONDS.convert(1, TimeUnit.HOURS); + private static final long DURATION_THAT_EXCEEDS_TIMEOUT = 60 * 60 * 1000; //1 hour @Rule public final ExpectedException thrown = ExpectedException.none(); From bfd81449318bcebd2769328007861d8fde6227ff Mon Sep 17 00:00:00 2001 From: Narendra Pathai Date: Fri, 19 Dec 2014 15:45:00 +0530 Subject: [PATCH 027/436] Updated pom.xml to utilize 'use' option for cross-referencing javadoc pages --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a88c18878336..3a001924958c 100644 --- a/pom.xml +++ b/pom.xml @@ -287,7 +287,7 @@ false true true - false + true JUnit API UTF-8 en @@ -391,7 +391,7 @@ false true true - false + true JUnit API UTF-8 en From 3f0adeaf0a812cf88e76527b95c499e3ba99404e Mon Sep 17 00:00:00 2001 From: Stephan Schroevers Date: Sat, 27 Dec 2014 20:55:19 +0100 Subject: [PATCH 028/436] Improve error message for assertArrayEquals() when multi-dimensional arrays have different lengths. Previously, JUnit's assertion error message would indicate only that some array lengths x and y were unequal, without indicating whether this pertained to the outer array or some nested array. Now, in case of a length mismatch between two nested arrays, Junit will tell at which indices they reside. Closes #1054 Closes #803 --- .../junit/internal/ComparisonCriteria.java | 15 +++++++++--- .../junit/tests/assertion/AssertionTest.java | 24 +++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/junit/internal/ComparisonCriteria.java b/src/main/java/org/junit/internal/ComparisonCriteria.java index e6d49a4dc230..3a0ca1f2e62b 100644 --- a/src/main/java/org/junit/internal/ComparisonCriteria.java +++ b/src/main/java/org/junit/internal/ComparisonCriteria.java @@ -25,6 +25,11 @@ public abstract class ComparisonCriteria { */ public void arrayEquals(String message, Object expecteds, Object actuals) throws ArrayComparisonFailure { + arrayEquals(message, expecteds, actuals, true); + } + + private void arrayEquals(String message, Object expecteds, Object actuals, boolean outer) + throws ArrayComparisonFailure { if (expecteds == actuals || Arrays.deepEquals(new Object[] {expecteds}, new Object[] {actuals})) { // The reflection-based loop below is potentially very slow, especially for primitive @@ -34,8 +39,9 @@ public void arrayEquals(String message, Object expecteds, Object actuals) } String header = message == null ? "" : message + ": "; - int expectedsLength = assertArraysAreSameLength(expecteds, - actuals, header); + // Only include the user-provided message in the outer exception. + String exceptionMessage = outer ? header : ""; + int expectedsLength = assertArraysAreSameLength(expecteds, actuals, exceptionMessage); for (int i = 0; i < expectedsLength; i++) { Object expected = Array.get(expecteds, i); @@ -43,10 +49,13 @@ public void arrayEquals(String message, Object expecteds, Object actuals) if (isArray(expected) && isArray(actual)) { try { - arrayEquals(message, expected, actual); + arrayEquals(message, expected, actual, false); } catch (ArrayComparisonFailure e) { e.addDimension(i); throw e; + } catch (AssertionError e) { + // Array lengths differed. + throw new ArrayComparisonFailure(header, e, i); } } else { try { diff --git a/src/test/java/org/junit/tests/assertion/AssertionTest.java b/src/test/java/org/junit/tests/assertion/AssertionTest.java index 32e82cc789e0..12a85f52673e 100755 --- a/src/test/java/org/junit/tests/assertion/AssertionTest.java +++ b/src/test/java/org/junit/tests/assertion/AssertionTest.java @@ -211,6 +211,30 @@ public void multiDimensionalArraysAreNotEqualNoMessage() { } } + @Test + public void multiDimensionalArraysDifferentLengthMessage() { + try { + assertArrayEquals("message", new Object[][]{{true, true}, {false, false}}, new Object[][]{{true, true}, {false}}); + } catch (AssertionError exception) { + assertEquals("message: arrays first differed at element [1]; array lengths differed, expected.length=2 actual.length=1", exception.getMessage()); + return; + } + + fail("Expected AssertionError to be thrown"); + } + + @Test + public void multiDimensionalArraysDifferentLengthNoMessage() { + try { + assertArrayEquals(new Object[][]{{true, true}, {false, false}}, new Object[][]{{true, true}, {false}}); + } catch (AssertionError exception) { + assertEquals("arrays first differed at element [1]; array lengths differed, expected.length=2 actual.length=1", exception.getMessage()); + return; + } + + fail("Expected AssertionError to be thrown"); + } + @Test public void arraysWithNullElementEqual() { Object[] objects1 = new Object[]{null}; From de9269563b6af4ccf9e3d3750864158a27eee6d3 Mon Sep 17 00:00:00 2001 From: Narendra Pathai Date: Wed, 10 Dec 2014 13:00:50 +0530 Subject: [PATCH 029/436] Added support for strict verification of resource deletion in TemporaryFolder rule. Closes #1044 --- src/main/java/junit/runner/Version.java | 2 +- .../java/org/junit/rules/TemporaryFolder.java | 124 ++++++++++++++++-- src/main/java/org/junit/rules/Timeout.java | 2 +- src/test/java/org/junit/tests/AllTests.java | 4 +- ...emporaryFolderRuleAssuredDeletionTest.java | 78 +++++++++++ 5 files changed, 198 insertions(+), 12 deletions(-) create mode 100644 src/test/java/org/junit/tests/experimental/rules/TemporaryFolderRuleAssuredDeletionTest.java diff --git a/src/main/java/junit/runner/Version.java b/src/main/java/junit/runner/Version.java index eaf3db72d0ab..975ef7ce07cd 100644 --- a/src/main/java/junit/runner/Version.java +++ b/src/main/java/junit/runner/Version.java @@ -9,7 +9,7 @@ private Version() { } public static String id() { - return "4.12-SNAPSHOT"; + return "4.13-SNAPSHOT"; } public static void main(String[] args) { diff --git a/src/main/java/org/junit/rules/TemporaryFolder.java b/src/main/java/org/junit/rules/TemporaryFolder.java index dc75c93bb115..13574a40de08 100644 --- a/src/main/java/org/junit/rules/TemporaryFolder.java +++ b/src/main/java/org/junit/rules/TemporaryFolder.java @@ -1,5 +1,7 @@ package org.junit.rules; +import static org.junit.Assert.fail; + import java.io.File; import java.io.IOException; @@ -8,8 +10,8 @@ /** * The TemporaryFolder Rule allows creation of files and folders that should * be deleted when the test method finishes (whether it passes or - * fails). Whether the deletion is successful or not is not checked by this rule. - * No exception will be thrown in case the deletion fails. + * fails). + * By default no exception will be thrown in case the deletion fails. * *

    Example of usage: *

    @@ -26,18 +28,101 @@
      * }
      * 
    * + *

    TemporaryFolder rule supports assured deletion mode, which + * will fail the test in case deletion fails with {@link AssertionError}. + * + *

    Creating TemporaryFolder with assured deletion: + *

    + *  @Rule
    + *  public TemporaryFolder folder= TemporaryFolder.builder().assureDeletion().build();
    + * 
    + * * @since 4.7 */ public class TemporaryFolder extends ExternalResource { private final File parentFolder; + private final boolean assureDeletion; private File folder; + /** + * Create a temporary folder which uses system default temporary-file + * directory to create temporary resources. + */ public TemporaryFolder() { - this(null); + this((File) null); } + /** + * Create a temporary folder which uses the specified directory to create + * temporary resources. + * + * @param parentFolder folder where temporary resources will be created. + * If {@code null} then system default temporary-file directory is used. + */ public TemporaryFolder(File parentFolder) { this.parentFolder = parentFolder; + this.assureDeletion = false; + } + + /** + * Create a {@link TemporaryFolder} initialized with + * values from a builder. + */ + protected TemporaryFolder(Builder builder) { + this.parentFolder = builder.parentFolder; + this.assureDeletion = builder.assureDeletion; + } + + /** + * Returns a new builder for building an instance of {@link TemporaryFolder}. + * + * @since 4.13 + */ + public static Builder builder() { + return new Builder(); + } + + /** + * Builds an instance of {@link TemporaryFolder}. + * + * @since 4.13 + */ + public static class Builder { + private File parentFolder; + private boolean assureDeletion; + + protected Builder() {} + + /** + * Specifies which folder to use for creating temporary resources. + * If {@code null} then system default temporary-file directory is + * used. + * + * @return this + */ + public Builder parentFolder(File parentFolder) { + this.parentFolder = parentFolder; + return this; + } + + /** + * Setting this flag assures that no resources are left undeleted. Failure + * to fulfill the assurance results in failure of tests with an + * {@link IllegalStateException}. + * + * @return this + */ + public Builder assureDeletion() { + this.assureDeletion = true; + return this; + } + + /** + * Builds a {@link TemporaryFolder} instance using the values in this builder. + */ + public TemporaryFolder build() { + return new TemporaryFolder(this); + } } @Override @@ -150,21 +235,42 @@ public File getRoot() { /** * Delete all files and folders under the temporary folder. Usually not - * called directly, since it is automatically applied by the {@link Rule} + * called directly, since it is automatically applied by the {@link Rule}. + * + * @throws {@code IllegalStateException} if unable to clean up resources + * and deletion of resources is assured. */ public void delete() { - if (folder != null) { - recursiveDelete(folder); + if (!tryDelete()) { + if (assureDeletion) { + fail("Unable to clean up temporary folder " + folder); + } } } - private void recursiveDelete(File file) { + /** + * Tries to delete all files and folders under the temporary folder and + * returns whether deletion was successful or not. + * + * @return {@code true} if all resources are deleted successfully, + * {@code false} otherwise. + */ + protected boolean tryDelete() { + if (folder == null) { + return true; + } + + return recursiveDelete(folder); + } + + private boolean recursiveDelete(File file) { + boolean result = true; File[] files = file.listFiles(); if (files != null) { for (File each : files) { - recursiveDelete(each); + result = result && recursiveDelete(each); } } - file.delete(); + return result && file.delete(); } } diff --git a/src/main/java/org/junit/rules/Timeout.java b/src/main/java/org/junit/rules/Timeout.java index 45a5bc532050..6cab3c3dfe9b 100644 --- a/src/main/java/org/junit/rules/Timeout.java +++ b/src/main/java/org/junit/rules/Timeout.java @@ -84,7 +84,7 @@ public Timeout(long timeout, TimeUnit timeUnit) { } /** - * Create a {@code Timeout} instance initialized with values form + * Create a {@code Timeout} instance initialized with values from * a builder. * * @since 4.12 diff --git a/src/test/java/org/junit/tests/AllTests.java b/src/test/java/org/junit/tests/AllTests.java index 8acb1eef6ed2..2b24b0e7f58b 100644 --- a/src/test/java/org/junit/tests/AllTests.java +++ b/src/test/java/org/junit/tests/AllTests.java @@ -55,6 +55,7 @@ import org.junit.tests.experimental.rules.RuleChainTest; import org.junit.tests.experimental.rules.RuleMemberValidatorTest; import org.junit.tests.experimental.rules.TempFolderRuleTest; +import org.junit.tests.experimental.rules.TemporaryFolderRuleAssuredDeletionTest; import org.junit.tests.experimental.rules.TemporaryFolderUsageTest; import org.junit.tests.experimental.rules.TestRuleTest; import org.junit.tests.experimental.rules.TestWatcherTest; @@ -231,7 +232,8 @@ CategoryValidatorTest.class, ForwardCompatibilityPrintingTest.class, DescriptionTest.class, - ErrorReportingRunnerTest.class + ErrorReportingRunnerTest.class, + TemporaryFolderRuleAssuredDeletionTest.class }) public class AllTests { public static Test suite() { diff --git a/src/test/java/org/junit/tests/experimental/rules/TemporaryFolderRuleAssuredDeletionTest.java b/src/test/java/org/junit/tests/experimental/rules/TemporaryFolderRuleAssuredDeletionTest.java new file mode 100644 index 000000000000..3aad06991ff2 --- /dev/null +++ b/src/test/java/org/junit/tests/experimental/rules/TemporaryFolderRuleAssuredDeletionTest.java @@ -0,0 +1,78 @@ +package org.junit.tests.experimental.rules; + +import static org.hamcrest.CoreMatchers.containsString; +import static org.junit.Assert.assertThat; +import static org.junit.experimental.results.PrintableResult.testResult; +import static org.junit.experimental.results.ResultMatchers.failureCountIs; +import static org.junit.experimental.results.ResultMatchers.isSuccessful; + +import java.io.IOException; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.experimental.results.PrintableResult; +import org.junit.rules.TemporaryFolder; + +public class TemporaryFolderRuleAssuredDeletionTest { + + private static class StubTemporaryFolder extends TemporaryFolder { + private StubTemporaryFolder(Builder builder) { + super(builder); + } + + /** + * Don't need to create as we are overriding deletion. + */ + @Override + public void create() throws IOException { + } + + /** + * Simulates failure to clean-up temporary folder. + */ + @Override + protected boolean tryDelete() { + return false; + } + + public static Builder builder() { + return new TemporaryFolder.Builder() { + @Override + public TemporaryFolder build() { + return new StubTemporaryFolder(this); + } + }; + } + } + + public static class HasTempFolderWithAssuredDeletion { + @Rule public TemporaryFolder folder = StubTemporaryFolder.builder() + .assureDeletion() + .build(); + + @Test + public void alwaysPasses() { + } + } + + @Test + public void testStrictVerificationFailure() { + PrintableResult result = testResult(HasTempFolderWithAssuredDeletion.class); + assertThat(result, failureCountIs(1)); + assertThat(result.toString(), containsString("Unable to clean up temporary folder")); + } + + public static class HasTempFolderWithoutAssuredDeletion { + @Rule public TemporaryFolder folder = StubTemporaryFolder.builder().build(); + + @Test + public void alwaysPasses() { + } + } + + @Test + public void testStrictVerificationSuccess() { + PrintableResult result = testResult(HasTempFolderWithoutAssuredDeletion.class); + assertThat(result, isSuccessful()); + } +} From 54b7613484be714a769a8d62f1ac507912e61a01 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 4 Jan 2015 22:20:25 +0100 Subject: [PATCH 030/436] Fix Javadoc generation on JDK 8. --- src/main/java/org/junit/rules/TemporaryFolder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/rules/TemporaryFolder.java b/src/main/java/org/junit/rules/TemporaryFolder.java index 13574a40de08..fd0f30f5cdd3 100644 --- a/src/main/java/org/junit/rules/TemporaryFolder.java +++ b/src/main/java/org/junit/rules/TemporaryFolder.java @@ -237,7 +237,7 @@ public File getRoot() { * Delete all files and folders under the temporary folder. Usually not * called directly, since it is automatically applied by the {@link Rule}. * - * @throws {@code IllegalStateException} if unable to clean up resources + * @throws IllegalStateException if unable to clean up resources * and deletion of resources is assured. */ public void delete() { From 5245ddd26f7e2a0d40e8b19fd0936afe2c0c9b86 Mon Sep 17 00:00:00 2001 From: Hans Joachim Desserud Date: Wed, 14 Jan 2015 19:17:48 +0100 Subject: [PATCH 031/436] Upgrade maven-surefire-plugin to latest version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3a001924958c..c5c7821f03ac 100644 --- a/pom.xml +++ b/pom.xml @@ -256,7 +256,7 @@ our junit suite "AllTests" after the sources are compiled. --> maven-surefire-plugin - 2.18 + 2.18.1 org/junit/tests/AllTests.java true From c7300033b5622aa02a58d4570e598697e58b0b4d Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Sun, 18 Jan 2015 10:42:35 -0430 Subject: [PATCH 032/436] Changed the name of the constructor variable klass to testClass reveal its true purpose. Closes #1071 --- src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java index f9b418911fad..962a305493e2 100644 --- a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java +++ b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java @@ -57,12 +57,12 @@ public class BlockJUnit4ClassRunner extends ParentRunner { private final ConcurrentHashMap methodDescriptions = new ConcurrentHashMap(); /** - * Creates a BlockJUnit4ClassRunner to run {@code klass} + * Creates a BlockJUnit4ClassRunner to run {@code testClass} * * @throws InitializationError if the test class is malformed. */ - public BlockJUnit4ClassRunner(Class klass) throws InitializationError { - super(klass); + public BlockJUnit4ClassRunner(Class testClass) throws InitializationError { + super(testClass); } // From 0804ef4cd09b0e94783a9882c60914e22fca5108 Mon Sep 17 00:00:00 2001 From: Philip Graf Date: Tue, 6 Jan 2015 20:35:26 +0100 Subject: [PATCH 033/436] Fix swallowed exception in Request.classes(...) The method classes(Computer computer, Class... classes) in org.junit.runner.Request swallows an InitializationError and throws a new RuntimeException instead when it cannot create a request. This prevents the user from finding out why the request could not be created. This change replaces throwing a new RuntimeException with generating a proper error report. The report contains the causes of the InitializationError so the user has a chance to find out what is causing the problem. --- .../runners/ErrorReportingRunner.java | 35 ++++++++++++++----- src/main/java/org/junit/runner/Request.java | 3 +- .../runners/ErrorReportingRunnerTest.java | 17 +++++++++ 3 files changed, 45 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/junit/internal/runners/ErrorReportingRunner.java b/src/main/java/org/junit/internal/runners/ErrorReportingRunner.java index 1d32bebe1f09..41af78678ee3 100644 --- a/src/main/java/org/junit/internal/runners/ErrorReportingRunner.java +++ b/src/main/java/org/junit/internal/runners/ErrorReportingRunner.java @@ -13,19 +13,28 @@ public class ErrorReportingRunner extends Runner { private final List causes; - private final Class testClass; + private final String classNames; public ErrorReportingRunner(Class testClass, Throwable cause) { - if (testClass == null) { - throw new NullPointerException("Test class cannot be null"); + this(cause, new Class[] { testClass }); + } + + public ErrorReportingRunner(Throwable cause, Class... testClasses) { + if (testClasses == null || testClasses.length == 0) { + throw new NullPointerException("Test classes cannot be null or empty"); + } + for (Class testClass : testClasses) { + if (testClass == null) { + throw new NullPointerException("Test class cannot be null"); + } } - this.testClass = testClass; + classNames = getClassNames(testClasses); causes = getCauses(cause); } - + @Override public Description getDescription() { - Description description = Description.createSuiteDescription(testClass); + Description description = Description.createSuiteDescription(classNames); for (Throwable each : causes) { description.addChild(describeCause(each)); } @@ -39,6 +48,17 @@ public void run(RunNotifier notifier) { } } + private String getClassNames(Class... testClasses) { + final StringBuilder builder = new StringBuilder(); + for (Class testClass : testClasses) { + if (builder.length() != 0) { + builder.append(", "); + } + builder.append(testClass.getName()); + } + return builder.toString(); + } + @SuppressWarnings("deprecation") private List getCauses(Throwable cause) { if (cause instanceof InvocationTargetException) { @@ -55,8 +75,7 @@ private List getCauses(Throwable cause) { } private Description describeCause(Throwable child) { - return Description.createTestDescription(testClass, - "initializationError"); + return Description.createTestDescription(classNames, "initializationError"); } private void runCause(Throwable child, RunNotifier notifier) { diff --git a/src/main/java/org/junit/runner/Request.java b/src/main/java/org/junit/runner/Request.java index 79c0f1ee15db..fcb29e72f720 100644 --- a/src/main/java/org/junit/runner/Request.java +++ b/src/main/java/org/junit/runner/Request.java @@ -75,8 +75,7 @@ public static Request classes(Computer computer, Class... classes) { Runner suite = computer.getSuite(builder, classes); return runner(suite); } catch (InitializationError e) { - throw new RuntimeException( - "Bug in saff's brain: Suite constructor, called as above, should always complete"); + return runner(new ErrorReportingRunner(e, classes)); } } diff --git a/src/test/java/org/junit/tests/internal/runners/ErrorReportingRunnerTest.java b/src/test/java/org/junit/tests/internal/runners/ErrorReportingRunnerTest.java index b6064d9568d4..56b5e31bc24d 100644 --- a/src/test/java/org/junit/tests/internal/runners/ErrorReportingRunnerTest.java +++ b/src/test/java/org/junit/tests/internal/runners/ErrorReportingRunnerTest.java @@ -4,8 +4,25 @@ import org.junit.internal.runners.ErrorReportingRunner; public class ErrorReportingRunnerTest { + @Test(expected = NullPointerException.class) public void cannotCreateWithNullClass() { new ErrorReportingRunner(null, new RuntimeException()); } + + @Test(expected = NullPointerException.class) + public void cannotCreateWithNullClass2() { + new ErrorReportingRunner(new RuntimeException(), (Class) null); + } + + @Test(expected = NullPointerException.class) + public void cannotCreateWithNullClasses() { + new ErrorReportingRunner(new RuntimeException(), (Class[]) null); + } + + @Test(expected = NullPointerException.class) + public void cannotCreateWithoutClass() { + new ErrorReportingRunner(new RuntimeException()); + } + } From 0f0152a8cd6dcbdb9f9cbb6ec5ca1cf2629dc12a Mon Sep 17 00:00:00 2001 From: Kevin Cooney Date: Sun, 4 Jan 2015 12:45:12 -0800 Subject: [PATCH 034/436] Add missing @since Javadoc to createTest(FrameworkMethod) Closes #1061 --- src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java index 962a305493e2..bc0bf957e29e 100644 --- a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java +++ b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java @@ -220,6 +220,8 @@ protected Object createTest() throws Exception { /** * Returns a new fixture to run a particular test {@code method} against. * Default implementation executes the no-argument {@link #createTest()} method. + * + * @since 4.13 */ protected Object createTest(FrameworkMethod method) throws Exception { return createTest(); From a90b496a6595856066504baf4f737fb853a6e45d Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Sun, 15 Feb 2015 21:53:52 +0100 Subject: [PATCH 035/436] Ensure exceptions from methodBlock() don't result in unrooted tests. The introduction of the runLeaf() method in BlockJUnit4ClassRunner in JUnit 4.9 introduced a regression with regard to exception handling. Specifically, the invocation of methodBlock() is no longer executed within a try-catch block as was the case in previous versions of JUnit. Custom modifications to methodBlock() or the methods it invokes may in fact throw exceptions. In such cases, exceptions thrown from methodBlock() cause the current test execution to abort immediately. As a result, the failing test method is unrooted in test reports, and subsequent test methods are never invoked. Furthermore, RunListeners registered with JUnit are not notified. This commit addresses this issue by wrapping the invocation of methodBlock() within a try-catch block. If an exception is not thrown, the resulting Statement is passed to runLeaf(). If an exception is thrown, it is wrapped in a Fail statement which is passed to runLeaf(). Closes #1066 Closes #1082 --- .../junit/runners/BlockJUnit4ClassRunner.java | 17 +++- .../CustomBlockJUnit4ClassRunnerTest.java | 90 +++++++++++++++++++ src/test/java/org/junit/tests/AllTests.java | 2 + 3 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 src/test/java/org/junit/runners/CustomBlockJUnit4ClassRunnerTest.java diff --git a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java index bc0bf957e29e..8c3cef6c9d91 100644 --- a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java +++ b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java @@ -55,7 +55,9 @@ * @since 4.5 */ public class BlockJUnit4ClassRunner extends ParentRunner { + private final ConcurrentHashMap methodDescriptions = new ConcurrentHashMap(); + /** * Creates a BlockJUnit4ClassRunner to run {@code testClass} * @@ -75,10 +77,17 @@ protected void runChild(final FrameworkMethod method, RunNotifier notifier) { if (isIgnored(method)) { notifier.fireTestIgnored(description); } else { - runLeaf(methodBlock(method), description, notifier); + Statement statement; + try { + statement = methodBlock(method); + } + catch (Throwable ex) { + statement = new Fail(ex); + } + runLeaf(statement, description, notifier); } } - + /** * Evaluates whether {@link FrameworkMethod}s are ignored based on the * {@link Ignore} annotation. @@ -390,10 +399,10 @@ private List getMethodRules(Object target) { protected List rules(Object target) { List rules = getTestClass().getAnnotatedMethodValues(target, Rule.class, MethodRule.class); - + rules.addAll(getTestClass().getAnnotatedFieldValues(target, Rule.class, MethodRule.class)); - + return rules; } diff --git a/src/test/java/org/junit/runners/CustomBlockJUnit4ClassRunnerTest.java b/src/test/java/org/junit/runners/CustomBlockJUnit4ClassRunnerTest.java new file mode 100644 index 000000000000..d9f072baacb6 --- /dev/null +++ b/src/test/java/org/junit/runners/CustomBlockJUnit4ClassRunnerTest.java @@ -0,0 +1,90 @@ +package org.junit.runners; + +import static org.junit.Assert.assertEquals; + +import java.util.concurrent.atomic.AtomicInteger; + +import org.junit.Test; +import org.junit.runner.Description; +import org.junit.runner.notification.Failure; +import org.junit.runner.notification.RunListener; +import org.junit.runner.notification.RunNotifier; +import org.junit.runners.model.FrameworkMethod; +import org.junit.runners.model.InitializationError; +import org.junit.runners.model.Statement; + +/** + * Tests that verify proper behavior for custom runners that extend + * {@link BlockJUnit4ClassRunner}. + * + * @author Sam Brannen + * @since 4.13 + */ +public class CustomBlockJUnit4ClassRunnerTest { + + @Test + public void exceptionsFromMethodBlockMustNotResultInUnrootedTests() throws Exception { + TrackingRunListener listener = new TrackingRunListener(); + RunNotifier notifier = new RunNotifier(); + notifier.addListener(listener); + + new CustomBlockJUnit4ClassRunner(CustomBlockJUnit4ClassRunnerTestCase.class).run(notifier); + assertEquals("tests started.", 2, listener.testStartedCount.get()); + assertEquals("tests failed.", 1, listener.testFailureCount.get()); + assertEquals("tests finished.", 2, listener.testFinishedCount.get()); + } + + + public static class CustomBlockJUnit4ClassRunnerTestCase { + @Test public void shouldPass() { /* no-op */ } + @Test public void throwException() { /* no-op */ } + } + + /** + * Custom extension of {@link BlockJUnit4ClassRunner} that always throws + * an exception from the {@code methodBlock()} if a test method is named + * exactly {@code "throwException"}. + */ + private static class CustomBlockJUnit4ClassRunner extends BlockJUnit4ClassRunner { + + CustomBlockJUnit4ClassRunner(Class testClass) throws InitializationError { + super(testClass); + } + + @Override + protected Statement methodBlock(FrameworkMethod method) { + if ("throwException".equals(method.getName())) { + throw new RuntimeException("throwException() test method invoked"); + } + return super.methodBlock(method); + } + } + + /** + * Simple {@link RunListener} that tracks the number of times that + * certain callbacks are invoked. + */ + private static class TrackingRunListener extends RunListener { + + final AtomicInteger testStartedCount = new AtomicInteger(); + final AtomicInteger testFailureCount = new AtomicInteger(); + final AtomicInteger testFinishedCount = new AtomicInteger(); + + + @Override + public void testStarted(Description description) throws Exception { + testStartedCount.incrementAndGet(); + } + + @Override + public void testFailure(Failure failure) throws Exception { + testFailureCount.incrementAndGet(); + } + + @Override + public void testFinished(Description description) throws Exception { + testFinishedCount.incrementAndGet(); + } + } + +} diff --git a/src/test/java/org/junit/tests/AllTests.java b/src/test/java/org/junit/tests/AllTests.java index 2b24b0e7f58b..b3d0d4527246 100644 --- a/src/test/java/org/junit/tests/AllTests.java +++ b/src/test/java/org/junit/tests/AllTests.java @@ -18,6 +18,7 @@ import org.junit.runner.notification.ConcurrentRunNotifierTest; import org.junit.runner.notification.RunNotifierTest; import org.junit.runner.notification.SynchronizedRunListenerTest; +import org.junit.runners.CustomBlockJUnit4ClassRunnerTest; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; import org.junit.runners.model.FrameworkFieldTest; @@ -203,6 +204,7 @@ RuleMemberValidatorTest.class, RuleChainTest.class, BlockJUnit4ClassRunnerTest.class, + CustomBlockJUnit4ClassRunnerTest.class, MethodSorterTest.class, TestedOnSupplierTest.class, StacktracePrintingMatcherTest.class, From 38010188e5c5e34da29d063e6c002a173f56a539 Mon Sep 17 00:00:00 2001 From: Hans Joachim Desserud Date: Sat, 28 Feb 2015 15:22:57 +0100 Subject: [PATCH 036/436] Changed line endings to LF SonarQube had problems scanning this file because it believed it got multiple blame annotations for the same line. This seemed to be the only file with CR line endings, so I changed it to LF which is consistent with the files in the same directory. Closes #1086 --- .../extendingwithstubs/StubbedTheoriesTest.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/junit/tests/experimental/theories/extendingwithstubs/StubbedTheoriesTest.java b/src/test/java/org/junit/tests/experimental/theories/extendingwithstubs/StubbedTheoriesTest.java index abecdf792708..a86bcd69bdea 100644 --- a/src/test/java/org/junit/tests/experimental/theories/extendingwithstubs/StubbedTheoriesTest.java +++ b/src/test/java/org/junit/tests/experimental/theories/extendingwithstubs/StubbedTheoriesTest.java @@ -1 +1,16 @@ -package org.junit.tests.experimental.theories.extendingwithstubs; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assume.assumeThat; import org.junit.experimental.theories.Theory; import org.junit.runner.RunWith; @RunWith(StubbedTheories.class) public class StubbedTheoriesTest { @Theory public void ask(@Stub Correspondent correspondent) { assumeThat(correspondent.getAnswer("What is five?", "four", "five"), is("five")); } } \ No newline at end of file +package org.junit.tests.experimental.theories.extendingwithstubs; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assume.assumeThat; + +import org.junit.experimental.theories.Theory; +import org.junit.runner.RunWith; + +@RunWith(StubbedTheories.class) +public class StubbedTheoriesTest { + @Theory + public void ask(@Stub Correspondent correspondent) { + assumeThat(correspondent.getAnswer("What is five?", "four", "five"), + is("five")); + } +} From dc90577ab174c020db4380a54e48276d69b3fc8c Mon Sep 17 00:00:00 2001 From: The Alchemist Date: Thu, 26 Feb 2015 13:48:22 -0500 Subject: [PATCH 037/436] Adding generics to uses of ArrayList on homepage example code. Closes #1084 --- src/site/xdoc/index.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index b33e8ca26a81..d1438836fbab 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -19,12 +19,12 @@
         @Test
         public void newArrayListsHaveNoElements() {
    -        assertThat(new ArrayList().size(), is(0));
    +        assertThat(new ArrayList<Integer>().size(), is(0));
         }
     
         @Test
         public void sizeReturnsNumberOfElements() {
    -        List instance = new ArrayList();
    +        List<Object> instance = new ArrayList<Object>();
             instance.add(new Object());
             instance.add(new Object());
             assertThat(instance.size(), is(2));
    
    From 9c337dcbb8c71cfcbd283a4f481c2794c13465a6 Mon Sep 17 00:00:00 2001
    From: Adrian Cole 
    Date: Sat, 28 Feb 2015 07:52:17 -0800
    Subject: [PATCH 038/436] Corrects typo in source example of
     ParametersRunnerFactory.
    
    Closes #1085
    ---
     src/main/java/org/junit/runners/Parameterized.java              | 2 +-
     .../junit/runners/parameterized/ParametersRunnerFactory.java    | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/main/java/org/junit/runners/Parameterized.java b/src/main/java/org/junit/runners/Parameterized.java
    index 3a2285d25a2e..475b9ebc1026 100644
    --- a/src/main/java/org/junit/runners/Parameterized.java
    +++ b/src/main/java/org/junit/runners/Parameterized.java
    @@ -140,7 +140,7 @@
      * The factory must have a public zero-arg constructor.
      *
      * 
    - * public class YourRunnerFactory implements ParameterizedRunnerFactory {
    + * public class YourRunnerFactory implements ParametersRunnerFactory {
      *     public Runner createRunnerForTestWithParameters(TestWithParameters test)
      *             throws InitializationError {
      *         return YourRunner(test);
    diff --git a/src/main/java/org/junit/runners/parameterized/ParametersRunnerFactory.java b/src/main/java/org/junit/runners/parameterized/ParametersRunnerFactory.java
    index 16ea1f30e029..8123e83b1a15 100644
    --- a/src/main/java/org/junit/runners/parameterized/ParametersRunnerFactory.java
    +++ b/src/main/java/org/junit/runners/parameterized/ParametersRunnerFactory.java
    @@ -4,7 +4,7 @@
     import org.junit.runners.model.InitializationError;
     
     /**
    - * A {@code ParameterizedRunnerFactory} creates a runner for a single
    + * A {@code ParametersRunnerFactory} creates a runner for a single
      * {@link TestWithParameters}.
      * 
      * @since 4.12
    
    From 187c56489189d2a6e928fea3d0942e1a5346c517 Mon Sep 17 00:00:00 2001
    From: Mustafa Ulu 
    Date: Sun, 1 Mar 2015 20:36:02 +0200
    Subject: [PATCH 039/436] Use Timeout.millis(long) in javadoc for Timeout class
    
    Javadoc for Timeout class should use Timeout.millis(long) instead of deprecated Timeout(int) constructor
    ---
     src/main/java/org/junit/rules/Timeout.java | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/org/junit/rules/Timeout.java b/src/main/java/org/junit/rules/Timeout.java
    index 6cab3c3dfe9b..334a9235cd26 100644
    --- a/src/main/java/org/junit/rules/Timeout.java
    +++ b/src/main/java/org/junit/rules/Timeout.java
    @@ -12,7 +12,7 @@
      * public static class HasGlobalLongTimeout {
      *
      *  @Rule
    - *  public Timeout globalTimeout= new Timeout(20);
    + *  public Timeout globalTimeout = Timeout.millis(20);
      *
      *  @Test
      *  public void run1() throws InterruptedException {
    
    From a4699a1f3363728218cf0a269f78b4ced25dea38 Mon Sep 17 00:00:00 2001
    From: Hans Joachim Desserud 
    Date: Tue, 10 Mar 2015 20:14:11 +0100
    Subject: [PATCH 040/436] Move the array designator to the type
    
    ---
     src/main/java/junit/textui/TestRunner.java | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/main/java/junit/textui/TestRunner.java b/src/main/java/junit/textui/TestRunner.java
    index 4d78f77da51d..913020af6b77 100644
    --- a/src/main/java/junit/textui/TestRunner.java
    +++ b/src/main/java/junit/textui/TestRunner.java
    @@ -131,7 +131,7 @@ protected void pause(boolean wait) {
             }
         }
     
    -    public static void main(String args[]) {
    +    public static void main(String[] args) {
             TestRunner aTestRunner = new TestRunner();
             try {
                 TestResult r = aTestRunner.start(args);
    @@ -149,7 +149,7 @@ public static void main(String args[]) {
          * Starts a test run. Analyzes the command line arguments and runs the given
          * test suite.
          */
    -    public TestResult start(String args[]) throws Exception {
    +    public TestResult start(String[] args) throws Exception {
             String testCase = "";
             String method = "";
             boolean wait = false;
    
    From 5dd69355f371be15aee03875752f95e2b20e02c9 Mon Sep 17 00:00:00 2001
    From: Hans Joachim Desserud 
    Date: Tue, 10 Mar 2015 20:16:54 +0100
    Subject: [PATCH 041/436] Unnecessary semicolon
    
    ---
     src/main/java/org/junit/validator/AnnotationsValidator.java | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/org/junit/validator/AnnotationsValidator.java b/src/main/java/org/junit/validator/AnnotationsValidator.java
    index 30f54a651303..44d99d2a2f8d 100644
    --- a/src/main/java/org/junit/validator/AnnotationsValidator.java
    +++ b/src/main/java/org/junit/validator/AnnotationsValidator.java
    @@ -116,5 +116,5 @@ List validateAnnotatable(
                     AnnotationValidator validator, FrameworkField field) {
                 return validator.validateAnnotatedField(field);
             }
    -    };
    +    }
     }
    
    From ad9972ba5d135d1c5673f0773cb7027f7823feb5 Mon Sep 17 00:00:00 2001
    From: Hans Joachim Desserud 
    Date: Tue, 10 Mar 2015 20:37:47 +0100
    Subject: [PATCH 042/436] Prefer interfaces over concrete classes
    
    Makes code easier to scan by removing unnecessary noise.
    ---
     .../java/org/junit/experimental/categories/Categories.java    | 2 +-
     src/main/java/org/junit/internal/runners/TestClass.java       | 2 +-
     src/main/java/org/junit/runner/notification/RunNotifier.java  | 4 ++--
     src/main/java/org/junit/runners/model/RunnerBuilder.java      | 2 +-
     src/main/java/org/junit/runners/model/TestClass.java          | 4 ++--
     5 files changed, 7 insertions(+), 7 deletions(-)
    
    diff --git a/src/main/java/org/junit/experimental/categories/Categories.java b/src/main/java/org/junit/experimental/categories/Categories.java
    index 2cee740a6c53..e4b89569439e 100644
    --- a/src/main/java/org/junit/experimental/categories/Categories.java
    +++ b/src/main/java/org/junit/experimental/categories/Categories.java
    @@ -284,7 +284,7 @@ private static Class[] directCategories(Description description) {
             }
     
             private static Set> copyAndRefine(Set> classes) {
    -            HashSet> c= new HashSet>();
    +            Set> c= new HashSet>();
                 if (classes != null) {
                     c.addAll(classes);
                 }
    diff --git a/src/main/java/org/junit/internal/runners/TestClass.java b/src/main/java/org/junit/internal/runners/TestClass.java
    index 1abaeeab688a..6d24f4fb05af 100644
    --- a/src/main/java/org/junit/internal/runners/TestClass.java
    +++ b/src/main/java/org/junit/internal/runners/TestClass.java
    @@ -85,7 +85,7 @@ private boolean isShadowed(Method current, Method previous) {
         }
     
         private List> getSuperClasses(Class testClass) {
    -        ArrayList> results = new ArrayList>();
    +        List> results = new ArrayList>();
             Class current = testClass;
             while (current != null) {
                 results.add(current);
    diff --git a/src/main/java/org/junit/runner/notification/RunNotifier.java b/src/main/java/org/junit/runner/notification/RunNotifier.java
    index 6875f76939ea..8bd2dc491f19 100644
    --- a/src/main/java/org/junit/runner/notification/RunNotifier.java
    +++ b/src/main/java/org/junit/runner/notification/RunNotifier.java
    @@ -65,8 +65,8 @@ private abstract class SafeNotifier {
     
             void run() {
                 int capacity = currentListeners.size();
    -            ArrayList safeListeners = new ArrayList(capacity);
    -            ArrayList failures = new ArrayList(capacity);
    +            List safeListeners = new ArrayList(capacity);
    +            List failures = new ArrayList(capacity);
                 for (RunListener listener : currentListeners) {
                     try {
                         notifyListener(listener);
    diff --git a/src/main/java/org/junit/runners/model/RunnerBuilder.java b/src/main/java/org/junit/runners/model/RunnerBuilder.java
    index 7d3eee301f1e..42da6f32cd09 100644
    --- a/src/main/java/org/junit/runners/model/RunnerBuilder.java
    +++ b/src/main/java/org/junit/runners/model/RunnerBuilder.java
    @@ -96,7 +96,7 @@ public List runners(Class parent, List> children)
         }
     
         private List runners(Class[] children) {
    -        ArrayList runners = new ArrayList();
    +        List runners = new ArrayList();
             for (Class each : children) {
                 Runner childRunner = safeRunnerForClass(each);
                 if (childRunner != null) {
    diff --git a/src/main/java/org/junit/runners/model/TestClass.java b/src/main/java/org/junit/runners/model/TestClass.java
    index c8a544d6cb9b..679c642147c8 100755
    --- a/src/main/java/org/junit/runners/model/TestClass.java
    +++ b/src/main/java/org/junit/runners/model/TestClass.java
    @@ -97,7 +97,7 @@ protected static > void addToAnnotationLists(T memb
     
         private static > Map, List>
                 makeDeeplyUnmodifiable(Map, List> source) {
    -        LinkedHashMap, List> copy =
    +        Map, List> copy =
                     new LinkedHashMap, List>();
             for (Map.Entry, List> entry : source.entrySet()) {
                 copy.put(entry.getKey(), Collections.unmodifiableList(entry.getValue()));
    @@ -168,7 +168,7 @@ private static boolean runsTopToBottom(Class annotation) {
         }
     
         private static List> getSuperClasses(Class testClass) {
    -        ArrayList> results = new ArrayList>();
    +        List> results = new ArrayList>();
             Class current = testClass;
             while (current != null) {
                 results.add(current);
    
    From 3a5772dab5ce8f3b2879a19009357d425e84400e Mon Sep 17 00:00:00 2001
    From: Tibor17 
    Date: Sat, 4 Apr 2015 20:30:47 +0200
    Subject: [PATCH 043/436] StopWatch does not need to be abstract.
    
    Fixes #1110.
    ---
     src/main/java/org/junit/rules/Stopwatch.java | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/org/junit/rules/Stopwatch.java b/src/main/java/org/junit/rules/Stopwatch.java
    index 5d34e7f11a85..6900a481cf11 100644
    --- a/src/main/java/org/junit/rules/Stopwatch.java
    +++ b/src/main/java/org/junit/rules/Stopwatch.java
    @@ -76,7 +76,7 @@
      * @author tibor17
      * @since 4.12
      */
    -public abstract class Stopwatch implements TestRule {
    +public class Stopwatch implements TestRule {
         private final Clock clock;
         private volatile long startNanos;
         private volatile long endNanos;
    
    From b403288c9bf67e4989b7f3af5b8360828dcb8e94 Mon Sep 17 00:00:00 2001
    From: Stefan Birkner 
    Date: Fri, 6 Mar 2015 00:54:13 +0100
    Subject: [PATCH 044/436] Separate tests for failure and run count.
    
    A test should only test a single thing.
    ---
     .../classes/ParameterizedTestTest.java        | 26 +++++++++++++++++--
     1 file changed, 24 insertions(+), 2 deletions(-)
    
    diff --git a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    index 6ab94da863f3..49c4678ba54a 100644
    --- a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    +++ b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    @@ -5,6 +5,7 @@
     import static org.junit.Assert.assertEquals;
     import static org.junit.Assert.assertThat;
     import static org.junit.Assert.assertTrue;
    +import static org.junit.Assert.fail;
     import static org.junit.experimental.results.PrintableResult.testResult;
     
     import java.util.Arrays;
    @@ -59,10 +60,9 @@ private int fib(int x) {
         }
     
         @Test
    -    public void count() {
    +    public void countsRuns() {
             Result result = JUnitCore.runClasses(FibonacciTest.class);
             assertEquals(7, result.getRunCount());
    -        assertEquals(6, result.getFailureCount());
         }
     
         @Test
    @@ -87,6 +87,28 @@ public void plansNamedCorrectly() throws Exception {
                     .getDisplayName());
         }
     
    +    @RunWith(Parameterized.class)
    +    public static class ThreeFailures {
    +        @Parameters
    +        public static Collection data() {
    +            return Arrays.asList(1, 2, 3);
    +        }
    +
    +        @Parameter(0)
    +        public int unused;
    +
    +        @Test
    +        public void testSomething() {
    +            fail();
    +        }
    +    }
    +
    +    @Test
    +    public void countsFailures() throws Exception {
    +        Result result = JUnitCore.runClasses(ThreeFailures.class);
    +        assertEquals(3, result.getFailureCount());
    +    }
    +
         @RunWith(Parameterized.class)
         public static class ParameterizedWithoutSpecialTestname {
             @Parameters
    
    From 61994e0c0aa768b43fad1ac6e35b1e43ffc8b142 Mon Sep 17 00:00:00 2001
    From: Stefan Birkner 
    Date: Fri, 6 Mar 2015 01:05:18 +0100
    Subject: [PATCH 045/436] Remove some tests.
    
    We don't have to test the test and failure naming for tests with
    @Parameter annotation again, because it is not different from the test
    that sets the parameters via constructor.
    ---
     .../classes/ParameterizedTestTest.java        | 23 +------------------
     1 file changed, 1 insertion(+), 22 deletions(-)
    
    diff --git a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    index 49c4678ba54a..52b9ec309d08 100644
    --- a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    +++ b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java
    @@ -157,33 +157,12 @@ private int fib(int x) {
         }
     
         @Test
    -    public void countWithParameterizedField() {
    +    public void providesDataByAnnotatedFields() {
             Result result = JUnitCore.runClasses(FibonacciWithParameterizedFieldTest.class);
             assertEquals(7, result.getRunCount());
             assertEquals(6, result.getFailureCount());
         }
     
    -    @Test
    -    public void failuresNamedCorrectlyWithParameterizedField() {
    -        Result result = JUnitCore.runClasses(FibonacciWithParameterizedFieldTest.class);
    -        assertEquals(String
    -                .format("test[1](%s)", FibonacciWithParameterizedFieldTest.class.getName()), result
    -                .getFailures().get(0).getTestHeader());
    -    }
    -
    -    @Test
    -    public void countBeforeRunWithParameterizedField() throws Exception {
    -        Runner runner = Request.aClass(FibonacciWithParameterizedFieldTest.class).getRunner();
    -        assertEquals(7, runner.testCount());
    -    }
    -
    -    @Test
    -    public void plansNamedCorrectlyWithParameterizedField() throws Exception {
    -        Runner runner = Request.aClass(FibonacciWithParameterizedFieldTest.class).getRunner();
    -        Description description = runner.getDescription();
    -        assertEquals("[0]", description.getChildren().get(0).getDisplayName());
    -    }
    -
         @RunWith(Parameterized.class)
         static public class BadIndexForAnnotatedFieldTest {
             @Parameters
    
    From 97654ff38f976733fa4c6ae9b28e3fe10328183f Mon Sep 17 00:00:00 2001
    From: Stefan Birkner 
    Date: Fri, 6 Mar 2015 01:11:36 +0100
    Subject: [PATCH 046/436] Replace example with addition example. Fixes #1088.
    
    The new example does not depend on external classes anymore. Hence it
    is self-contained and can be run by simply copying it.
    ---
     .../java/org/junit/runners/Parameterized.java |  69 ++++++-----
     .../classes/ParameterizedTestTest.java        | 116 +++++++++---------
     2 files changed, 92 insertions(+), 93 deletions(-)
    
    diff --git a/src/main/java/org/junit/runners/Parameterized.java b/src/main/java/org/junit/runners/Parameterized.java
    index 475b9ebc1026..70d883bc9da5 100644
    --- a/src/main/java/org/junit/runners/Parameterized.java
    +++ b/src/main/java/org/junit/runners/Parameterized.java
    @@ -23,34 +23,37 @@
      * When running a parameterized test class, instances are created for the
      * cross-product of the test methods and the test data elements.
      * 

    - * For example, to test a Fibonacci function, write: + * For example, to test the + operator, write: *

      * @RunWith(Parameterized.class)
    - * public class FibonacciTest {
    - *     @Parameters(name= "{index}: fib[{0}]={1}")
    + * public class AdditionTest {
    + *     @Parameters(name = "{index}: {0} + {1} = {2}")
      *     public static Iterable<Object[]> data() {
    - *         return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 },
    - *                 { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
    + *         return Arrays.asList(new Object[][] { { 0, 0, 0 }, { 1, 1, 2 },
    + *                 { 3, 2, 5 }, { 4, 3, 7 } });
      *     }
      *
    - *     private int fInput;
    + *     private int firstSummand;
      *
    - *     private int fExpected;
    + *     private int secondSummand;
      *
    - *     public FibonacciTest(int input, int expected) {
    - *         fInput= input;
    - *         fExpected= expected;
    + *     private int sum;
    + *
    + *     public AdditionTest(int firstSummand, int secondSummand, int sum) {
    + *         this.firstSummand = firstSummand;
    + *         this.secondSummand = secondSummand;
    + *         this.sum = sum;
      *     }
      *
      *     @Test
      *     public void test() {
    - *         assertEquals(fExpected, Fibonacci.compute(fInput));
    + *         assertEquals(sum, firstSummand + secondSummand);
      *     }
      * }
      * 
    *

    - * Each instance of FibonacciTest will be constructed using the - * two-argument constructor and the data values in the + * Each instance of AdditionTest will be constructed using the + * three-argument constructor and the data values in the * @Parameters method. *

    * In order that you can easily identify the individual tests, you may provide a @@ -68,33 +71,36 @@ * *

    * In the example given above, the Parameterized runner creates - * names like [1: fib(3)=2]. If you don't use the name parameter, + * names like [2: 3 + 2 = 5]. If you don't use the name parameter, * then the current parameter index is used as name. *

    * You can also write: *

      * @RunWith(Parameterized.class)
    - * public class FibonacciTest {
    - *  @Parameters
    - *  public static Iterable<Object[]> data() {
    - *      return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 },
    - *                 { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
    - *  }
    - *  
    - *  @Parameter(0)
    - *  public int fInput;
    + * public class AdditionTest {
    + *     @Parameters(name = "{index}: {0} + {1} = {2}")
    + *     public static Iterable<Object[]> data() {
    + *         return Arrays.asList(new Object[][] { { 0, 0, 0 }, { 1, 1, 2 },
    + *                 { 3, 2, 5 }, { 4, 3, 7 } });
    + *     }
    + *
    + *     @Parameter(0)
    + *     public int firstSummand;
      *
    - *  @Parameter(1)
    - *  public int fExpected;
    + *     @Parameter(1)
    + *     public int secondSummand;
      *
    - *  @Test
    - *  public void test() {
    - *      assertEquals(fExpected, Fibonacci.compute(fInput));
    - *  }
    + *     @Parameter(2)
    + *     public int sum;
    + *
    + *     @Test
    + *     public void test() {
    + *         assertEquals(sum, firstSummand + secondSummand);
    + *     }
      * }
      * 
    *

    - * Each instance of FibonacciTest will be constructed with the default constructor + * Each instance of AdditionTest will be constructed with the default constructor * and fields annotated by @Parameter will be initialized * with the data values in the @Parameters method. * @@ -104,8 +110,7 @@ *

      * @Parameters
      * public static Object[][] data() {
    - * 	return new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, { 3, 2 }, { 4, 3 },
    - * 			{ 5, 5 }, { 6, 8 } };
    + * 	return new Object[][] { { 0, 0, 0 }, { 1, 1, 2 }, { 3, 2, 5 }, { 4, 3, 7 } } };
      * }
      * 
    * diff --git a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java index 52b9ec309d08..52ba09e63d7f 100644 --- a/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java +++ b/src/test/java/org/junit/tests/running/classes/ParameterizedTestTest.java @@ -33,63 +33,54 @@ public class ParameterizedTestTest { @RunWith(Parameterized.class) - static public class FibonacciTest { - @Parameters(name = "{index}: fib({0})={1}") + public static class AdditionTest { + @Parameters(name = "{index}: {0} + {1} = {2}") public static Iterable data() { - return Arrays.asList(new Object[][]{{0, 0}, {1, 1}, {2, 1}, - {3, 2}, {4, 3}, {5, 5}, {6, 8}}); + return Arrays.asList(new Object[][] { { 0, 0, 0 }, { 1, 1, 2 }, + { 3, 2, 5 }, { 4, 3, 7 } }); } - private final int fInput; + private int firstSummand; - private final int fExpected; + private int secondSummand; - public FibonacciTest(int input, int expected) { - fInput = input; - fExpected = expected; + private int sum; + + public AdditionTest(int firstSummand, int secondSummand, int sum) { + this.firstSummand = firstSummand; + this.secondSummand = secondSummand; + this.sum = sum; } @Test public void test() { - assertEquals(fExpected, fib(fInput)); - } - - private int fib(int x) { - return 0; + assertEquals(sum, firstSummand + secondSummand); } } @Test public void countsRuns() { - Result result = JUnitCore.runClasses(FibonacciTest.class); - assertEquals(7, result.getRunCount()); - } - - @Test - public void failuresNamedCorrectly() { - Result result = JUnitCore.runClasses(FibonacciTest.class); - assertEquals( - "test[1: fib(1)=1](" + FibonacciTest.class.getName() + ")", - result.getFailures().get(0).getTestHeader()); + Result result = JUnitCore.runClasses(AdditionTest.class); + assertEquals(4, result.getRunCount()); } @Test public void countBeforeRun() throws Exception { - Runner runner = Request.aClass(FibonacciTest.class).getRunner(); - assertEquals(7, runner.testCount()); + Runner runner = Request.aClass(AdditionTest.class).getRunner(); + assertEquals(4, runner.testCount()); } @Test public void plansNamedCorrectly() throws Exception { - Runner runner = Request.aClass(FibonacciTest.class).getRunner(); + Runner runner = Request.aClass(AdditionTest.class).getRunner(); Description description = runner.getDescription(); - assertEquals("[0: fib(0)=0]", description.getChildren().get(0) + assertEquals("[2: 3 + 2 = 5]", description.getChildren().get(2) .getDisplayName()); } @RunWith(Parameterized.class) public static class ThreeFailures { - @Parameters + @Parameters(name = "{index}: x={0}") public static Collection data() { return Arrays.asList(1, 2, 3); } @@ -109,6 +100,14 @@ public void countsFailures() throws Exception { assertEquals(3, result.getFailureCount()); } + @Test + public void failuresNamedCorrectly() { + Result result = JUnitCore.runClasses(ThreeFailures.class); + assertEquals( + "testSomething[0: x=1](" + ThreeFailures.class.getName() + ")", + result.getFailures().get(0).getTestHeader()); + } + @RunWith(Parameterized.class) public static class ParameterizedWithoutSpecialTestname { @Parameters @@ -133,34 +132,33 @@ public void usesIndexAsTestName() { } @RunWith(Parameterized.class) - static public class FibonacciWithParameterizedFieldTest { - @Parameters - public static Collection data() { - return Arrays.asList(new Object[][]{{0, 0}, {1, 1}, {2, 1}, - {3, 2}, {4, 3}, {5, 5}, {6, 8}}); + public static class AdditionTestWithAnnotatedFields { + @Parameters(name = "{index}: {0} + {1} = {2}") + public static Iterable data() { + return Arrays.asList(new Object[][] { { 0, 0, 0 }, { 1, 1, 2 }, + { 3, 2, 5 }, { 4, 3, 7 } }); } @Parameter(0) - public int fInput; + public int firstSummand; @Parameter(1) - public int fExpected; + public int secondSummand; + + @Parameter(2) + public int sum; @Test public void test() { - assertEquals(fExpected, fib(fInput)); - } - - private int fib(int x) { - return 0; + assertEquals(sum, firstSummand + secondSummand); } } @Test public void providesDataByAnnotatedFields() { - Result result = JUnitCore.runClasses(FibonacciWithParameterizedFieldTest.class); - assertEquals(7, result.getRunCount()); - assertEquals(6, result.getFailureCount()); + Result result = JUnitCore.runClasses(AdditionTestWithAnnotatedFields.class); + assertEquals(4, result.getRunCount()); + assertEquals(0, result.getFailureCount()); } @RunWith(Parameterized.class) @@ -358,36 +356,32 @@ public void exceptionWhenPrivateConstructor() throws Throwable { } @RunWith(Parameterized.class) - static public class FibonacciTestWithArray { - @Parameters(name= "{index}: fib({0})={1}") + public static class AdditionTestWithArray { + @Parameters(name = "{index}: {0} + {1} = {2}") public static Object[][] data() { - return new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 }, - { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } }; + return new Object[][] { { 0, 0, 0 }, { 1, 1, 2 }, { 3, 2, 5 }, + { 4, 3, 7 } }; } - private final int fInput; + @Parameter(0) + public int firstSummand; - private final int fExpected; + @Parameter(1) + public int secondSummand; - public FibonacciTestWithArray(int input, int expected) { - fInput= input; - fExpected= expected; - } + @Parameter(2) + public int sum; @Test public void test() { - assertEquals(fExpected, fib(fInput)); - } - - private int fib(int x) { - return 0; + assertEquals(sum, firstSummand + secondSummand); } } @Test public void runsEveryTestOfArray() { - Result result= JUnitCore.runClasses(FibonacciTestWithArray.class); - assertEquals(7, result.getRunCount()); + Result result= JUnitCore.runClasses(AdditionTestWithArray.class); + assertEquals(4, result.getRunCount()); } @RunWith(Parameterized.class) From 2adef6f30c64c5e5e14e9261637d113f7adda884 Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Wed, 8 Apr 2015 01:33:35 +0200 Subject: [PATCH 047/436] Make injection type explicit. Makes it easier to understand the code. --- .../BlockJUnit4ClassRunnerWithParameters.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java b/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java index 1c49f84f0178..76a4712e122a 100644 --- a/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java +++ b/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java @@ -18,6 +18,10 @@ */ public class BlockJUnit4ClassRunnerWithParameters extends BlockJUnit4ClassRunner { + private enum InjectionType { + CONSTRUCTOR, FIELD + } + private final Object[] parameters; private final String name; @@ -32,10 +36,15 @@ public BlockJUnit4ClassRunnerWithParameters(TestWithParameters test) @Override public Object createTest() throws Exception { - if (fieldsAreAnnotated()) { - return createTestUsingFieldInjection(); - } else { - return createTestUsingConstructorInjection(); + InjectionType injectionType = getInjectionType(); + switch (injectionType) { + case CONSTRUCTOR: + return createTestUsingConstructorInjection(); + case FIELD: + return createTestUsingFieldInjection(); + default: + throw new IllegalStateException("The injection type " + + injectionType + " is not supported."); } } @@ -86,7 +95,7 @@ protected String testName(FrameworkMethod method) { @Override protected void validateConstructor(List errors) { validateOnlyOneConstructor(errors); - if (fieldsAreAnnotated()) { + if (getInjectionType() != InjectionType.CONSTRUCTOR) { validateZeroArgConstructor(errors); } } @@ -94,7 +103,7 @@ protected void validateConstructor(List errors) { @Override protected void validateFields(List errors) { super.validateFields(errors); - if (fieldsAreAnnotated()) { + if (getInjectionType() == InjectionType.FIELD) { List annotatedFieldsByParameter = getAnnotatedFieldsByParameter(); int[] usedIndices = new int[annotatedFieldsByParameter.size()]; for (FrameworkField each : annotatedFieldsByParameter) { @@ -137,6 +146,14 @@ private List getAnnotatedFieldsByParameter() { return getTestClass().getAnnotatedFields(Parameter.class); } + private InjectionType getInjectionType() { + if (fieldsAreAnnotated()) { + return InjectionType.FIELD; + } else { + return InjectionType.CONSTRUCTOR; + } + } + private boolean fieldsAreAnnotated() { return !getAnnotatedFieldsByParameter().isEmpty(); } From 37a8aaba8a817b4bebbeebcd645d304601a0c8f0 Mon Sep 17 00:00:00 2001 From: Stefan Birkner Date: Tue, 29 Jul 2014 22:18:47 +0200 Subject: [PATCH 048/436] Provide all annotations except RunWith. Fixes #751 Couldn't see any reason why we should remove annotations like `@Category` from the child runners of parameterized tests. Now the `Categories` runner can handle parameterized tests. --- .../experimental/categories/Categories.java | 30 ---- .../BlockJUnit4ClassRunnerWithParameters.java | 12 +- ...ckJUnit4ClassRunnerWithParametersTest.java | 45 ++++++ src/test/java/org/junit/tests/AllTests.java | 2 + .../CategoriesAndParameterizedTest.java | 130 +++++++++--------- 5 files changed, 126 insertions(+), 93 deletions(-) create mode 100644 src/test/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParametersTest.java diff --git a/src/main/java/org/junit/experimental/categories/Categories.java b/src/main/java/org/junit/experimental/categories/Categories.java index e4b89569439e..282332ba081b 100644 --- a/src/main/java/org/junit/experimental/categories/Categories.java +++ b/src/main/java/org/junit/experimental/categories/Categories.java @@ -315,7 +315,6 @@ public Categories(Class klass, RunnerBuilder builder) throws InitializationEr } catch (NoTestsRemainException e) { throw new InitializationError(e); } - assertNoCategorizedDescendentsOfUncategorizeableParents(getDescription()); } private static Set> getIncludedCategory(Class klass) { @@ -338,35 +337,6 @@ private static boolean isAnyExcluded(Class klass) { return annotation == null || annotation.matchAny(); } - private static void assertNoCategorizedDescendentsOfUncategorizeableParents(Description description) throws InitializationError { - if (canHaveCategorizedChildren(description)) { - for (Description each : description.getChildren()) { - assertNoCategorizedDescendentsOfUncategorizeableParents(each); - } - } else { - assertNoDescendantsHaveCategoryAnnotations(description); - } - } - - private static void assertNoDescendantsHaveCategoryAnnotations(Description description) throws InitializationError { - for (Description each : description.getChildren()) { - if (each.getAnnotation(Category.class) != null) { - throw new InitializationError("Category annotations on Parameterized classes are not supported on individual methods."); - } - assertNoDescendantsHaveCategoryAnnotations(each); - } - } - - // If children have names like [0], our current magical category code can't determine their parentage. - private static boolean canHaveCategorizedChildren(Description description) { - for (Description each : description.getChildren()) { - if (each.getTestClass() == null) { - return false; - } - } - return true; - } - private static boolean hasAssignableTo(Set> assigns, Class to) { for (final Class from : assigns) { if (to.isAssignableFrom(from)) { diff --git a/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java b/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java index 76a4712e122a..ffed4beaf6bb 100644 --- a/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java +++ b/src/main/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParameters.java @@ -4,6 +4,7 @@ import java.lang.reflect.Field; import java.util.List; +import org.junit.runner.RunWith; import org.junit.runner.notification.RunNotifier; import org.junit.runners.BlockJUnit4ClassRunner; import org.junit.runners.Parameterized.Parameter; @@ -139,7 +140,16 @@ protected Statement classBlock(RunNotifier notifier) { @Override protected Annotation[] getRunnerAnnotations() { - return new Annotation[0]; + Annotation[] allAnnotations = super.getRunnerAnnotations(); + Annotation[] annotationsWithoutRunWith = new Annotation[allAnnotations.length - 1]; + int i = 0; + for (Annotation annotation: allAnnotations) { + if (!annotation.annotationType().equals(RunWith.class)) { + annotationsWithoutRunWith[i] = annotation; + ++i; + } + } + return annotationsWithoutRunWith; } private List getAnnotatedFieldsByParameter() { diff --git a/src/test/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParametersTest.java b/src/test/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParametersTest.java new file mode 100644 index 000000000000..0bf637402842 --- /dev/null +++ b/src/test/java/org/junit/runners/parameterized/BlockJUnit4ClassRunnerWithParametersTest.java @@ -0,0 +1,45 @@ +package org.junit.runners.parameterized; + +import static java.util.Collections.emptyList; +import static org.junit.Assert.assertEquals; + +import java.lang.annotation.Annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.List; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.model.TestClass; + +public class BlockJUnit4ClassRunnerWithParametersTest { + private static final List NO_PARAMETERS = emptyList(); + + @RunWith(Parameterized.class) + @DummyAnnotation + public static class ClassWithParameterizedAnnotation { + @Test + public void dummyTest() { + } + } + + @Test + public void hasAllAnnotationsExceptRunWith() throws Exception { + TestWithParameters testWithParameters = new TestWithParameters( + "dummy name", new TestClass( + ClassWithParameterizedAnnotation.class), NO_PARAMETERS); + BlockJUnit4ClassRunnerWithParameters runner = new BlockJUnit4ClassRunnerWithParameters( + testWithParameters); + Annotation[] annotations = runner.getRunnerAnnotations(); + assertEquals(1, annotations.length); + assertEquals(annotations[0].annotationType(), DummyAnnotation.class); + } + + @Retention(RetentionPolicy.RUNTIME) + @Target(ElementType.TYPE) + private static @interface DummyAnnotation { + } +} \ No newline at end of file diff --git a/src/test/java/org/junit/tests/AllTests.java b/src/test/java/org/junit/tests/AllTests.java index b3d0d4527246..966ef8b0527e 100644 --- a/src/test/java/org/junit/tests/AllTests.java +++ b/src/test/java/org/junit/tests/AllTests.java @@ -18,6 +18,7 @@ import org.junit.runner.notification.ConcurrentRunNotifierTest; import org.junit.runner.notification.RunNotifierTest; import org.junit.runner.notification.SynchronizedRunListenerTest; +import org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParametersTest; import org.junit.runners.CustomBlockJUnit4ClassRunnerTest; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @@ -231,6 +232,7 @@ TypeMatchingBetweenMultiDataPointsMethod.class, TheoriesPerformanceTest.class, MoneyTest.class, + BlockJUnit4ClassRunnerWithParametersTest.class, CategoryValidatorTest.class, ForwardCompatibilityPrintingTest.class, DescriptionTest.class, diff --git a/src/test/java/org/junit/tests/experimental/categories/CategoriesAndParameterizedTest.java b/src/test/java/org/junit/tests/experimental/categories/CategoriesAndParameterizedTest.java index d01e5a7fbe9f..511d6864c5e7 100644 --- a/src/test/java/org/junit/tests/experimental/categories/CategoriesAndParameterizedTest.java +++ b/src/test/java/org/junit/tests/experimental/categories/CategoriesAndParameterizedTest.java @@ -1,18 +1,16 @@ package org.junit.tests.experimental.categories; -import static org.junit.Assert.assertThat; -import static org.junit.experimental.results.PrintableResult.testResult; -import static org.junit.experimental.results.ResultMatchers.hasFailureContaining; -import static org.junit.experimental.results.ResultMatchers.isSuccessful; +import static org.junit.Assert.assertEquals; -import java.util.Collection; -import java.util.Collections; +import java.util.Arrays; import org.junit.Assert; import org.junit.Test; import org.junit.experimental.categories.Categories; import org.junit.experimental.categories.Categories.IncludeCategory; import org.junit.experimental.categories.Category; +import org.junit.runner.JUnitCore; +import org.junit.runner.Result; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @@ -24,57 +22,55 @@ public static class Token { } @RunWith(Parameterized.class) - public static class WellBehavedParameterizedTest { - public WellBehavedParameterizedTest(String a) { - } - + public static class ParameterizedTestWithoutCategory { @Parameters - public static Collection getParameters() { - return Collections.singletonList(new Object[]{"a"}); + public static Iterable getParameters() { + return Arrays.asList("first", "second"); } + @Parameterized.Parameter + public String value; + @Test public void testSomething() { Assert.assertTrue(true); } } - @RunWith(Parameterized.class) - public static class ParameterizedTestWithAttemptedMethodCategory { - public ParameterizedTestWithAttemptedMethodCategory(String a) { - } - - @Parameters - public static Collection getParameters() { - return Collections.singletonList(new Object[]{"a"}); - } - + @Category(Token.class) + public static class TestThatAvoidsNoTestRemainsException { @Test - @Category(Token.class) public void testSomething() { Assert.assertTrue(true); } } + @RunWith(Categories.class) + @IncludeCategory(Token.class) + @SuiteClasses({ TestThatAvoidsNoTestRemainsException.class, + ParameterizedTestWithoutCategory.class }) + public static class SuiteWithParameterizedTestWithoutCategory { + } + + @Test + public void doesNotRunTestsWithoutCategory() { + Result result = new JUnitCore() + .run(SuiteWithParameterizedTestWithoutCategory.class); + assertEquals(1, result.getRunCount()); + assertEquals(0, result.getFailureCount()); + } + @RunWith(Parameterized.class) @Category(Token.class) - public static class ParameterizedTestWithClassCategory { - public ParameterizedTestWithClassCategory(String a) { - } - + public static class ParameterizedTestWithCategory { @Parameters - public static Collection getParameters() { - return Collections.singletonList(new Object[]{"a"}); + public static Iterable getParameters() { + return Arrays.asList("first", "second"); } - @Test - public void testSomething() { - Assert.assertTrue(true); - } - } + @Parameterized.Parameter + public String value; - @Category(Token.class) - public static class VanillaCategorizedJUnitTest { @Test public void testSomething() { Assert.assertTrue(true); @@ -83,41 +79,51 @@ public void testSomething() { @RunWith(Categories.class) @IncludeCategory(Token.class) - @SuiteClasses({VanillaCategorizedJUnitTest.class, - WellBehavedParameterizedTest.class, - ParameterizedTestWithClassCategory.class}) - public static class ParameterTokenSuiteWellFormed { + @SuiteClasses({ ParameterizedTestWithCategory.class }) + public static class SuiteWithParameterizedTestWithCategory { } - @RunWith(Categories.class) - @IncludeCategory(Token.class) - @SuiteClasses({ParameterizedTestWithAttemptedMethodCategory.class, VanillaCategorizedJUnitTest.class}) - public static class ParameterTokenSuiteMalformed { + @Test + public void runsTestsWithoutCategory() { + Result result = new JUnitCore() + .run(SuiteWithParameterizedTestWithCategory.class); + assertEquals(2, result.getRunCount()); + assertEquals(0, result.getFailureCount()); } - @RunWith(Categories.class) - @IncludeCategory(Token.class) - @SuiteClasses({VanillaCategorizedJUnitTest.class, ParameterizedTestWithAttemptedMethodCategory.class}) - public static class ParameterTokenSuiteMalformedAndSwapped { - } + @RunWith(Parameterized.class) + public static class ParameterizedTestWithMethodWithCategory { + @Parameters + public static Iterable getParameters() { + return Arrays.asList("first", "second"); + } - @Test - public void shouldSucceedWithAParameterizedClassSomewhere() { - assertThat(testResult(ParameterTokenSuiteWellFormed.class), - isSuccessful()); + @Parameterized.Parameter + public String value; + + @Test + @Category(Token.class) + public void testSomething() { + Assert.assertTrue(true); + } + + @Test + public void testThatIsNotExecuted() { + Assert.assertTrue(true); + } } - @Test - public void shouldFailWithMethodLevelCategoryAnnotation() { - assertThat( - testResult(ParameterTokenSuiteMalformed.class), - hasFailureContaining("Category annotations on Parameterized classes are not supported on individual methods.")); + @RunWith(Categories.class) + @IncludeCategory(Token.class) + @SuiteClasses({ ParameterizedTestWithMethodWithCategory.class }) + public static class SuiteWithParameterizedTestWithMethodWithCategory { } @Test - public void shouldFailWithMethodLevelCategoryAnnotationSwapped() { - assertThat( - testResult(ParameterTokenSuiteMalformedAndSwapped.class), - hasFailureContaining("Category annotations on Parameterized classes are not supported on individual methods.")); + public void runsTestMethodWithCategory() { + Result result = new JUnitCore() + .run(SuiteWithParameterizedTestWithMethodWithCategory.class); + assertEquals(2, result.getRunCount()); + assertEquals(0, result.getFailureCount()); } } \ No newline at end of file From 9f87b7819a63b53aae70e79fb72cc00e1837a3b6 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Wed, 8 Apr 2015 16:04:14 +0300 Subject: [PATCH 049/436] remove redundant interface modifiers --- .../org/junit/experimental/categories/Categories.java | 8 ++++---- src/main/java/org/junit/runner/Describable.java | 2 +- src/main/java/org/junit/runner/FilterFactory.java | 2 +- src/main/java/org/junit/runner/manipulation/Sortable.java | 2 +- src/main/java/org/junit/runners/Parameterized.java | 4 ++-- src/main/java/org/junit/runners/Suite.java | 2 +- src/main/java/org/junit/validator/TestClassValidator.java | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/junit/experimental/categories/Categories.java b/src/main/java/org/junit/experimental/categories/Categories.java index e4b89569439e..3384bd8576db 100644 --- a/src/main/java/org/junit/experimental/categories/Categories.java +++ b/src/main/java/org/junit/experimental/categories/Categories.java @@ -86,13 +86,13 @@ public class Categories extends Suite { * Determines the tests to run that are annotated with categories specified in * the value of this annotation or their subtypes unless excluded with {@link ExcludeCategory}. */ - public Class[] value() default {}; + Class[] value() default {}; /** * If true, runs tests annotated with any of the categories in * {@link IncludeCategory#value()}. Otherwise, runs tests only if annotated with all of the categories. */ - public boolean matchAny() default true; + boolean matchAny() default true; } @Retention(RetentionPolicy.RUNTIME) @@ -101,13 +101,13 @@ public class Categories extends Suite { * Determines the tests which do not run if they are annotated with categories specified in the * value of this annotation or their subtypes regardless of being included in {@link IncludeCategory#value()}. */ - public Class[] value() default {}; + Class[] value() default {}; /** * If true, the tests annotated with any of the categories in {@link ExcludeCategory#value()} * do not run. Otherwise, the tests do not run if and only if annotated with all categories. */ - public boolean matchAny() default true; + boolean matchAny() default true; } public static class CategoryFilter extends Filter { diff --git a/src/main/java/org/junit/runner/Describable.java b/src/main/java/org/junit/runner/Describable.java index 151414181b35..293fdb32a5c6 100644 --- a/src/main/java/org/junit/runner/Describable.java +++ b/src/main/java/org/junit/runner/Describable.java @@ -10,5 +10,5 @@ public interface Describable { /** * @return a {@link Description} showing the tests to be run by the receiver */ - public abstract Description getDescription(); + Description getDescription(); } \ No newline at end of file diff --git a/src/main/java/org/junit/runner/FilterFactory.java b/src/main/java/org/junit/runner/FilterFactory.java index d9c741c6a4b6..e2bfb7358044 100644 --- a/src/main/java/org/junit/runner/FilterFactory.java +++ b/src/main/java/org/junit/runner/FilterFactory.java @@ -17,7 +17,7 @@ public interface FilterFactory { * Exception thrown if the {@link Filter} cannot be created. */ @SuppressWarnings("serial") - public static class FilterNotCreatedException extends Exception { + class FilterNotCreatedException extends Exception { public FilterNotCreatedException(Exception exception) { super(exception.getMessage(), exception); } diff --git a/src/main/java/org/junit/runner/manipulation/Sortable.java b/src/main/java/org/junit/runner/manipulation/Sortable.java index 9ac864c60a2d..0c59f330a371 100644 --- a/src/main/java/org/junit/runner/manipulation/Sortable.java +++ b/src/main/java/org/junit/runner/manipulation/Sortable.java @@ -15,6 +15,6 @@ public interface Sortable { * * @param sorter the {@link Sorter} to use for sorting the tests */ - public void sort(Sorter sorter); + void sort(Sorter sorter); } diff --git a/src/main/java/org/junit/runners/Parameterized.java b/src/main/java/org/junit/runners/Parameterized.java index 70d883bc9da5..cc7c804f4daa 100644 --- a/src/main/java/org/junit/runners/Parameterized.java +++ b/src/main/java/org/junit/runners/Parameterized.java @@ -174,7 +174,7 @@ public class Parameterized extends Suite { */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) - public static @interface Parameters { + public @interface Parameters { /** * Optional pattern to derive the test's name from the parameters. Use * numbers in braces to refer to the parameters or the additional data @@ -205,7 +205,7 @@ public class Parameterized extends Suite { */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) - public static @interface Parameter { + public @interface Parameter { /** * Method that returns the index of the parameter in the array * returned by the method annotated by Parameters. diff --git a/src/main/java/org/junit/runners/Suite.java b/src/main/java/org/junit/runners/Suite.java index b37179f4fa0b..6652bbcad980 100644 --- a/src/main/java/org/junit/runners/Suite.java +++ b/src/main/java/org/junit/runners/Suite.java @@ -47,7 +47,7 @@ public static Runner emptySuite() { /** * @return the classes to be run */ - public Class[] value(); + Class[] value(); } private static Class[] getAnnotatedClasses(Class klass) throws InitializationError { diff --git a/src/main/java/org/junit/validator/TestClassValidator.java b/src/main/java/org/junit/validator/TestClassValidator.java index 43cb787e01c7..ba5e892a156f 100644 --- a/src/main/java/org/junit/validator/TestClassValidator.java +++ b/src/main/java/org/junit/validator/TestClassValidator.java @@ -17,5 +17,5 @@ public interface TestClassValidator { * the {@link TestClass} that is validated. * @return the validation errors found by the validator. */ - public List validateTestClass(TestClass testClass); + List validateTestClass(TestClass testClass); } From 10f8f5ada174ee2b3480485980865b26db4bcdbc Mon Sep 17 00:00:00 2001 From: Jonathan Beaudoin Date: Sun, 19 Apr 2015 17:53:49 -0400 Subject: [PATCH 050/436] Update Test.java Fixed a grammatically incorrect comment. --- src/main/java/org/junit/Test.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/Test.java b/src/main/java/org/junit/Test.java index 71ac4287dbef..1d178ece3d6a 100644 --- a/src/main/java/org/junit/Test.java +++ b/src/main/java/org/junit/Test.java @@ -66,7 +66,7 @@ public @interface Test { /** - * Default empty exception + * Default empty exception. */ static class None extends Throwable { private static final long serialVersionUID = 1L; From b3f336f375f1c49f63d9058897d92edcc0ebb8a5 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 1 May 2015 18:07:45 +0200 Subject: [PATCH 051/436] EPL agreement will be shown for new pull requests The Eclipse Foundation requires that all contributors agree to these terms so that Eclipse can continue to ship with Eclipse. --- CONTRIBUTING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 629ea4cb6bbb..568dfa0e6b61 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,13 @@ +### Project License: Eclipse Public License v1.0 + +- You will only Submit Contributions where You have authored 100% of the content. +- You will only Submit Contributions to which You have the necessary rights. This means that if You are employed You have received the necessary permissions from Your employer to make the Contributions. +- Whatever content You Contribute will be provided under the Project License(s). + +--- + +### How to submit a pull request + We love pull requests. Here is a quick guide: 1. You need to have Maven and a JDK (at least version 1.5) installed. From 03eff4b98a38d617a3d0cbc047221d7d337eeb86 Mon Sep 17 00:00:00 2001 From: EarthCitizen Date: Wed, 13 May 2015 15:23:48 -0700 Subject: [PATCH 052/436] JavaDoc Clean-up Rules Implement TestRule This cleans up the JavaDoc, removing links to classes which no longer implement this interface. --- src/main/java/org/junit/rules/MethodRule.java | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/junit/rules/MethodRule.java b/src/main/java/org/junit/rules/MethodRule.java index 823ee7812d00..94608f5a88f9 100644 --- a/src/main/java/org/junit/rules/MethodRule.java +++ b/src/main/java/org/junit/rules/MethodRule.java @@ -10,21 +10,9 @@ * {@link Statement} that executes the method is passed to each annotated * {@link Rule} in turn, and each may return a substitute or modified * {@link Statement}, which is passed to the next {@link Rule}, if any. For - * examples of how this can be useful, see these provided MethodRules, - * or write your own: + * an example of how this can be useful, see {@link TestWatchman}. * - *
      - *
    • {@link ErrorCollector}: collect multiple errors in one test method
    • - *
    • {@link ExpectedException}: make flexible assertions about thrown exceptions
    • - *
    • {@link ExternalResource}: start and stop a server, for example
    • - *
    • {@link TemporaryFolder}: create fresh files, and delete after test
    • - *
    • {@link TestName}: remember the test name for use during the method
    • - *
    • {@link TestWatchman}: add logic at events during method execution
    • - *
    • {@link Timeout}: cause test to fail after a set time
    • - *
    • {@link Verifier}: fail test if object state ends up incorrect
    • - *
    - * - * Note that {@link MethodRule} has been replaced by {@link TestRule}, + *

    Note that {@link MethodRule} has been replaced by {@link TestRule}, * which has the added benefit of supporting class rules. * * @since 4.7 From 82118e728701b7b0f81a2dd4a69b2290de056b28 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Tue, 12 May 2015 18:39:55 +0300 Subject: [PATCH 053/436] some sonar fixes --- src/main/java/org/junit/Assert.java | 84 +++++++++---------- src/main/java/org/junit/Assume.java | 9 ++ .../experimental/results/ResultMatchers.java | 9 ++ .../theories/internal/Assignments.java | 11 ++- src/main/java/org/junit/internal/Classes.java | 9 ++ .../java/org/junit/internal/TextListener.java | 2 +- .../internal/matchers/TypeSafeMatcher.java | 2 +- .../junit/runners/BlockJUnit4ClassRunner.java | 14 ++-- 8 files changed, 85 insertions(+), 55 deletions(-) diff --git a/src/main/java/org/junit/Assert.java b/src/main/java/org/junit/Assert.java index d7deb06bb33e..c775035f2d32 100755 --- a/src/main/java/org/junit/Assert.java +++ b/src/main/java/org/junit/Assert.java @@ -36,7 +36,7 @@ protected Assert() { * okay) * @param condition condition to be checked */ - static public void assertTrue(String message, boolean condition) { + public static void assertTrue(String message, boolean condition) { if (!condition) { fail(message); } @@ -48,7 +48,7 @@ static public void assertTrue(String message, boolean condition) { * * @param condition condition to be checked */ - static public void assertTrue(boolean condition) { + public static void assertTrue(boolean condition) { assertTrue(null, condition); } @@ -60,7 +60,7 @@ static public void assertTrue(boolean condition) { * okay) * @param condition condition to be checked */ - static public void assertFalse(String message, boolean condition) { + public static void assertFalse(String message, boolean condition) { assertTrue(message, !condition); } @@ -70,7 +70,7 @@ static public void assertFalse(String message, boolean condition) { * * @param condition condition to be checked */ - static public void assertFalse(boolean condition) { + public static void assertFalse(boolean condition) { assertFalse(null, condition); } @@ -81,7 +81,7 @@ static public void assertFalse(boolean condition) { * okay) * @see AssertionError */ - static public void fail(String message) { + public static void fail(String message) { if (message == null) { throw new AssertionError(); } @@ -91,7 +91,7 @@ static public void fail(String message) { /** * Fails a test with no message. */ - static public void fail() { + public static void fail() { fail(null); } @@ -106,11 +106,12 @@ static public void fail() { * @param expected expected value * @param actual actual value */ - static public void assertEquals(String message, Object expected, + public static void assertEquals(String message, Object expected, Object actual) { if (equalsRegardingNull(expected, actual)) { return; - } else if (expected instanceof String && actual instanceof String) { + } + if (expected instanceof String && actual instanceof String) { String cleanMessage = message == null ? "" : message; throw new ComparisonFailure(cleanMessage, (String) expected, (String) actual); @@ -140,7 +141,7 @@ private static boolean isEquals(Object expected, Object actual) { * @param expected expected value * @param actual the value to check against expected */ - static public void assertEquals(Object expected, Object actual) { + public static void assertEquals(Object expected, Object actual) { assertEquals(null, expected, actual); } @@ -155,7 +156,7 @@ static public void assertEquals(Object expected, Object actual) { * @param unexpected unexpected value to check * @param actual the value to check against unexpected */ - static public void assertNotEquals(String message, Object unexpected, + public static void assertNotEquals(String message, Object unexpected, Object actual) { if (equalsRegardingNull(unexpected, actual)) { failEquals(message, actual); @@ -171,7 +172,7 @@ static public void assertNotEquals(String message, Object unexpected, * @param unexpected unexpected value to check * @param actual the value to check against unexpected */ - static public void assertNotEquals(Object unexpected, Object actual) { + public static void assertNotEquals(Object unexpected, Object actual) { assertNotEquals(null, unexpected, actual); } @@ -194,7 +195,7 @@ private static void failEquals(String message, Object actual) { * @param unexpected unexpected value to check * @param actual the value to check against unexpected */ - static public void assertNotEquals(String message, long unexpected, long actual) { + public static void assertNotEquals(String message, long unexpected, long actual) { if (unexpected == actual) { failEquals(message, Long.valueOf(actual)); } @@ -207,7 +208,7 @@ static public void assertNotEquals(String message, long unexpected, long actual) * @param unexpected unexpected value to check * @param actual the value to check against unexpected */ - static public void assertNotEquals(long unexpected, long actual) { + public static void assertNotEquals(long unexpected, long actual) { assertNotEquals(null, unexpected, actual); } @@ -226,7 +227,7 @@ static public void assertNotEquals(long unexpected, long actual) { * actual for which both numbers are still * considered equal. */ - static public void assertNotEquals(String message, double unexpected, + public static void assertNotEquals(String message, double unexpected, double actual, double delta) { if (!doubleIsDifferent(unexpected, actual, delta)) { failEquals(message, Double.valueOf(actual)); @@ -245,7 +246,7 @@ static public void assertNotEquals(String message, double unexpected, * actual for which both numbers are still * considered equal. */ - static public void assertNotEquals(double unexpected, double actual, double delta) { + public static void assertNotEquals(double unexpected, double actual, double delta) { assertNotEquals(null, unexpected, actual, delta); } @@ -261,7 +262,7 @@ static public void assertNotEquals(double unexpected, double actual, double delt * actual for which both numbers are still * considered equal. */ - static public void assertNotEquals(float unexpected, float actual, float delta) { + public static void assertNotEquals(float unexpected, float actual, float delta) { assertNotEquals(null, unexpected, actual, delta); } @@ -547,7 +548,7 @@ private static void internalArrayEquals(String message, Object expecteds, * actual for which both numbers are still * considered equal. */ - static public void assertEquals(String message, double expected, + public static void assertEquals(String message, double expected, double actual, double delta) { if (doubleIsDifferent(expected, actual, delta)) { failNotEquals(message, Double.valueOf(expected), Double.valueOf(actual)); @@ -569,7 +570,7 @@ static public void assertEquals(String message, double expected, * actual for which both numbers are still * considered equal. */ - static public void assertEquals(String message, float expected, + public static void assertEquals(String message, float expected, float actual, float delta) { if (floatIsDifferent(expected, actual, delta)) { failNotEquals(message, Float.valueOf(expected), Float.valueOf(actual)); @@ -591,14 +592,14 @@ static public void assertEquals(String message, float expected, * actual for which both numbers are still * considered equal. */ - static public void assertNotEquals(String message, float unexpected, + public static void assertNotEquals(String message, float unexpected, float actual, float delta) { if (!floatIsDifferent(unexpected, actual, delta)) { - failEquals(message, Float.valueOf(actual)); + failEquals(message, actual); } } - static private boolean doubleIsDifferent(double d1, double d2, double delta) { + private static boolean doubleIsDifferent(double d1, double d2, double delta) { if (Double.compare(d1, d2) == 0) { return false; } @@ -609,7 +610,7 @@ static private boolean doubleIsDifferent(double d1, double d2, double delta) { return true; } - static private boolean floatIsDifferent(float f1, float f2, float delta) { + private static boolean floatIsDifferent(float f1, float f2, float delta) { if (Float.compare(f1, f2) == 0) { return false; } @@ -627,7 +628,7 @@ static private boolean floatIsDifferent(float f1, float f2, float delta) { * @param expected expected long value. * @param actual actual long value */ - static public void assertEquals(long expected, long actual) { + public static void assertEquals(long expected, long actual) { assertEquals(null, expected, actual); } @@ -640,7 +641,7 @@ static public void assertEquals(long expected, long actual) { * @param expected long expected value. * @param actual long actual value */ - static public void assertEquals(String message, long expected, long actual) { + public static void assertEquals(String message, long expected, long actual) { if (expected != actual) { failNotEquals(message, Long.valueOf(expected), Long.valueOf(actual)); } @@ -652,7 +653,7 @@ static public void assertEquals(String message, long expected, long actual) { * instead */ @Deprecated - static public void assertEquals(double expected, double actual) { + public static void assertEquals(double expected, double actual) { assertEquals(null, expected, actual); } @@ -662,7 +663,7 @@ static public void assertEquals(double expected, double actual) { * instead */ @Deprecated - static public void assertEquals(String message, double expected, + public static void assertEquals(String message, double expected, double actual) { fail("Use assertEquals(expected, actual, delta) to compare floating-point numbers"); } @@ -679,7 +680,7 @@ static public void assertEquals(String message, double expected, * actual for which both numbers are still * considered equal. */ - static public void assertEquals(double expected, double actual, double delta) { + public static void assertEquals(double expected, double actual, double delta) { assertEquals(null, expected, actual, delta); } @@ -695,8 +696,7 @@ static public void assertEquals(double expected, double actual, double delta) { * actual for which both numbers are still * considered equal. */ - - static public void assertEquals(float expected, float actual, float delta) { + public static void assertEquals(float expected, float actual, float delta) { assertEquals(null, expected, actual, delta); } @@ -708,7 +708,7 @@ static public void assertEquals(float expected, float actual, float delta) { * okay) * @param object Object to check or null */ - static public void assertNotNull(String message, Object object) { + public static void assertNotNull(String message, Object object) { assertTrue(message, object != null); } @@ -718,7 +718,7 @@ static public void assertNotNull(String message, Object object) { * * @param object Object to check or null */ - static public void assertNotNull(Object object) { + public static void assertNotNull(Object object) { assertNotNull(null, object); } @@ -730,7 +730,7 @@ static public void assertNotNull(Object object) { * okay) * @param object Object to check or null */ - static public void assertNull(String message, Object object) { + public static void assertNull(String message, Object object) { if (object == null) { return; } @@ -743,11 +743,11 @@ static public void assertNull(String message, Object object) { * * @param object Object to check or null */ - static public void assertNull(Object object) { + public static void assertNull(Object object) { assertNull(null, object); } - static private void failNotNull(String message, Object actual) { + private static void failNotNull(String message, Object actual) { String formatted = ""; if (message != null) { formatted = message + " "; @@ -764,7 +764,7 @@ static private void failNotNull(String message, Object actual) { * @param expected the expected object * @param actual the object to compare to expected */ - static public void assertSame(String message, Object expected, Object actual) { + public static void assertSame(String message, Object expected, Object actual) { if (expected == actual) { return; } @@ -778,7 +778,7 @@ static public void assertSame(String message, Object expected, Object actual) { * @param expected the expected object * @param actual the object to compare to expected */ - static public void assertSame(Object expected, Object actual) { + public static void assertSame(Object expected, Object actual) { assertSame(null, expected, actual); } @@ -792,7 +792,7 @@ static public void assertSame(Object expected, Object actual) { * @param unexpected the object you don't expect * @param actual the object to compare to unexpected */ - static public void assertNotSame(String message, Object unexpected, + public static void assertNotSame(String message, Object unexpected, Object actual) { if (unexpected == actual) { failSame(message); @@ -807,11 +807,11 @@ static public void assertNotSame(String message, Object unexpected, * @param unexpected the object you don't expect * @param actual the object to compare to unexpected */ - static public void assertNotSame(Object unexpected, Object actual) { + public static void assertNotSame(Object unexpected, Object actual) { assertNotSame(null, unexpected, actual); } - static private void failSame(String message) { + private static void failSame(String message) { String formatted = ""; if (message != null) { formatted = message + " "; @@ -819,7 +819,7 @@ static private void failSame(String message) { fail(formatted + "expected not same"); } - static private void failNotSame(String message, Object expected, + private static void failNotSame(String message, Object expected, Object actual) { String formatted = ""; if (message != null) { @@ -829,14 +829,14 @@ static private void failNotSame(String message, Object expected, + ">"); } - static private void failNotEquals(String message, Object expected, + private static void failNotEquals(String message, Object expected, Object actual) { fail(format(message, expected, actual)); } static String format(String message, Object expected, Object actual) { String formatted = ""; - if (message != null && !message.equals("")) { + if (message != null && !"".equals(message)) { formatted = message + " "; } String expectedString = String.valueOf(expected); diff --git a/src/main/java/org/junit/Assume.java b/src/main/java/org/junit/Assume.java index b7687f7c1ffa..69fac45cad67 100644 --- a/src/main/java/org/junit/Assume.java +++ b/src/main/java/org/junit/Assume.java @@ -34,6 +34,15 @@ * @since 4.4 */ public class Assume { + + /** + * Do not instantiate. + * @deprecated since 4.13. + */ + @Deprecated + public Assume() { + } + /** * If called with an expression evaluating to {@code false}, the test will halt and be ignored. */ diff --git a/src/main/java/org/junit/experimental/results/ResultMatchers.java b/src/main/java/org/junit/experimental/results/ResultMatchers.java index cf58f1bc499a..98778a9f924e 100644 --- a/src/main/java/org/junit/experimental/results/ResultMatchers.java +++ b/src/main/java/org/junit/experimental/results/ResultMatchers.java @@ -14,6 +14,15 @@ * */ public class ResultMatchers { + + /** + * Do not instantiate. + * @deprecated will be private soon. + */ + @Deprecated + public ResultMatchers() { + } + /** * Matches if the tests are all successful */ diff --git a/src/main/java/org/junit/experimental/theories/internal/Assignments.java b/src/main/java/org/junit/experimental/theories/internal/Assignments.java index a94c8a5e00b1..6626797ef089 100644 --- a/src/main/java/org/junit/experimental/theories/internal/Assignments.java +++ b/src/main/java/org/junit/experimental/theories/internal/Assignments.java @@ -47,7 +47,7 @@ public static Assignments allUnassigned(Method testMethod, } public boolean isComplete() { - return unassigned.size() == 0; + return unassigned.isEmpty(); } public ParameterSignature nextUnassigned() { @@ -55,11 +55,10 @@ public ParameterSignature nextUnassigned() { } public Assignments assignNext(PotentialAssignment source) { - List assigned = new ArrayList( - this.assigned); - assigned.add(source); + List potentialAssignments = new ArrayList(assigned); + potentialAssignments.add(source); - return new Assignments(assigned, unassigned.subList(1, + return new Assignments(potentialAssignments, unassigned.subList(1, unassigned.size()), clazz); } @@ -77,7 +76,7 @@ public List potentialsForNextUnassigned() ParameterSignature unassigned = nextUnassigned(); List assignments = getSupplier(unassigned).getValueSources(unassigned); - if (assignments.size() == 0) { + if (assignments.isEmpty()) { assignments = generateAssignmentsFromTypeAlone(unassigned); } diff --git a/src/main/java/org/junit/internal/Classes.java b/src/main/java/org/junit/internal/Classes.java index 154603d2e4f6..beca4453ae2f 100644 --- a/src/main/java/org/junit/internal/Classes.java +++ b/src/main/java/org/junit/internal/Classes.java @@ -6,6 +6,15 @@ * Miscellaneous functions dealing with classes. */ public class Classes { + + /** + * Do not instantiate. + * @deprecated will be private soon. + */ + @Deprecated + public Classes() { + } + /** * Returns Class.forName for {@code className} using the current thread's class loader. * diff --git a/src/main/java/org/junit/internal/TextListener.java b/src/main/java/org/junit/internal/TextListener.java index 9aa56c75f5ec..a75e80d50618 100644 --- a/src/main/java/org/junit/internal/TextListener.java +++ b/src/main/java/org/junit/internal/TextListener.java @@ -58,7 +58,7 @@ protected void printHeader(long runTime) { protected void printFailures(Result result) { List failures = result.getFailures(); - if (failures.size() == 0) { + if (failures.isEmpty()) { return; } if (failures.size() == 1) { diff --git a/src/main/java/org/junit/internal/matchers/TypeSafeMatcher.java b/src/main/java/org/junit/internal/matchers/TypeSafeMatcher.java index 4e2cc1264d09..fb25982bbd4d 100644 --- a/src/main/java/org/junit/internal/matchers/TypeSafeMatcher.java +++ b/src/main/java/org/junit/internal/matchers/TypeSafeMatcher.java @@ -40,7 +40,7 @@ private static Class findExpectedType(Class fromClass) { } private static boolean isMatchesSafelyMethod(Method method) { - return method.getName().equals("matchesSafely") + return "matchesSafely".equals(method.getName()) && method.getParameterTypes().length == 1 && !method.isSynthetic(); } diff --git a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java index 8c3cef6c9d91..822f8dc47bfa 100644 --- a/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java +++ b/src/main/java/org/junit/runners/BlockJUnit4ClassRunner.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import org.junit.After; @@ -56,7 +57,7 @@ */ public class BlockJUnit4ClassRunner extends ParentRunner { - private final ConcurrentHashMap methodDescriptions = new ConcurrentHashMap(); + private final ConcurrentMap methodDescriptions = new ConcurrentHashMap(); /** * Creates a BlockJUnit4ClassRunner to run {@code testClass} @@ -189,6 +190,7 @@ private boolean hasOneConstructor() { * Adds to {@code errors} for each method annotated with {@code @Test}, * {@code @Before}, or {@code @After} that is not a public, void instance * method with no arguments. + * @deprecated */ @Deprecated protected void validateInstanceMethods(List errors) { @@ -196,7 +198,7 @@ protected void validateInstanceMethods(List errors) { validatePublicVoidNoArgMethods(Before.class, false, errors); validateTestMethods(errors); - if (computeTestMethods().size() == 0) { + if (computeTestMethods().isEmpty()) { errors.add(new Exception("No runnable methods")); } } @@ -326,6 +328,7 @@ protected Statement possiblyExpectingExceptions(FrameworkMethod method, * Returns a {@link Statement}: if {@code method}'s {@code @Test} annotation * has the {@code timeout} attribute, throw an exception if {@code next} * takes more than the specified number of milliseconds. + * @deprecated */ @Deprecated protected Statement withPotentialTimeout(FrameworkMethod method, @@ -379,12 +382,13 @@ private Statement withRules(FrameworkMethod method, Object target, private Statement withMethodRules(FrameworkMethod method, List testRules, Object target, Statement result) { + Statement withMethodRules = result; for (org.junit.rules.MethodRule each : getMethodRules(target)) { - if (!testRules.contains(each)) { - result = each.apply(result, method, target); + if (!(each instanceof TestRule && testRules.contains(each))) { + withMethodRules = each.apply(withMethodRules, method, target); } } - return result; + return withMethodRules; } private List getMethodRules(Object target) { From 1ce094e73a673fefb7ef69c8734f19a51293b47d Mon Sep 17 00:00:00 2001 From: izeye Date: Fri, 5 Jun 2015 01:12:52 +0900 Subject: [PATCH 054/436] Fix Javadoc in Theories --- src/main/java/org/junit/experimental/theories/Theories.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/experimental/theories/Theories.java b/src/main/java/org/junit/experimental/theories/Theories.java index 817f553a51bc..8c955c399c43 100644 --- a/src/main/java/org/junit/experimental/theories/Theories.java +++ b/src/main/java/org/junit/experimental/theories/Theories.java @@ -51,7 +51,7 @@ * } * } * - * This makes it clear that the user's filename should be included in the config file name, + * This makes it clear that the username should be included in the config file name, * only if it doesn't contain a slash. Another test or theory might define what happens when a username does contain * a slash. UserTest will attempt to run filenameIncludesUsername on every compatible data * point defined in the class. If any of the assumptions fail, the data point is silently ignored. If all of the From 99da5691c6cf70af52c4793ffab717a9f3085753 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 31 May 2015 13:34:37 -0400 Subject: [PATCH 055/436] Make exception message more descriptive when methods do not have a void return value. Closes #1152 --- src/main/java/org/junit/internal/runners/MethodValidator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/internal/runners/MethodValidator.java b/src/main/java/org/junit/internal/runners/MethodValidator.java index ba9c9d1546ba..e656ee50efea 100644 --- a/src/main/java/org/junit/internal/runners/MethodValidator.java +++ b/src/main/java/org/junit/internal/runners/MethodValidator.java @@ -86,7 +86,7 @@ private void validateTestMethods(Class annotation, } if (each.getReturnType() != Void.TYPE) { errors.add(new Exception("Method " + each.getName() - + " should be void")); + + "should have a return type of void")); } if (each.getParameterTypes().length != 0) { errors.add(new Exception("Method " + each.getName() From eedd1f68fbd014beca60c979e8173c271ea5cf2d Mon Sep 17 00:00:00 2001 From: Ryan Schmitt Date: Thu, 4 Jun 2015 10:21:13 -0700 Subject: [PATCH 056/436] Upate TestName to make the 'name' field volatile. This ensures that the name is published across threads correctly--for instance, if a parallelized runner is used. Closes #1157 --- src/main/java/org/junit/rules/TestName.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/rules/TestName.java b/src/main/java/org/junit/rules/TestName.java index bf726023bf68..e2ebc2ec97d1 100644 --- a/src/main/java/org/junit/rules/TestName.java +++ b/src/main/java/org/junit/rules/TestName.java @@ -25,7 +25,7 @@ * @since 4.7 */ public class TestName extends TestWatcher { - private String name; + private volatile String name; @Override protected void starting(Description d) { From 989be00be3baecb3e47bc95ba981d642bb9eca81 Mon Sep 17 00:00:00 2001 From: Ryan Schmitt Date: Thu, 4 Jun 2015 10:16:02 -0700 Subject: [PATCH 057/436] Remove dead code in TestRuleTest. Closes #1156 --- .../tests/experimental/rules/TestRuleTest.java | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/test/java/org/junit/tests/experimental/rules/TestRuleTest.java b/src/test/java/org/junit/tests/experimental/rules/TestRuleTest.java index f8aafc56d896..1c1355ffffb6 100644 --- a/src/test/java/org/junit/tests/experimental/rules/TestRuleTest.java +++ b/src/test/java/org/junit/tests/experimental/rules/TestRuleTest.java @@ -391,8 +391,6 @@ public void methodRuleIsIntroducedAndEvaluatedOnSubclass() { assertTrue(wasRun); } -// private static int runCount; - public static class MethodMultipleRuleTest { private static class Increment implements TestRule { public Statement apply(final Statement base, Description description) { @@ -676,8 +674,6 @@ public void evaluate() throws Throwable { } } - ; - public static class UsesFieldAndMethodRule { @Rule public OrderTestRule orderMethod() { @@ -700,15 +696,6 @@ public void usesFieldAndMethodRule() { assertThat(testResult(UsesFieldAndMethodRule.class), isSuccessful()); } - public static class MultipleCallsTest implements TestRule { - public int applications = 0; - - public Statement apply(Statement base, Description description) { - applications++; - return base; - } - } - public static class CallMethodOnlyOnceRule { int countOfMethodCalls = 0; From 40226c72383c689c02a5cd05271428e948365a01 Mon Sep 17 00:00:00 2001 From: Hans Joachim Desserud Date: Wed, 10 Jun 2015 20:33:31 +0200 Subject: [PATCH 058/436] Upgrade plugins to latest version. maven-compiler-plugin .................................... 3.2 -> 3.3 maven-enforcer-plugin .................................. 1.3.1 -> 1.4 maven-gpg-plugin ......................................... 1.5 -> 1.6 maven-jar-plugin ......................................... 2.5 -> 2.6 maven-javadoc-plugin ............................... 2.10.1 -> 2.10.3 maven-project-info-reports-plugin ........................ 2.7 -> 2.8 maven-release-plugin ................................. 2.5.1 -> 2.5.2 org.codehaus.mojo:animal-sniffer-maven-plugin .......... 1.13 -> 1.14 --- pom.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index c5c7821f03ac..127127455ea9 100644 --- a/pom.xml +++ b/pom.xml @@ -146,7 +146,7 @@ the project, requires only release versions of dependencies of other artifacts. --> maven-enforcer-plugin - 1.3.1 + 1.4 enforce-versions @@ -211,7 +211,7 @@ java compiler plugin forked in extra process --> maven-compiler-plugin - 3.2 + 3.3 ${project.build.sourceEncoding} ${jdkVersion} @@ -232,7 +232,7 @@ org.codehaus.mojo animal-sniffer-maven-plugin - 1.13 + 1.14 signature-check @@ -278,7 +278,7 @@ in jar archive target/junit-*-javadoc.jar. --> maven-javadoc-plugin - 2.10.1 + 2.10.3 ${basedir}/src/main/javadoc/stylesheet.css protected @@ -311,7 +311,7 @@ maven-release-plugin - 2.5.1 + 2.5.2 forked-path false @@ -337,7 +337,7 @@ maven-jar-plugin - 2.5 + 2.6 false @@ -354,7 +354,7 @@ maven-project-info-reports-plugin - 2.7 + 2.8 false @@ -440,7 +440,7 @@ (–– stands for double dash) --> maven-gpg-plugin - 1.5 + 1.6 gpg-sign From 9b926838cecedd7933681cb176e59f059ae1f0ad Mon Sep 17 00:00:00 2001 From: Hans Joachim Desserud Date: Wed, 10 Jun 2015 20:40:13 +0200 Subject: [PATCH 059/436] Add explicit version numbers for additional plugins. Without explicit version numbers they would use the default set in Maven, which might vary depending on the release --- pom.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pom.xml b/pom.xml index 127127455ea9..f44b5842c9ae 100644 --- a/pom.xml +++ b/pom.xml @@ -347,6 +347,22 @@ + + maven-clean-plugin + 2.6.1 + + + maven-deploy-plugin + 2.8.2 + + + maven-install-plugin + 2.5.2 + + + maven-resources-plugin + 2.7 + From e5c943ada7ad1b3b79570ff10b11d396927a337d Mon Sep 17 00:00:00 2001 From: Jin Haifeng Date: Sat, 27 Jun 2015 01:39:29 +0800 Subject: [PATCH 060/436] Fixed a typo in step 7 in the quick guide. The number should be 7 instead of 6 --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 568dfa0e6b61..8868bba8e69b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,7 @@ We love pull requests. Here is a quick guide: 4. Ensure that you have a clean state by running `mvn verify` 5. Add your change together with a test (tests are not needed for refactorings and documentation changes). 6. Format your code: Import the JUnit project in Eclipse and use its formatter or apply the rules in the `CODING_STYLE` file manually. Only format the code you've changed; reformatting unrelated code makes it harder for us to review your changes. -6. Run `mvn verify` again and ensure all tests are passing. +7. Run `mvn verify` again and ensure all tests are passing. 8. Push to your fork and submit a pull request. Now you are waiting on us. We review your pull request and at least leave some comments. From e848a97320851c8614cf9712fa5e2b5092d82925 Mon Sep 17 00:00:00 2001 From: Jin Haifeng Date: Sat, 27 Jun 2015 01:53:16 +0800 Subject: [PATCH 061/436] Added some helpful links. Changed the format of the link of "Fork the repo". Added the links for "Create a new branch" and "submit a pull request", which are useful for first time contributors who need this quick guide. --- CONTRIBUTING.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8868bba8e69b..4ce0de739e9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,13 +11,13 @@ We love pull requests. Here is a quick guide: 1. You need to have Maven and a JDK (at least version 1.5) installed. -2. Fork the repo (see https://help.github.com/articles/fork-a-repo) -3. Create a new branch from master. -4. Ensure that you have a clean state by running `mvn verify` +2. [Fork the repo](https://help.github.com/articles/fork-a-repo). +3. [Create a new branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/) from master. +4. Ensure that you have a clean state by running `mvn verify`. 5. Add your change together with a test (tests are not needed for refactorings and documentation changes). 6. Format your code: Import the JUnit project in Eclipse and use its formatter or apply the rules in the `CODING_STYLE` file manually. Only format the code you've changed; reformatting unrelated code makes it harder for us to review your changes. 7. Run `mvn verify` again and ensure all tests are passing. -8. Push to your fork and submit a pull request. +8. Push to your fork and [submit a pull request](https://help.github.com/articles/creating-a-pull-request/). Now you are waiting on us. We review your pull request and at least leave some comments. From b8057bc33957a83086019fb5edca386add6d0b6c Mon Sep 17 00:00:00 2001 From: Arie van Deursen Date: Wed, 1 Jul 2015 21:44:01 +0200 Subject: [PATCH 062/436] Let replacer plugin use build.sourceDirectory property. The old maven replacer plugin was configured with a relative link to the source path. This caused "mvn -f path/pom.xml" to fail. The modified pom file used the project.build.sourceDirectory property, which solves this problem. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f44b5842c9ae..29b637064edb 100644 --- a/pom.xml +++ b/pom.xml @@ -199,8 +199,8 @@ false - src/main/java/junit/runner/Version.java.template - src/main/java/junit/runner/Version.java + ${project.build.sourceDirectory}/junit/runner/Version.java.template + ${project.build.sourceDirectory}/junit/runner/Version.java false @version@ ${project.version} From 45f22658aca9059a1a3c1dbf0d07ca91118e5f1b Mon Sep 17 00:00:00 2001 From: cnauroth Date: Thu, 2 Jul 2015 13:48:33 -0700 Subject: [PATCH 063/436] Avoid calling a deprecated constructor in the JavaDoc sample for the Timeout rule. --- src/main/java/org/junit/rules/Timeout.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/junit/rules/Timeout.java b/src/main/java/org/junit/rules/Timeout.java index 62298c3d5f61..40af54e0b87f 100644 --- a/src/main/java/org/junit/rules/Timeout.java +++ b/src/main/java/org/junit/rules/Timeout.java @@ -13,7 +13,7 @@ * public static class HasGlobalLongTimeout { * * @Rule - * public Timeout globalTimeout= new Timeout(20); + * public Timeout globalTimeout = Timeout.millis(20); * * @Test * public void run1() throws InterruptedException { @@ -87,4 +87,4 @@ public static Timeout seconds(long seconds) { public Statement apply(Statement base, Description description) { return new FailOnTimeout(base, fTimeout, fTimeUnit); } -} \ No newline at end of file +} From bdb1799a6b58c4ab40c418111333f4e8e1816e7e Mon Sep 17 00:00:00 2001 From: Ryan Schmitt Date: Wed, 3 Jun 2015 18:43:01 -0700 Subject: [PATCH 064/436] Add Assert#expectThrows and Assert#assertThrows Closes #1154. --- src/main/java/org/junit/Assert.java | 66 ++++++++++++++- .../junit/tests/assertion/AssertionTest.java | 81 ++++++++++++++++++- 2 files changed, 143 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/junit/Assert.java b/src/main/java/org/junit/Assert.java index c775035f2d32..6b4d072a3b19 100755 --- a/src/main/java/org/junit/Assert.java +++ b/src/main/java/org/junit/Assert.java @@ -298,7 +298,7 @@ public static void assertArrayEquals(String message, Object[] expecteds, public static void assertArrayEquals(Object[] expecteds, Object[] actuals) { assertArrayEquals(null, expecteds, actuals); } - + /** * Asserts that two boolean arrays are equal. If they are not, an * {@link AssertionError} is thrown with the given message. If @@ -313,8 +313,8 @@ public static void assertArrayEquals(Object[] expecteds, Object[] actuals) { public static void assertArrayEquals(String message, boolean[] expecteds, boolean[] actuals) throws ArrayComparisonFailure { internalArrayEquals(message, expecteds, actuals); - } - + } + /** * Asserts that two boolean arrays are equal. If they are not, an * {@link AssertionError} is thrown. If expected and @@ -955,4 +955,64 @@ public static void assertThat(String reason, T actual, Matcher matcher) { MatcherAssert.assertThat(reason, actual, matcher); } + + /** + * This interface facilitates the use of expectThrows from Java 8. It allows method references + * to void methods (that declare checked exceptions) to be passed directly into expectThrows + * without wrapping. It is not meant to be implemented directly. + * + * @since 4.13 + */ + public interface ThrowingRunnable { + void run() throws Throwable; + } + + /** + * Asserts that {@code runnable} throws an exception of type {@code expectedThrowable} when + * executed. If it does not throw an exception, an {@link AssertionError} is thrown. If it + * throws the wrong type of exception, an {@code AssertionError} is thrown describing the + * mismatch; the exception that was actually thrown can be obtained by calling {@link + * AssertionError#getCause}. + * + * @param expectedThrowable the expected type of the exception + * @param runnable a function that is expected to throw an exception when executed + * @since 4.13 + */ + public static void assertThrows(Class expectedThrowable, ThrowingRunnable runnable) { + expectThrows(expectedThrowable, runnable); + } + + /** + * Asserts that {@code runnable} throws an exception of type {@code expectedThrowable} when + * executed. If it does, the exception object is returned. If it does not throw an exception, an + * {@link AssertionError} is thrown. If it throws the wrong type of exception, an {@code + * AssertionError} is thrown describing the mismatch; the exception that was actually thrown can + * be obtained by calling {@link AssertionError#getCause}. + * + * @param expectedThrowable the expected type of the exception + * @param runnable a function that is expected to throw an exception when executed + * @return the exception thrown by {@code runnable} + * @since 4.13 + */ + public static T expectThrows(Class expectedThrowable, ThrowingRunnable runnable) { + try { + runnable.run(); + } catch (Throwable actualThrown) { + if (expectedThrowable.isInstance(actualThrown)) { + @SuppressWarnings("unchecked") T retVal = (T) actualThrown; + return retVal; + } else { + String mismatchMessage = format("unexpected exception type thrown;", + expectedThrowable.getSimpleName(), actualThrown.getClass().getSimpleName()); + + // The AssertionError(String, Throwable) ctor is only available on JDK7. + AssertionError assertionError = new AssertionError(mismatchMessage); + assertionError.initCause(actualThrown); + throw assertionError; + } + } + String message = String.format("expected %s to be thrown, but nothing was thrown", + expectedThrowable.getSimpleName()); + throw new AssertionError(message); + } } diff --git a/src/test/java/org/junit/tests/assertion/AssertionTest.java b/src/test/java/org/junit/tests/assertion/AssertionTest.java index 12a85f52673e..760ad7ec8a55 100755 --- a/src/test/java/org/junit/tests/assertion/AssertionTest.java +++ b/src/test/java/org/junit/tests/assertion/AssertionTest.java @@ -11,11 +11,14 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.expectThrows; import static org.junit.Assert.fail; +import java.io.IOException; import java.math.BigDecimal; import org.junit.Assert; +import org.junit.Assert.ThrowingRunnable; import org.junit.ComparisonFailure; import org.junit.Test; import org.junit.internal.ArrayComparisonFailure; @@ -170,7 +173,7 @@ public void oneDimensionalDoubleArraysAreNotEqual() { public void oneDimensionalFloatArraysAreNotEqual() { assertArrayEquals(new float[]{1.0f}, new float[]{2.5f}, 1.0f); } - + @Test(expected = AssertionError.class) public void oneDimensionalBooleanArraysAreNotEqual() { assertArrayEquals(new boolean[]{true}, new boolean[]{false}); @@ -674,4 +677,80 @@ public void assertNotEqualsIgnoresDeltaOnNaN() { public void assertNotEqualsIgnoresFloatDeltaOnNaN() { assertNotEquals(Float.NaN, Float.NaN, 1f); } + + @Test(expected = AssertionError.class) + public void expectThrowsRequiresAnExceptionToBeThrown() { + expectThrows(Throwable.class, nonThrowingRunnable()); + } + + @Test + public void expectThrowsIncludesAnInformativeDefaultMessage() { + try { + expectThrows(Throwable.class, nonThrowingRunnable()); + } catch (AssertionError ex) { + assertEquals("expected Throwable to be thrown, but nothing was thrown", ex.getMessage()); + return; + } + fail(); + } + + @Test + public void expectThrowsReturnsTheSameObjectThrown() { + NullPointerException npe = new NullPointerException(); + + Throwable throwable = expectThrows(Throwable.class, throwingRunnable(npe)); + + assertSame(npe, throwable); + } + + @Test(expected = AssertionError.class) + public void expectThrowsDetectsTypeMismatchesViaExplicitTypeHint() { + NullPointerException npe = new NullPointerException(); + + expectThrows(IOException.class, throwingRunnable(npe)); + } + + @Test + public void expectThrowsWrapsAndPropagatesUnexpectedExceptions() { + NullPointerException npe = new NullPointerException("inner-message"); + + try { + expectThrows(IOException.class, throwingRunnable(npe)); + } catch (AssertionError ex) { + assertSame(npe, ex.getCause()); + assertEquals("inner-message", ex.getCause().getMessage()); + return; + } + fail(); + } + + @Test + public void expectThrowsSuppliesACoherentErrorMessageUponTypeMismatch() { + NullPointerException npe = new NullPointerException(); + + try { + expectThrows(IOException.class, throwingRunnable(npe)); + } catch (AssertionError error) { + assertEquals("unexpected exception type thrown; expected: but was:", + error.getMessage()); + assertSame(npe, error.getCause()); + return; + } + fail(); + } + + private static ThrowingRunnable nonThrowingRunnable() { + return new ThrowingRunnable() { + public void run() throws Throwable { + } + }; + } + + private static ThrowingRunnable throwingRunnable(final Throwable t) { + return new ThrowingRunnable() { + public void run() throws Throwable { + throw t; + } + }; + } } From 3289d9422b535666786aa3201ea0f31ad5e1f7e3 Mon Sep 17 00:00:00 2001 From: Kevin Cooney Date: Tue, 26 May 2015 21:07:51 -0700 Subject: [PATCH 065/436] Deprecate APIs that use Hamcrest classes. Users should use the java-hamcrest library instead. Closes #1150. --- src/main/java/org/junit/Assert.java | 4 ++++ src/main/java/org/junit/Assume.java | 4 ++++ .../java/org/junit/AssumptionViolatedException.java | 2 ++ .../internal/matchers/StacktracePrintingMatcher.java | 4 ++++ .../junit/internal/matchers/ThrowableCauseMatcher.java | 2 ++ src/main/java/org/junit/matchers/JUnitMatchers.java | 2 ++ src/main/java/org/junit/rules/ErrorCollector.java | 6 ++++++ src/main/java/org/junit/rules/ExpectedException.java | 10 +++++++++- 8 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/junit/Assert.java b/src/main/java/org/junit/Assert.java index 6b4d072a3b19..83a6b6b32eb2 100755 --- a/src/main/java/org/junit/Assert.java +++ b/src/main/java/org/junit/Assert.java @@ -918,7 +918,9 @@ public static void assertEquals(Object[] expecteds, Object[] actuals) { * values * @see org.hamcrest.CoreMatchers * @see org.hamcrest.MatcherAssert + * @deprecated use {@code org.hamcrest.junit.MatcherAssert.assertThat()} */ + @Deprecated public static void assertThat(T actual, Matcher matcher) { assertThat("", actual, matcher); } @@ -950,7 +952,9 @@ public static void assertThat(T actual, Matcher matcher) { * values * @see org.hamcrest.CoreMatchers * @see org.hamcrest.MatcherAssert + * @deprecated use {@code org.hamcrest.junit.MatcherAssert.assertThat()} */ + @Deprecated public static void assertThat(String reason, T actual, Matcher matcher) { MatcherAssert.assertThat(reason, actual, matcher); diff --git a/src/main/java/org/junit/Assume.java b/src/main/java/org/junit/Assume.java index 69fac45cad67..0a37b96ccf89 100644 --- a/src/main/java/org/junit/Assume.java +++ b/src/main/java/org/junit/Assume.java @@ -98,7 +98,9 @@ public static void assumeNotNull(Object... objects) { * @param matcher an expression, built of {@link Matcher}s, specifying allowed values * @see org.hamcrest.CoreMatchers * @see org.junit.matchers.JUnitMatchers + * @deprecated use {@code org.hamcrest.junit.MatcherAssume.assumeThat()} */ + @Deprecated public static void assumeThat(T actual, Matcher matcher) { if (!matcher.matches(actual)) { throw new AssumptionViolatedException(actual, matcher); @@ -121,7 +123,9 @@ public static void assumeThat(T actual, Matcher matcher) { * @param matcher an expression, built of {@link Matcher}s, specifying allowed values * @see org.hamcrest.CoreMatchers * @see org.junit.matchers.JUnitMatchers + * @deprecated use {@code org.hamcrest.junit.MatcherAssume.assumeThat()} */ + @Deprecated public static void assumeThat(String message, T actual, Matcher matcher) { if (!matcher.matches(actual)) { throw new AssumptionViolatedException(message, actual, matcher); diff --git a/src/main/java/org/junit/AssumptionViolatedException.java b/src/main/java/org/junit/AssumptionViolatedException.java index e48ddf000a78..38b703d1f49f 100644 --- a/src/main/java/org/junit/AssumptionViolatedException.java +++ b/src/main/java/org/junit/AssumptionViolatedException.java @@ -18,6 +18,7 @@ public class AssumptionViolatedException extends org.junit.internal.AssumptionVi * An assumption exception with the given actual value and a matcher describing * the expectation that failed. */ + @Deprecated public AssumptionViolatedException(T actual, Matcher matcher) { super(actual, matcher); } @@ -26,6 +27,7 @@ public AssumptionViolatedException(T actual, Matcher matcher) { * An assumption exception with a message with the given actual value and a * matcher describing the expectation that failed. */ + @Deprecated public AssumptionViolatedException(String message, T expected, Matcher matcher) { super(message, expected, matcher); } diff --git a/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java b/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java index 5d45ba3d03af..f72cdf557482 100644 --- a/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java +++ b/src/main/java/org/junit/internal/matchers/StacktracePrintingMatcher.java @@ -10,7 +10,11 @@ /** * A matcher that delegates to throwableMatcher and in addition appends the * stacktrace of the actual Throwable in case of a mismatch. + * + * @deprecated use {@code org.hamcrest.junit.JunitMatchers.isThrowable()} + * or {@code org.hamcrest.junit.JunitMatchers.isException()} */ +@Deprecated public class StacktracePrintingMatcher extends org.hamcrest.TypeSafeMatcher { diff --git a/src/main/java/org/junit/internal/matchers/ThrowableCauseMatcher.java b/src/main/java/org/junit/internal/matchers/ThrowableCauseMatcher.java index 22ce8bd59341..6b99004dd709 100644 --- a/src/main/java/org/junit/internal/matchers/ThrowableCauseMatcher.java +++ b/src/main/java/org/junit/internal/matchers/ThrowableCauseMatcher.java @@ -10,7 +10,9 @@ * match. * * @param the type of the throwable being matched + * @deprecated use {@code org.hamcrest.junit.ExpectedException} */ +@Deprecated public class ThrowableCauseMatcher extends TypeSafeMatcher { diff --git a/src/main/java/org/junit/matchers/JUnitMatchers.java b/src/main/java/org/junit/matchers/JUnitMatchers.java index 13407cc05217..47897c5ae044 100644 --- a/src/main/java/org/junit/matchers/JUnitMatchers.java +++ b/src/main/java/org/junit/matchers/JUnitMatchers.java @@ -11,7 +11,9 @@ * not currently included in the basic CoreMatchers class from hamcrest. * * @since 4.4 + * @deprecated use {@code org.hamcrest.junit.JUnitMatchers} */ +@Deprecated public class JUnitMatchers { /** * @return A matcher matching any collection containing element diff --git a/src/main/java/org/junit/rules/ErrorCollector.java b/src/main/java/org/junit/rules/ErrorCollector.java index 8c6600e882e4..127ff47dc415 100644 --- a/src/main/java/org/junit/rules/ErrorCollector.java +++ b/src/main/java/org/junit/rules/ErrorCollector.java @@ -49,7 +49,10 @@ public void addError(Throwable error) { /** * Adds a failure to the table if {@code matcher} does not match {@code value}. * Execution continues, but the test will fail at the end if the match fails. + * + * @deprecated use {@code org.hamcrest.junit.ErrorCollector.checkThat()} */ + @Deprecated public void checkThat(final T value, final Matcher matcher) { checkThat("", value, matcher); } @@ -58,7 +61,10 @@ public void checkThat(final T value, final Matcher matcher) { * Adds a failure with the given {@code reason} * to the table if {@code matcher} does not match {@code value}. * Execution continues, but the test will fail at the end if the match fails. + * + * @deprecated use {@code org.hamcrest.junit.ErrorCollector.checkThat()} */ + @Deprecated public void checkThat(final String reason, final T value, final Matcher matcher) { checkSucceeds(new Callable() { public Object call() throws Exception { diff --git a/src/main/java/org/junit/rules/ExpectedException.java b/src/main/java/org/junit/rules/ExpectedException.java index 4d61712803a0..ea7e0ff97b15 100644 --- a/src/main/java/org/junit/rules/ExpectedException.java +++ b/src/main/java/org/junit/rules/ExpectedException.java @@ -7,7 +7,6 @@ import static org.junit.Assert.fail; import static org.junit.internal.matchers.ThrowableCauseMatcher.hasCause; import static org.junit.internal.matchers.ThrowableMessageMatcher.hasMessage; - import org.hamcrest.Matcher; import org.hamcrest.StringDescription; import org.junit.AssumptionViolatedException; @@ -168,7 +167,10 @@ public Statement apply(Statement base, * thrown.expect(is(e)); * throw e; * } + * + * @deprecated use {@code org.hamcrest.junit.ExpectedException.expect()} */ + @Deprecated public void expect(Matcher matcher) { matcherBuilder.add(matcher); } @@ -207,7 +209,10 @@ public void expectMessage(String substring) { * thrown.expectMessage(startsWith("What")); * throw new NullPointerException("What happened?"); * } + * + * @deprecated use {@code org.hamcrest.junit.ExpectedException.expectMessage()} */ + @Deprecated public void expectMessage(Matcher matcher) { expect(hasMessage(matcher)); } @@ -221,7 +226,10 @@ public void expectMessage(Matcher matcher) { * thrown.expectCause(is(expectedCause)); * throw new IllegalArgumentException("What happened?", cause); * } + * + * @deprecated use {@code org.hamcrest.junit.ExpectedException.expectCause()} */ + @Deprecated public void expectCause(Matcher expectedCause) { expect(hasCause(expectedCause)); } From 1d63100e6d69f448a3afb4571e9915cb9439fe1d Mon Sep 17 00:00:00 2001 From: Chris Barrow Date: Wed, 8 Jul 2015 14:00:33 -0700 Subject: [PATCH 066/436] Minor fix to javadoc of RuleChain.around. --- src/main/java/org/junit/rules/RuleChain.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/junit/rules/RuleChain.java b/src/main/java/org/junit/rules/RuleChain.java index f43d8f5562d9..88086be6b4a2 100644 --- a/src/main/java/org/junit/rules/RuleChain.java +++ b/src/main/java/org/junit/rules/RuleChain.java @@ -72,7 +72,7 @@ private RuleChain(List rules) { } /** - * Create a new {@code RuleChain}, which encloses the {@code nextRule} with + * Create a new {@code RuleChain}, which encloses the given {@link TestRule} with * the rules of the current {@code RuleChain}. * * @param enclosedRule the rule to enclose. From 860c1142f76276b348aa4fb5fb5248c5cad6894b Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 12 Mar 2015 22:36:13 +0100 Subject: [PATCH 067/436] Promote JUnit Lambda campaign on JUnit website --- src/site/resources/css/carousel.css | 13 +++++ .../images/junit-lambda/background.png | Bin 0 -> 13443 bytes .../images/junit-lambda/junit-lambda-logo.png | Bin 0 -> 22786 bytes .../images/junit-lambda/sponsors/andrena.png | Bin 0 -> 6082 bytes src/site/resources/scripts/index.js | 2 +- src/site/site.xml | 5 ++ src/site/xdoc/index.xml | 15 ++++- src/site/xhtml/junit-lambda.xhtml | 52 ++++++++++++++++++ 8 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 src/site/resources/css/carousel.css create mode 100644 src/site/resources/images/junit-lambda/background.png create mode 100644 src/site/resources/images/junit-lambda/junit-lambda-logo.png create mode 100644 src/site/resources/images/junit-lambda/sponsors/andrena.png create mode 100644 src/site/xhtml/junit-lambda.xhtml diff --git a/src/site/resources/css/carousel.css b/src/site/resources/css/carousel.css new file mode 100644 index 000000000000..bc63d46add7c --- /dev/null +++ b/src/site/resources/css/carousel.css @@ -0,0 +1,13 @@ +.carousel-content { + height: 20em; +} +.carousel-caption a { + color: #ffffff; +} +#junit-lambda-teaser { + background: url(../images/junit-lambda/background.png); + text-align: center; +} +#junit-lambda-teaser p { + padding-top: 25px; +} \ No newline at end of file diff --git a/src/site/resources/images/junit-lambda/background.png b/src/site/resources/images/junit-lambda/background.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8b1be8654cd6beafd3fc8d82f44dfeade4973d GIT binary patch literal 13443 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

    Pj|PrjcDJfMPoxVFE{YS!`vZPY%8M(%W%y#L;O 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 + @@ -35,6 +36,10 @@ +

    + + + diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index b33e8ca26a81..0c51bab05592 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -14,8 +14,17 @@ diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml new file mode 100644 index 000000000000..b76880a51a2d --- /dev/null +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -0,0 +1,35 @@ + + + JUnit Lambda + + +

    Crowdfunding Campaign Contributors #fundJUnit

    +
    +

    The following people, companies, and organizations have made substantial contributions to the JUnit Lambda crowdfunding campaign on Indiegogo. Thank you from the JUnit team!

    +
      +
    • +
    +
    +
      +
    • Hans Sowa
    • +
    • Jens Schauder
    • +
    • Julien Jakubowski
    • +
    • Tobias Ahlers
    • +
    • Daniel Zappold
    • +
    • Dmitry Karlinsky
    • +
    • Justin Ryan
    • +
    • Eugen Parasachiv
    • +
    • Nils Wloka
    • +
    • Andrew Janke
    • +
    • Brett Tucker
    • +
    • Andi Scharfstein
    • +
    • Oyvind Horneland
    • +
    • Maria Savela
    • +
    • Eric Lefevre-Ardant
    • +
    • Mark Crossfield
    • +
    • Benjamin Murray
    • +
    • MinGyoo Jung
    • +
    • Stefan Domnanovits
    • +
    + + diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index b8490784f934..2c42a9ba753d 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -11,8 +11,19 @@

    The crowdfunding campaign has started!

    Contribute on Indiegogo + Campaign Contributors Follow @junitlambda on Twitter

    +
    +

    Main Sponsors

    +

    Each of these companies will fund a developer for 6 weeks. They will not receive any money collected through the campaign.

    +
      +
    • +
    • +
    • +
    +

    Campaign Contributors

    +

    Thank you to all people, companies, and organizations that have contributed already! Please check out our contributors page.


    Why JUnit needs your support

    With 43 million downloads from Maven Central in 2014 JUnit still is the default testing library for Java. Millions of projects rely on it being both stable and allowing to test the latest features of the latest JDK. Moreover, many other testing libraries hook into JUnit as a way to enable IDE and build tool integration. Keeping JUnit in shape is a major task for those maintaining and evolving the library.

    @@ -46,12 +57,5 @@

    All development will happen openly on GitHub in order to foster early feedback and detect problems as soon as possible.

    -
    -

    Sponsors/Supporters

    -
      -
    • -
    • -
    • -
    From 33d9df3d58c02d5a3aae45c8eb3e7982f6884df2 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 5 Aug 2015 22:40:37 +0200 Subject: [PATCH 074/436] Update Contributors --- .../junit-lambda/contributors/devnexus.png | Bin 0 -> 8288 bytes .../images/junit-lambda/contributors/tng.png | Bin 0 -> 3384 bytes .../xhtml/junit-lambda-contributors.xhtml | 29 ++++++++++++------ 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/devnexus.png create mode 100644 src/site/resources/images/junit-lambda/contributors/tng.png diff --git a/src/site/resources/images/junit-lambda/contributors/devnexus.png b/src/site/resources/images/junit-lambda/contributors/devnexus.png new file mode 100644 index 0000000000000000000000000000000000000000..fa6d6ea258859002e21991539fde40a0c6757d0f GIT binary patch literal 8288 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 L_3G!#_hJ7F;oTHk literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/tng.png b/src/site/resources/images/junit-lambda/contributors/tng.png new file mode 100644 index 0000000000000000000000000000000000000000..94db5512ebd2b6786797ce3e43a2a37d3196fbb1 GIT binary patch literal 3384 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 O0000

    Crowdfunding Campaign Contributors #fundJUnit

    -
    -

    The following people, companies, and organizations have made substantial contributions to the JUnit Lambda crowdfunding campaign on Indiegogo. Thank you from the JUnit team!

    +

    The following individuals, companies, and organizations have made substantial contributions to the JUnit Lambda crowdfunding campaign on Indiegogo. Thank you from the JUnit team!

    +

    Depending on the perk they have chosen, they are listed with a large logo, a small one, or by their name.

    • +
    • +
    +
      +
    -
    • Hans Sowa
    • Jens Schauder
    • -
    • Julien Jakubowski
    • Tobias Ahlers
    • Daniel Zappold
    • +
    • Kai-Marian Pukall
    • +
    • Julien Jakubowski
    • Dmitry Karlinsky
    • -
    • Justin Ryan
    • -
    • Eugen Parasachiv
    • -
    • Nils Wloka
    • +
    • Mark Munson
    • Andrew Janke
    • +
    • Eric Lefevre-Ardant
    • Brett Tucker
    • Andi Scharfstein
    • Oyvind Horneland
    • +
    • Görge Albrecht
    • +
    • Justin Ryan
    • Maria Savela
    • -
    • Eric Lefevre-Ardant
    • +
    • Eugen Parasachiv
    • +
    • Stefan Domnanovits
    • +
    • Nils Wloka
    • +
    • Eduardo Ucha Tortuero
    • Mark Crossfield
    • Benjamin Murray
    • MinGyoo Jung
    • -
    • Stefan Domnanovits
    • +
    • Hadrien Zalek
    • +
    • Khaled Sinno
    • +
    • Davide Fucci
    • +
    • Frederik Hahne
    From 9371b5f5eb348717632d4d78e8a303d5f7302372 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 5 Aug 2015 22:54:48 +0200 Subject: [PATCH 075/436] Enlarge main sponsors --- src/site/resources/css/junit-lambda.css | 5 +++++ .../images/junit-lambda/sponsors/andrena.png | Bin 12217 -> 15178 bytes .../sponsors/heidelberg-mobil.png | Bin 12983 -> 17427 bytes .../images/junit-lambda/sponsors/namics.png | Bin 28128 -> 14797 bytes src/site/xhtml/junit-lambda.xhtml | 2 +- 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/site/resources/css/junit-lambda.css b/src/site/resources/css/junit-lambda.css index 3ed2cc723881..5b818985d71d 100644 --- a/src/site/resources/css/junit-lambda.css +++ b/src/site/resources/css/junit-lambda.css @@ -37,6 +37,11 @@ ul.inline { height: 120px; line-height: 120px; } +.sponsors-medium li a { + width: 278px; + height: 139px; + line-height: 139px; +} .sponsors-large li a { width: 435px; height: 237px; diff --git a/src/site/resources/images/junit-lambda/sponsors/andrena.png b/src/site/resources/images/junit-lambda/sponsors/andrena.png index 110a9cd887a95fdcc5e806b174f9062ce667204e..708cb809c9a61002ceefee3848724ecf67657eac 100644 GIT binary patch literal 15178 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
    eR`d!Z$Q7x53%LC%@}Me(@J4P#6NPO%v9fPJN5 z7dIuTOA$x=n%_DVEw;=A?f@sN?(t7^Z7jso#c*NeMMm}-Al2zh&@`s1#Lt)Tv?Om>ghNv@x8p8q)PsupT4_K}?Oi4+>vYtR|l9`0?i4`IsgCw literal 12217 zcmY+q1yCJ9yDbU?cY?dSZ5%f4?(QxdcXtg=a3>Jl-GaNjySqbhdHK&d_q=1U6b0$wa$A4@vFg{PC_&+c+8OeW9Ty6NtwB(gYL>-*XNjR9;nE+%0@FXN8e9mST zKov2G{~7+T#ZPAC>got&X7=##VDeyNa&Wd}X5r!CVFs`=v$8V&V=%gS*}EEhGTOV4 z|F_8h(GfFuF?9wxx`G_+N&cg2Y~tYN%1=i2AEW=h{(GLTAdCOs$=>CE()yPm^M87n zS(pIK|Ev9PDBpijprSL#{GaoG^aWV>{)_qlVE^O8$NV4j|7$Y;o#}s}|56oz=VSig z$0h(T*GH`l2FCazEheny34WOam#r_}RAYm3{E&4`mFTl@zt3;CZKvdq?PXPn{$Z(F6xW7#uTrgiksU4DR&7F}(BX?Ni++ zPoQL)XOj@R_o+RxAp%dMO2=lgT)m>)-N%Bju^>=VWG;dG&BlRM+FbSi;x|eCz)HkX_PcXR-Hc{?)2Pm$v?vrfB$()umxZa57+L1;cfj9)U%>ujxA3@Shk`@~ z5NIEjXBt;*&w%LXg#r5M zq?yk^@P1?s8q^TfD+k%TXHyOGzpy>1dLOSfh~i5O4S)Y|gnQEr$G=E7X1T@DLSq~C zrVn>va{>`(tp2Csf+|jVi4f?GzR`MLX)Cs}RNCE0x#bL>2tJIZ9TK67vD+H6_6VYA zSU8h~JYU~hw89;+#>sT6459W5=hMv7+?BYAe-f%4EMEh!q_d`ipkSr(RI4A zZJCWN<0C%f8P}fi$|Vh26u`g3X(|EU^;0q5a%)_B0_;g-h9F=~paC^AB`m6{LrLqzeL_a_U8LJ~-#{~CPV%)50`uX+Ouu}L=Zb=5ZULtgG{;1= zuV3Tzus4FXY|JqD(OM7Cl7wezvdm>)RSG$0ZS+K&$jyCqjxfk(v(fY^E(wgcr-5w1 z{+u}A{UjuA4Asr)HtA~ylp${6dZcd4ej-(3z;BJ@$jY_DueBH5<-^yPw1ste)zMq# z=4r8d5ELIiV3A^0u1z(6?a9kYda3RoYQIF@rcpCzVwO~wLDW7=UIJxbG^$q5{7Rr&Dzb>%^z0n8SA;=85>yJbq9YVb1pQ?{c@|pjtMz-K=a;h zmQJ+&IdE$+^wdsshA+6agZp(_nz-QrJ^rM@u{y*qG(ywuZCJdE!rekYfw_(5W8uO4 zxE*I+hm>hV#^+~|Mt z2xn1quUj2@v!>^k>S}|>&}02wEaTB_rrQpX=lgaKyj>do)sweDBam+RDa)qIo7w4? zXz5S>K;bnt5@(p{ZThH>Z$CUyqG5QwbDt#k8;-_JMD%~`I_PODZWzj4d;l^Xm!E8> z%fa>1x*x@1$B)Ln_k@oxc3@_yd-jcBo6zw94t!0@f;V9@kE=tsKfcQp%=H6q8m(4A zg5=?V1?Z=(gG{&vpn{eFLNEV9C?UG7elzlzncIqb@4<10gK6*v5j1=vopH2WI?52q z%wLGQ;lZ|@SQ~-Bj!)jI)#dw;$=E#na>c*YG!1;d_*x#43z}=|bWw7!Hjw1$YytL( z&xW^s8&fyo&cC4LJ$GOx7pQ&xA+&LQ!ym$K@8-LO_f|r^aZvhK5w`MhuJ@Im14vM2 zepeAWsH=_Fz}FKFFG~dRjOn?Z`8D-fIF^!@E;e9ikwiQMt6V_-dEg;0rIRX+W9 z!;cFNQjy0*E5^mGuoZ(SL_G^t)ecIIA>UsB#?k}ka3YutlIf^)ScsouG-xr@`qmJH zXr$P}m}4RI1v9=|dR}X66w{Z?FuUIc8U;`)!Ky9yawCyX1~-{r8$7nMFr-DHqlhqNz#}T&Xs33qX;VVdDv?rPJ{#)a8-I_A3gs^#&N5YdV-m7;idio|Gx9A_;GD6u~>oq`boi8;+ynHI^Hc`0nWON}3lU~tvC#9M{wZ?IN(E{mz zLpT!Oqn=Ax~NCY zAuDY1aOiz-4I%UrEA1x?@X~y+3Y0f!E)h+Gck325&Oe1#60(}Cxa3kRP)>g@ zpmA2wPs@es8MUz+%NdH7xZm&E_lk{<2#;$Qd!gD?vllPhqUkj-N5Tuc`L)@6g=>>{ zB{FO=5X0Es6=#3RRL|(WU#eT6ogAC1Mik@*zcP*Z**YY14{R)x)pia>m(=YOItSeK zsPUbOAQa3i7Vb9hAp{j8NR;9oIL>Mm{fNZ;qi~H!#S%>m*~8@m^&;LPt%&ruist`T z1yUBblA7E-_zP-%LG^ObN5BPP-iX-Nj)#1{a~M>AKqT*E3DFfOgs#MC_k{JEs8lmb z=H!2{z>#mEtwWS(>^GHt^E7^A7gRW?=|eEJ>{kzR)*iLd_fy(lcLZj>e4y&)s19J> zf~XN;or5YWa(w=r*|n^nsYJ>es|zo6Yi^fwzq(-g(LN@w13*Vwlf_eKp~AsOjt`>j z+Ax=e3bU;_ry_|PX4O20!U)RfTWzvcs52}Ahc7QlRtebl1XULco!w9po~F}_l7PRrbOCyYj#>Ryd; z4Jhg*&YbIM@%*f6_|1@1DMKDG1}IxRFtnqbGYb>ppRE)UI^jWB8IO_2CPifm?8fN{ zz)4gai=XSdrb-ENL5*`*eWX%m7C}NvF5^V>nM|}kdrUM-1?44t(-0h`OMr)TgGQ{F z;f$nLoX=0YeQTyo>quvR4_0cwVuh5L# z=;bh1SAIJ_A9acRjoWzdvQV^3g>IdkD>qECjrn}L)jXy1locDu1d2FxYvZ`yup)O+ zq*8EDA$mt}D`hfsxZx}>oyo6vhl@JVAyb$po~LAwsEnH+TtW9M(*3C3*fdbv$_ef+ zr2m9pKU#9;eolW8H_l^C8d$$|tAjR}Sg(%T!PK{D8VNs*U+k^%t0Ncg9rUzti>e4W-j(s=^pq}gZR*tKtBt?Xwk2=$54&s`EHsAIjp^<_53FW4zGu( zKA9UX=mXSQ@R8HI)pt_9cystlTwixkpL~;pS->m~3Z>EftTN<8Q5tpM zc`;PF0CGozr4e(D*TvdNb?oejH^^b=M?L07bttD1BKgJ!dx{ljp)h!wT1Ajx3RS!| z92193(Wj>6xn~uyVpbkAjN}|n>)gm&%pC`1LWAj4HLq`=yHK*NIv07kkQ!o-2`foR zjo5=y(D0|hEyUYA#T(y~r(w{=@}QsV~N z&h?g|PkdA^zFti8fGFLVt; zQ4|OyW9c;t_+q2SW8;dQY_errHT?NCuMBoIXqH!r$TbeAlcwt#vk0^$4(emuO`jGo zwUZAcObZj8zcwF!!ScEAxW3YaE}c*h^|&g*_f4L{z4ZkRm%H)o(CQ~kd&-i$FmJ83 zL6Q5}Dnw~y?@1(7*5<^RvQ8M(LK?iMvtl&Mq49;=ju&vXUYsq^Zd7)#@y1{j3);-? z8sOB>8@lO`+u8avM^PN%c1^z-5oj@_@mVILCr*}RfLfi!Xv&-ld(XUv zZk36XD+-7!CN6a5kd6Ih90CdYJ=H%;pHW@C6#SdtoQSemcOGUX5e{`jmQww}qRM&C2B8U>(E)a&yGukxwNg)ep0#jt*jdy}e1c zJ_eGQ2Kymv6+7x0+0G$82SB|?yIZG88#B0X2*(z9bD<)N};86hL-+8w6&tY3t&%) z*bH`;H~eZCm9xIW<3R1wRk%F6xO};=3}?SgTK+(@KIxQBUg*IrrtgF z<Gde~3#wE6}kB zwjxOIRdn*ZgW?*%gUM#zRTJ!6o>&OO6ZkKi1xn>yR$cIDIj3!M7;S><*Lxt5=f4dh zqcn}r(A#`Rp>@rS;`>5h8g{x?n>jRGTWLh%Xwwy3GuUR(-qh~xbA|LkJLN!6WY^`8 zmr|qlS=4eFVVAVs_K^j~Bu-o7$1?nIYwT4_jKJryIwuaEzd3kbK-I@44dz1VvCvs$ zFsDHtdH|e~&+NL(43f#Zrw^D zuc@toKa)}9%a-KA&;xJT9^X->wy(ClcA6OYfMV-Fck zAGGc`N0Y?J8$;e#A?2y04eMjGY&8dU&LO@3eRc`48J#5m+6_d2sG=#OH>t`nk2Mh| zH%T=_k8Sa1#hoA3&}lrBzr@^7?oVgs2s1HvFc42Nn&^fzmh?waSi6oaUkhutojP#* zUh0t{Uqa$zVIpq`DxHUG#P_BH%R2Bl5|~b0v$J(4wZd&D^H3*4&xxRQ8#Zy^*leUe4!1ne_$S}PQ(L3dcRE(ey^oi#^YpD^d&?H*`U3KLtX3LSEQG_n z@2cKJn<*wkuG_qd*q8N!z{`-3s7E=v4pOhEUnC<>@Exc(m65x>-`h!mYDkzza8m3V z+^Y;3O(~eDMl*BpB(yHDm}-saTfP6nT&S^tQtZ;1=#Qh? zKIgCsUT@K*pE{894@Qqd!_{4G)u=sV<>-oGZ$})j3cw(@1Y_omf z#*b^%2n-}YSef9+u+EDp7%Xu{+oEDlM%SRlwD{gKC&1BGx_9&|(`>7?)YY%IqZ<&L z6S6%(mjJLy7k4Sn;Vfj+l(7|y^jE~!taB__Jz;B9vtJ?C4{N$~e-0Ps;ffE7%|WyH zi>yYtdO2r}Lo(4ans1PCQ=(gL&nTSPk-yO*fd+0FqSuXTst&! zg|Yf1$PP|m{-rZze6=-OY3$s7KzWq5s1U|?otZEw`$Cz$n^&Rs<8a$2ZuFdIHS4SN zK|*G{ckm6)v+TlZc8CRxcO-ZfMVT}k0)UtS`){M8hZTxn-<)t+E7kIv;%}YHgqHV? z>aE%X08n#AaPi-^n5qQ65B5qnv7Urxuy+uTjmW7q9AsKwte@``fa*n%zI7C~hhELK zT00+5Za(zOmphsI&)Ak|u*DSZNF21}prtby%|>b`lGxJCw*AGb^rVLGA)_k$y^?yp-N;Hcr)8 z>f7ENzDuQMVp8)*qDDMYQ$5<}zDgeI1?a;_LMoZPz7}FatP8+lvA7RixHX8?4Gy*R zW!B-39>&hjKbb!7~1oxk8|Q;sBBHpN5Ne{nv_@Fw2av{dFb z^`TMu*mOjT)mR%XRz|o)xkp|j9}_`Y4m-j%I&M$Y48Y8m!)RGJA~G+;LF~{3G>4WL zEo1Gu;s@h#4ME$AEv1RXmD&YkTPIIc5=Ez`@Tb0KUq}aGA7iL}bh*Na9gyvhDKtk>b^g;+6; z|8=09|D4KmQ;C~ur42++*tmG{5n08ZvZzwwpLYtng;B|$F`1$#4E?iy37f_Z*3+?c z`QDI|ymlibUFzas>Tr|d|J8Gix{-JHhTJ_K{0UQIIsI{I+wnzvG#XK5fV>X$Wqyen zbiF{3HVdHS;HcFomN_i%bAdfJJU@a>w4lXfUQv{ss?9QE<)Ne)(3X$+7LeN5+CRQU z`g0JCHjX=;h+0!9TM=A_PA&{LnsSR~pX5ord;a2bQri;&3>Ct`#&_mVZIg!$F9fg@ z5!|-eNr=|;Np=V3-;0FufWk5VsCpPpGO_VTr}?1@4XpQ^i7_Q3=G!3g^WlM`fQCRU zX|_2H@OL(cGOYxSdyz5yWOmpxm?x5yBIn1^WenRNkrmF9U+xQ5>;{J=Puv6m@6zF> zwTD@Rc9dB_9|P|t7wjn)&*Z)Nlt{UAsLs0Zi@14iCm6d&QGYP=BAjk)?b`6J{~6>> z1Y>jLOR3j(AHoeQp961rg_bZrZO9y|QijJALHqX(WKxw0kNOhc zZ9^me`$D5;uNq6Nt+nee3Qj?Pt99f z+DRG_Wo$i#k z%rCaryBK#h%L7Li7~gn`4@duo1pd&~J<`2$J7D;}=Rmp1o(~~JVMxnYwCQm`xDi2c z6IDop3KVdW-$)ZxwvsFr=5@88dQohSBoTR{9+Yj&7>_Ds@`ENwy*0p%9Gp%KBv-;e z#T<02-7%}b?OhuUY&M%Lf)0(xYnHts!hf~n$#G6~TLi7NT)}hTe)^=A-%{!LpT)08 z`bMP$CDb6ceUBqy+1K;xX;Ssbfs!);Imc4J?;DkB$crkd&x0aQf1@vu99vIU`^%NU zopLR52A4W&uAd5McPU>ti<)@rsh`BleDbMY{2}mWOFh~QQl-uSG?#DV)k4je zS*s3d6!3+&%X1(QsN#|OqoJo2({X|zU3X0i$;lhY`0}$hRckeQ0?D~~Vbp+PHR;i1 zZRJi3rd-@6j+iunh0R;Gc6h(g6_whGIYa`eR2GtbHQ7jvqa3@lmgx-B=#e#=m zJQ|JuP71k`ChfH&CK&e=`zpJ$@uqdX5&5vU`>&qVe{`)$()4BEa=8!E;!ZJ^~U)5c))tO zaQhXQ^AKc59s?>#a_r+@-hC7lVo*@qh6xJj(@aJVvHr5C=D7s*PVm7!@^sendxZ>g z6x;o@BX7m}%f*;0TB{dP!w8sbn1Hzb!ItDY7GD?qNKByjnZ$8BK;0w^VenBGbFo(B z$B@wSj^X->3q0wcWsASsR|sFpZ_gJkkb^m8pNl)^j<_Qe<$ZEy)=9=3A3zG(}xAFEjLHcCf!Fmp`NpU2B=awT`Ff4QtU>UF;jPG z<(k#QY_yswwxz+;1QHD!Ib5ioR=&?l$H1npsS*TlM%XdHkVE^-?J?4hBI+d1R`WXW zqbRbP9tB#wqbBwH&?%qRAi>Cu!j2(9HW;8Y!iqikR(gy}{v53!;l7;CI-~}Y*1`2N zRle=VW=y0W{n(^pa`f+q#Cao}HSO<~<*H<_`F<8$aoM^dQRXR_;L97S^O7uI ziDrR%@WQHihhcq;X7$d+skou~7}A|#UQ$UpeX<+q!UM(vC_>g$P&ImFMO5^Rnf%+l z2xeWVOn<^ESU<`W!5Hl9Po?o7pasWk6nARoi7j5|{@uIt3DHwfYEAzq@z&7G$Z&;G z1p?+`dOpnK-*oT*grtZeZPYDz;ZJFoLunOYY)6hZti0|z=VNWJW7pBU+tJzlm%TCj zpM}w_)wkaLRmA8&Az$nR)%;a8Vnxg%Rn!RsFv>V6P8<8VGOJ$|b$L5D5EluHK1fDs za?H7I7A=u3`a{ex#mU5g51ZG?Dr|Np%8Ed|q8)Y@HVKaJeORS`Vki~$gEG_VlK=Lw zmClztdtt&*WwP!U4g066yai_PanBTl+}!qwin86oFb;M@gq;Js`BAoWkqPBT_0g;m`04}0yh~i-Y*Cae4^5m4#&Xe3;ow9 zU0PTcMso3#(N%&c#eACWxnD-PT83-v1sk`$gi7LxvV~UBcbh8Wd~g~z|B?rIsl@tw zGU~W%@gN0N@hZE-K*}by?FP>#@D@eH5%Q3x0%EolK&o$@Nt$5G(AhsweRDntA{Dp$HxS@vr541z6`l~mZ1v_mf2A8cveO~i+_pt3~%jf#9 z#_eWH?nIfOjJoy<)#_f~kLsSG@3;(OqqEy{6^Vy7p*`3uQ{3bxL51e4Ype^Vey7%d zT(Bl?iWT#6C$g5E(c>jEl(}eQ!v#;BYhKC`fcr*Hd8YVPdW={5)3F$+E*pDNrkS|3 zRnm{e%Cc#DUw)_g`S*5^rD)^jqB8==4TQWiXvUo2^X%Pc_K6;RXOt==&Bjud}ejxI@TTNihNG8T|Tw^uZ`o;oqWVJ zgfRtHf5VaRui6e0WgBJXz;se;>|ko!=~KpzLPA0m^<8Jh8BRHwefr?2FW~L7Zs{{@ zPg5przr#DXZTKNzGx-*)Ys0B=z7hny->QzbAUJZCTz+q~+;{f9Uhe+U^x#dv^88|9uWq<>N$ zy6&(zHS^r zXd%f89N)TZd(67Cd&yEG##hlGi=ls(g`x*NO%mD>a*0IXpH4Wa=R^>BTe(4EF!2y=?N zYrbBc%X}$C=0}OqU(Gx`p8jw?*lUFg`J?7{aiWJ}{rdB#y?vtH?Yx>6Q#MW6A3hKH zokH$4ZEI^QucyP$c!r!+FmttdzW2DTG}8$)wwXC7N)jplLX8o_$gc22-iucJ&FwGszKz@ccsQIp&|7C0{(a`wh!!)HC-d0e3EAFvySU7fbHvs^nHrjVbH=}*Cx7qIn` zc8Z&?-R}SKs>=%mHsjGCU&t+r1HRz@yo;Th#83Z?=OC`qX0n;w;c@Yx6}mP$x~d| z!tbXq$GHI#Sb3Wbz|#>t5ZTF{#?2?}n26!P$3kKaQs^6ygQ+0xINHu zG>*LqrXLOO66{)Rr%|}!FV-wjssk2LvIzAAEi6wV)Vx4-qX>-NIoS#@{YL&o#Q_L9ma9TGG*BC& zf5qPZtvrp99gxc5dWdL2$+LfNFnZaVJG_)~Q+=qy(}T*`8GFsL#-ywjTUoY5-le2G zqJP103>6_D@pAUc=dJ@&#DzP?|68yN=~48eh;xbZ@Xg-eYg02?w^bl5AK|(W3ZyyN z-?1HLBt*pbvc=HEdC#x4)z#Id?d>nH;rrAwXE(K*xdV05b67?e(wYv@F`Ij(l3cr< z4{8D{@6L4qTYwVT)8EIxTN59CF-F+NbMlsEuV^P-ZA9 z(o-vI;4^uj@a^yi5qcT&S0^Pxfx5hp!$z%fuS!M0^; zPiMmvv*xFX4K{ee7-yd9l!NFA*8#t%=A(z zT;zIk!|$ZcoXKl<&F;jO@WO}6-9%Z1mdsK_c||kbvHzeg^C@Qt06=cx1^v`EY2tHjpOcz#v9Po&fehdGu&2e}^f*BC(rupB6saPCv%uMZN@>k!|lA_?=i!rQ{rDe|f9{LYQ|I zm3YFD(HEU`*A^N-IjnLa4;VuW9Y1EDPOaNC?v>SnuF%PGISh^^>p+0T)m(m&mE+GG zdWtik7-8)i_L}{zl-5_%GvfXlHrSlQYnr}r<$xII%y1#?t9dOrCc zk6)xkqsL(6Fo>Upl^y^>6TIe!h5=nRF?*KYQV!mc0KCM%3R=ge=)@wxcSMM%NCC3Ni6y4_8h)m(tf^x`1Voc_oST&LXs%7UYdq_#@-#gby3tyV1Fz ztsfuN3V#nx!^|zyj-KKw^Kz<#N_T959DcMgUXFwwTw-APm7CwWdmrDQSZ^Y}tLJ_D z-yL%8Pa+j|OWm!Xa2P%Dx{Dk{+u0Cgm7xQox*r7K+(v%aujfX4>o?yCHfOhP1=TMG z-Iza#KM4kdWK$X11kpo}b_yjDn_OW*X`RMbxPU_?IC8{x#Bf5-tG45wvq<1Q&J9%$l;)f+-F^e66GV39&P8u4^B%MxPz7W#Wtt z&i<6fi=WI84`S8`cHR&T`$lIvKXh*$j8U&P7FYi|ynuC!yeP^lR6OE8WJ_{#`sl@RM;spMlOx~ybJKwZgVl(PI_=<+V!t&|} zMWebn=pNCkCd;jIG`@lJ#|zO@#z#01a1Shz=yL-@}!9BRU>&77vv~hw4clY290fGj14<6i3ljr>|&c#0l z1892nt|hgqX4R~s*&GxJ$?-)+Nd^^(00{yD0##1-!zTy`$O`c9-x1)z-{%h*eu95M zx_*+8fT)@vI)s3L!Kszegapk(Qh>xEu|QdnRG=G3Loz9T2@XC|9cuQf%xz+*}fDDHze?YaF0F@V(iY`kR#6^ZKi!efoEH#!Jxe_ zwLy)Aky+IOPoj+!Jg3v4m5a!jN~qu^S{(Rse=26d%_E;QNZWH6&}ZQrTk&m8YtT*$ zpWK%SdNxQ4v64@vY^Y1t>iBFJv7=u>>J4iDNhJW@#P*bb*ecD#br%Db!Qb;C^8RAd zM$#y6ame8ctaw5gu`%=MKna(Yf~rUALY0pL<=sJ7mx9+8NHJB80si>jn5lq*3MhXY zrb|!`tD%SiedaWrXHjQ?L4<#_R1hC+iy@ewt<=cZLq1rVCm-lQk#*==tEF7cMW6$~ zTl9`BH*^j)cc!74P#0tWdzmm1jnz?kC`}_VOe6fsDisES8fH=c4e%EQL6w&ce z_~(-U)~ffmRfCMbAUJfjTHop7zSQVLp_aYRNXpcShe?E)zV9&3=}@1i(qIYQb7Lsp zr5gS7f=C=09m++{C>~zq_N_0Ub8z^@d0JG?dJIv^pcMQN16bnv=?!>rawOll z!%f$sPtO^^$B~QhmkLT=+u*B+FhtJM@5p;P->WR|J8U+2`!1gQ+%l;>&4zCARYS}g zbH999irG4(GywgUYYP86s$sye6{I~K9#3a~zt`dyG>;6BUP@JwS^pTXD@edf&yIs& zS-KZH?fp(tUacN3gu5zO6May?n&=SN+2WBS)LvK{(kDg0l_{Lo?}K%vI%bQmuuDd- z;)nJ{28kwqCgX=9F&96I#&FXL*%CT;E(tY4Y*V z6TtV18{59%pN!uKbjD$*SzW}p-Bfq-a-fcucDc2snPBXXN`oQ^c4;s&eYVvdZLlO^ zr&P)CGwa4qMeh+z^4MZ#eEu{e?cfT@44k+Hk@C_>X*M(z;|H|+In|*I-F)7ESCJ^m z-pq}_a=ybXV6r2=Iu-_kGi_D}-+KUTgOp&BYTD542i3D`3#9jYoqOdjdwBcA)T!qb zKk1*?;qJVcijf!*riXW_r$beaC^6*r{HUuGKYi}d6=~!@CI9WHC7-VjOYcc3Cb3SO zX4mfodn*XxYHCD~NVQ#;R2W?Q>+J2a`h(Z!&OVP4)E1zTCDc+#?o`kNkd=}@-;CUh zS}ejUi}A9{9r?x2n!zX5E$2k7P}0u6NvaX3#Zxfq3EJoxvC1Y&=814G zTLnk#QVrupP*G?ZKR#FZAJ>6ZkPgZq46M^ygX^o&&4B z)bwNI(9y>m?sq5NzUF|cwc6*b){O%D-JZ=Y-895ZJE+)0FK1QNx}9EylK*U|Ck6QM zrL1^^3)dFs=q4SiQd67fKDNTkDF)vBox><~A$gJbRq%w86MDZqS++ZGt}#tez|U{3 z_vdz{;{!hhvp7Ls-foW>pSzflLIR@1^rwH;FSi{-1?WAZ=sz>mVHSO9nQrt<#8&kG zmP!zJUs{!7?wh$QVWn5TAx+Apw1gY-#qoVQ1@BimoNJ4B(u!S-V9WJyVqsRI&?iSG z=rA9DXHKtDnUgF$73_J=Of$4vN;S4JoLgJzL9;jG?8ptnMFgpkW+t)BaLip$K%}vN z?Ft~)Oo5IQI|vsL_v@T$%IS9r(?~tYq~ls- z>nZzlI2;RJjhQR^%iuk3=i$HX{wDfYr*&gWSCTdV4^8?3vTa4CM}e_bZ;tv@B6k_F9F1kVsI+>JW`g#v|1it|KA1sr z*#u^B9tO4tu6h3!Y8dD8<>QY;zh>ri&W1F*C1Gm?B;`);ZBaW%s zRcSb(KD^KeAQmZV#u@`8mNTMY+Ovp0?9;NCS75e3lF zmD%6-o)7H=D?`s52Z@sBkuNeai7>xS@gLq>iwI=xHSxn<9p-13$PL`!DxMUqdo3mNaA`A<9WC^zJ_-Ne^* ze@x0o@3^B?WSayblGP+JHc~8*A_ADVPK5am8B( zgndcU40RqMTIn9xA5a&nnPp)4HFGEbfeTm|0rdGj2ADrf1wu%0As3%=G~LGk60gKU z{&3ABb~YUSh&J#|UCqAUQSrzLrXgEUNTV|f1?6aUKdkD1OK8Ke+V4~3br&_$fLm}8 zH3J6HO4m>9l7vaB4kU9G2ef!c_Tf2{TEyjD*LkIj@f{BOX1G~%2{nJ%6MoEKqkFRT z>QVU*yQ;%1VazLy>vfzq60M+M1)38i6#DU`B+*tNSY$bh z;VsAVhI}2# z>&}$Lr4vn&Fp29E*hceMEg9I^XOyMLQqU37Yj}F=cMi*@-YtJTolK17%#l|q7iQYB= zmW%;6iz|#^2|rBkQ(AzE8YNJgT=N&@Wm?>Wl4F|+_V#-e*oA)(g*rj7b@wi}9M@pq zBhy?G(yvgd`T88gYi&@WJ4_ zvx#zjZ{w}zE>O5)c4j2(3bUl3+;Ge>Ff_AW0+m&51FxGDkT>YR|CP!6tN{w&8dP3e zRwXs>P?j*lhC#dd`+{Wk7o9R0E0rYWpU|ZRBVI0wdU-v;Iukuis%=D3#;XAQ`eVI? zH{*6Do=a?eEmK(n=of*U64ZrM2F=@)Bb!a8pKRhXK4qf!CEKOv)ClgRWW>6XdYrf! zxRE)b7>cE2ajUSnvRwp(-;XDaO4Ca~PJCWO`1w*iwbX3l!ceM9M4?n^J~{#HQYhbkxkmdHgZwC-%q)z6mMwG!fLz(RJ zM{OZjiyzw1nO&J&A&Yx`eg{%^$mpPJQutto%Lf= z>^-5_;O4JRy*_KithBUz${-r|a{!h!;ZEz1H=$V3nklcZbkdebgXyOZcj>TVWhl8l z7~xK7gu}EybSKyF@zxL(i5HVLBMu{hgCCiv=*<3Ya_49nyZO5mT%DMx9;IH2IOIt> zu@qik5cs_NCvVQe7oZBxQHz=zRCjFw~wzk; z_(*M(Fn5lh)Dec{0}9QaqzttOM(+3itQ?JzlN`+vk%(pEBPTD+Esr|avOvl_eNiqc zOoNIgg)?;oJfCpm--z2oC4jxT`0*PY56YJ52G!i*wh_^E(WH`!D1V2cs-LB#XUU== z36VM}v_QErt;qLU zgAGgYQ5Z?IsGIAKGYu}wvi?KSU>+OQH@20XeKpSAraq3?sY3>fSp=>h2)kxulGfP5WlH*lpfY9t|UT7d$}r$G{x#k;|;5_;nF;| z7e)ZG5?&+P60Y1Amhs=0|R`ZbH;4nlM|!ma8 z2%#UepEg-!a%;3Mr*yfVx(5iSgg`dqZm%T#yDMh8L`c&46t$Ut_Uaiz?tZavI~juD zWO&>>R!%(0gi{r~2t8v~90GbLceo@mZqM(9SZ50CQ40}R^ztq zdJSSnOu_a;V$bB0Vc{8B_ma*!LDrs6FHR#f2bzxh%FbaT&En}MeFH)saYfV5$7Q7! zK~vnrZ#(8eHUHV=KwcFZ!e@lN%G!>7eCP7Vvl$^#n*he#rRBo&j(`leIo*jB##HHPOP`e&agXv+Id!>!t-|umd`e3mlsK-AUPYvnM$t9|FfswB!C>)@B6=eEuR? z>6puO)-76oUg@Q)6zu1#5T(yeuF=WHrs}{?rBNi1hVCk6BTAG`p*%U7_>matHT^lY zNAiO4EG6&Tmq)_JMMKf=q(NbY6Qv#F^|pP_Y*D4GLOW+@rMVUD2@N*iI@r*-?D_>~ zY|;?2MzggaXWm>Qct*a5pMlhXw7S6_foX?owFsJ#y$m>fl;F$^NvMwp@$7-DO+Zct zIj2Yk*Esz-Uy2$!tE-%G-M24WF-0Tsi%WPLkd33{BGC?~oGu_U);*Sn0L}I>bdZs( zCSY*(XN}}Yt~&T8DJ69WY;|vVNztT=QRQ4vI4lG;<#qIGm1(xJf#%NsbpL~5Fg6H{ z6_Yg#&hzX7-YxxoE@-@Wb^iVbYEl2|gS4dDAF%6`;fbL%WKNL&Xfl&7Tj@H`;>Hh{ zW#nCl2`a6!3ZPqs54ydU>9$&1o3}r9TmMDuxR37~VcGwDF47g`-L}?)v$k}D(9*Gg z*HWruJ2nyOaPlz~07KkvQm9o4?U(SauDR`Fn_Zv&4Zm_a#j3z`Ck`TB^#?ep>Ynnm zHYuDsNc`33(Ii#;x)sWRsXxao=$cvYdh^>KRZDtysT(8|Mxya(rZwJ-`7nBs3CdlkpHhQs6~sw5 zB?#uA9+&)=`bi*1zai2zi-_@aq%I$3{~AuhN9uiC$KY+{9%C6Re|)b%l*pj>IB-wH zsCyg0_CB4}&q_-uR?jNJok+jxa?$cU;K2YK$1PE!H-^r=aQ)S*An(2}f?t>&uKZYj z-aUi|Rf0;CnncKhD1@I(}NSd2^1xdGGE2`6#|-#vyXx_@_wp?nZ6JPCgClRh1-xO@g^o4 z$?>bCrx~B;Y2UrqH-d;!c%wWhWXNoOz)*_1pX3!|YzWO!+S&p;xZ`RXy{)~~4Vijxi)Ye9`ICSXzajwgUla&O zmu#e3H(PWBlBl%3t|Rn@?-W*i>*6QnJ`wVLN<+n(*RU{!5jIn%k9kg}q$r*@D!1+g z(N%8&Ee4oq0g&5pg1DUuT28l-yl1|n>7M5*T&+vzpy90K&?i($xNizgNz=J1t?=qs zGQgtYO6fTF`enW)yQf;;(wQvTOPSD6dqQ&|k;O}R!Pd+~SELb6*e;sc(0I2h9j`4$ zExI_jyZSgFaoba|{JeYwHxcj-X2q4>ScwN-sRMD&*+@z_yTe7KQK6}wd3TnCS#oSsD#0+C?%bqV?;sMPU zU@Ddd_2W9})A2l;l^(eZgdsnj4uPaw*=Js?`fc+M1Y2biR16u#?+tKw;d_z03u5D5uiYzMP7?`qG(vo?aP#O-GZN@saJcGHn|b8D5fE)lHHh`% zBel^!Mu_0)5C@(f<(XOEE;jP0fpsbe;V*wLLs;?Bvn=Fah?R0iyE?`vCljFcF_J0g z+`8Tgh?KUdp+5a>P({XlgIfZv<^Je>iBS3U6~ejvvxjL& zLGbrZQK5m99T6t$6i-i{=v57K-2yCCD`z@cOBs8sY@C%;lE93Pru{PjnmC9;4CVpb zSh&5_kR`A=BekGg&wld|mcu&G6Va`@)6MsmtOmcRZ@-DF@uQU>1*PExQ3@4w{7hW0 zL=<6e4EN(kCDR{HByR}NEOV(ZOD>5N#(9uf4h7TJ#Shrs%l9-dKg`@Lg8lrYgUk-G z#*oVl>wgd^5llK*C#}i?>wl%ZAV{(o*vI3|q^4cUpjO_k@DM5CK+hzV`uq%=3!;O9 zM?Y{4or7@QNT^O39(6e@C@+5ZF&R&JR3om2?xA&RNiVv;C7q@9$x2|wu)aFvOMIc& zfp$WaGR|A%>5uTYbwSprKsbgUtj8TYjrP|rL&X|~Kizy;B?5t13C%cc^ zek)a5RAw655R*N#?~w-=)n_PpbK|$7^^VM?4HG-y>^YR{{aaR%{v{555Q5TZEADrh zU1%et4g>yBk$Rtwdd|y5zcbo*#4a3Jj~%N$ra7Ab1$;kU7%Ts(K+2rb(tzl+3+yNP zjc83rwb_ci2c^+e)TgSC*&;ApCw_4QV42LvDFcD{{0kRdx^0l37Z~vr?5D?COOAUpK zDcEXXNDwc< zx?U^2=YS(feakMkyk{BTd3>~etIE=j|ftwB-qd6e=^t-$0XG!%QaF~-iqrjzshmW`2@@}S?mrO1AL zRlh#2E&nwSdEARV^j>L-y4;sOq2%Q>tPRAGI#SWBY0^lB07oZtz!1Ku~dyBTmBh)V5}h!R zsNRAFuqVnykF@U9)th4={o{~w;#Br|Flu2_p=MYH!ij<@G966gg}0Kj$_4ZE-c^)F z&K$`teyy$Z8+9e0Py^CUSw2{}V$SId=lqZDa{NHHXZW4JygxYLN=&^yzHu4bqJr-o zyY!fiUO!_Vv}E11tD2dkK}-YjpWZ)ZtCm)1xVo>3#&0=Y@n4>H z_D)MH4$oZJ&w5RZMt<`n!`ycabsz4|7p*+MI(41{j)1+*1>^7#JEkI&^GUY$NR z8pOb7sUmIsa=J>%S*Q{c-WQ~H`-TKrq{(OyYzY}gI_oM`M+t64y?(IiO-(VpE*_tB zP6Pmh*UPlF9`}?jIf_4%z#i<-{VuY3QikX^H<+CQ32**X!!e_gfBj~*`1zOEPjPzd zblHYi{d$X-r&G@^)QXPds&*<~Ue~Y)ZBQE(iev=$DBRik+H?4r!T$?*gW2x1le~A&W3lQTiFljKfsd?2g6>O zAJ11#&(2a^TsU)houj9-n}%Ny$^we^qMj?^{9nz-Qbr!nCX-_bd1dYGiT5@iN4kTc z%}0~yT`ot8Wj#D@z3G}88XDR~S=#@&810|V(%s$mzbMkvFRq?y@A(7_!Wb8RZ<xfZ;`QCXS%kVhLBipjwk z2HaEMUsnUvf*yZrhzGahUKh!-bDnlAFJm12`m8t|*B&pUjh-attBow%-)R*UJn477 zK9}#5l~=*tOUXb%4}lPk0Z9dP+(}OxaM&5nU!mw^d`nrG)_kAy^uc?HoW80tPH{@Q zC`NY3PqWg!@x%pHNMItMT|q=hSk#0T<5JfOlRZZ87D=P1IEVA75Xd zp(D=VtL1T|x)Fl_@Kq^**1^F=1C4-a<$Qd?XJ^$z>@?+_FPg;g-ibb`d|uQa9ve&T zLlab}tE&s88feXNKc3IX-2KV>$}BX0+v#ck*?^15?Mc|%^8J?g0JgC??KKE1{`{tr z_=V(Bq0;R-*X$l&A!IF_BO$ThOD+Q5pfVaS-@Cqo$uR{eWj#p|v@{zjG@S{B*^tqu zyWA_(xa8t0ccR9=%2{Ps8dgk-peY=Azk{j17}t#2mZ`TP>X1~qg6Xq3{w!9OqgiC{CCH=$tQbOP=7Xp7j zX`_mIwV{DLT6oZE;DR;k-O*gGN?s2PQos8X==5aW$RWrL=-Q@bl-w4bP=d%JXW+nLIF=+ z>B7Dq8||yTI+j_m(+|miR$6C%e@pm9nlZImEST@pynAw>3*{n-tvb6$Xw93^{fA#aP zIb9Y#U~1M6IN<@-5-XB}MT z2ib!*!qTMF)G^VQ3(vkE>F*lmH6QQiD=HMy*)~=BX1?yF$eM5UBUTwq@qgYMrwqF= z#iCVmv2Qo-^BLcNQcPjeVKO(rNmE%Ko}2{ry%UvS>AW++=do+C%^?LkWV3ya=ye*8 zTuV!SpHUO|DJp;ng|Fu;^;lKa(I#zCi%V4J@F=_C3GdUz6!P6E4;O3;B7Nd|*X4wuoX#v8Bl20?x9lo3_(1NSb*VLAgFH3oNyZV zzF&gl*R6sX{Vj+LXoh-se<3+z);Rfz$^(!4n>$$7y~gXWFwJp;^YG(vnLge&y+17M zM2Q=#!o}?GdVLPRusAH>=Znd!tLwD}iNDv(Pe!EipBK_$+LKMRJd8SR^kNL~QeWEyRqAYb8LNubCD5K=1E+7vQw;I~m6q=N& zzzH&Y4Zs3+>Yi=l_hvV(FAwKKuqyP|H84x><1W*og8HTr$VOs@Cpp+q4 ze|~!0CVhuV^ppP^8>yg2Mfu{+!*R9ipNHBZ5&(x$C(CUb&p0^q(28NH$v#u)YMe8? zolEe?S*P#rvC*qf#Fu~}XgK?p$I}o)2l32YgQnj8rirOgS(c>7vsY92-nRYhcIfu$ znV2FPOlv{IXydOyxMI5>7}jRe=(%rD3tEdp|H zR{+u1`?&4^$q2OMtBJ=bjBRXf@6SQo`#&UZosfQpzZ3o&|8%6)B{D@JAezEzgw`8C z%XatcyUbX+Wj0PXUCm~hfgRmo<6m?EjSptdn=09$U(3pqjBS`*3tvU39Kl8bf+&lQ&g76GkIBSkoVIK zy*8=M;GC3G-P!jPEq)42%Vze$Qvx-V{+PI=O{Bn+^F|u)+MQ`16Q1^F&4#r0JmAWA zJ*$Rcdqo>zh*o70&^^Y|KC9g`j^uaeG%ZR*j^Q(f;5p?4LRNA z>Swc<@1iJ=Yu2izk`jwTT^xR9NuExah29n9@b&GAYxOsm(b9RE!Ap43aZcG}BR)|s z%Zd7If*J0Gr>V5F9g!8$rLaW~1t8D+5gajGxcL_A+@_hvau{y3oUOE;@ng>aS)`5B zDk4~Grp@*WW=DCE_KN%FwI#P#)BEt1p?3=(O+xzO6U@a@Ys4~n_s|te5{~!x&R<#; zIFFG-fBQ#D9CvBOSsLr6cRt`Jt!>eL%*5YB z-4h7vDG6PC@ZS2;6*kAL_*p5`JfrkCJ27;H1yys%1*A0+ZP;^^dt%mOLD56poU4Ge z+Dy+jaJLz89xBMkQ|uqSz{|VrD+Sk#eCsPOZ_{p2$;ZV-L?lY+d^$2I30jzAm|arn zwXw5%U3TGMy|7=y21G)iWlgqvWXOqmOynx|_uLI>=Ivx=91Ads{t`I@2_92ekCv2z zg0BpIDOj8DT@y^`kXf9PMM&53sD{m7sVY&~L=^~=$;+D-!cK(ws08IcUEtZAipKUN zspS$+gj)=_BIJ~Pph1<5S4&XmYeXK7GQEDBx6jt%%lZ3l8!+NRrmeik`zfIX;7E~u zf;lH4$>M<0#cgEnl2GpXz8Q!Sm4@gdxoC+`#D0^fd+}HGF!7AnRB&QDK8T(J(yST! z9`)o%{T^SEME3p$qm+Y@dTp+>x17~RZ9h&S#Wf;Cs6DcR4^Fg}#?bU%A=i{AI$sIA z%p(6xv^^WJSD&`pTOHp}WJWuD85KeUUF|O^7jJtr_m$lLQ$$E1jhq86)Mf4>wHUPR zpb;faVww&GKe^JDI9!PfC1EaoRiO@s8D4CBGphvJK&|Z5(jT=DHvuIrTMeb5xoa?V z%ti1b2eU5&ScHirw7&66!_}FBxAZV0mDO;n@nnFXYzd-ENIR3Q4b}@WHeKV>=pn4> z5BKFB&4ARwO+S{O%3zSlKkr11Rp4_pMTH;nyHOi+&k30}l84W!g_hm;^XXx64#_1t zMP($>C8U9e*UjR-*>F5L3-ce|`>c?N1*nl0l2%hMETcXgxZpUUs(pILE)ocURlr6_ITT zl-DDwN$G^GHGtpVyO^Gt`6*?_#fr#uTL{2%b_DJdMfEA^EM`L}%&VZ=YNGPcF<%cR zPbklSeUFHkr#J!wXQC7NK&!4KFFJz4Zp^6cWA{46g~%yh1=~)dCq!cL(+Hf9MTvKW zkx$0R@gPWCv*;0$3j<}RewB>&$Rn(#S8y~#rQlic+}jU?ghpxhs#nH6alPU){RZIG zt7=p8?b)uhgj}e(HLun0=VsQqcTMP$u$!2*SCM${7*hr|ugZ_%W#=^Vk@rDW6bxOS zX)<4fgO+-XV)MiNF~i>c*Z4T~E6g9@*g$L@tpZZ2=%NU$>7#IRWiGxlZuowH|ct&oR|JueeU)SQO{70UPcQf32tJ zknFJzIR-~F9%B$cMMn+7JZ$wYTIOKMGWVkp$&m1?Nyid}b?d*1F6ue7;&@-gIxJMr z;L*GmYFh0XcARyJzUSW^Z(%qN_}a?A!s2k-y>+h_w#YOgaID~cIYJvVSKaj@5L{cl zk*D?k(@l(Jjz3BNf?-G_2{7bv|JyWn8+qU|L^l95MFL8tRac7la|C(Q2~nm#@C zaF8%!8?(96fl;7n{DPsc#(1tqr+<~uTBo1)~A40&woY z!)m`NzpZW5-ZjD=@LajDZQTgI8u%){4ZZGn;Av&2)6+_y4b(gx$ncWw{sMO>b*zu~ zGqjg$hH1iZe*4hNWxndM%*tL=4kfwuF_`wZ-@D` zbr^~fdy@+Vd4Z;!%X?XW;AI5UAHx zB|l%Fbkz0%OEjk-l$cZH!kD^WmH`r{SY=arJAnMo>ll2gZiPplhiOBzjYghZcWaOH z;syCYyZ80$zUZr5nia_9>7w3P0GTxgV~mW+piQ)gS! zhwqJ@>9?n$<{5t1J(x}-kHy`lFGBaOCR?f#nHuUz@Jo7lX^NjmlS-u_MfTdRFgt%u z|CyPeReS&N?5_6atpN z>Zg0y9~AVoc5TN#1{c?(-Ws)gFrOxbrRl9!3&Y>aF{fVD43YR&*mr;f>X9?|So&TH zE5_RCy4!vJe6F@?jjR5xbL~@?U5l9a>6TrnD%)$7~G_(U_)oerk5Nl3h zdtDz@ijVg4N-_6E5hG4Ez0ihw)6E$67Ii5as42KUq6K+yL+GY}>k`Hgw23*iw>}hl zf*Xz2pjW+K+`4~9qrA`KLuJeLf?H|D`@ZE+(o3L*$7XFWE~*2j&#F)DaRHxY?~%|3 zFMjAkQMk|9Wf*HfOdiVbB3B!Y8Dn`WRVe}Xk)7V}oZlDJrr<~n3K87I0*&8&b8Q$* zQp^%)loT}hC5Rp=*PCx4Hof%eB!ru3ArHbre2_*Xj1S(zLp4tQ<7`V2S}bqk;Cu*= zHf$jzOmF|CdT-s|57e6}m`Nd#mBKf35rSyL zVQoiMu5uDYGnYQ+A)r>C&)-PLsC1x`pO5fY3TA?TpGf9xq%%^+5fHTOI36lGPauqi zhLbbL+_U#-KYtRit%~wzPhblPORn&FOkTKfhlTp8k)Qb_eEXEg*tQ@dh!~XSYWr?5 z?2Gd)k4obOYt7P#V0&f(^*C9Q zkeX@+ikX3LbM_M&H%$QX-i2$1XdOBATf z*IfMF!HHUmjTo_U0RwI2tmH4Z-H;(Yoq5AvNo0$k_C>z~zI6VN_O^3n9WD?Lhn&cV zDbn9%DTV3Zio(S(B57bu)~KuuQ7mjf|0q@o^L^qCHHpi+Ih)VcotuSDpIcqJUzFY= zgaaOeFktu|`D2^FoD;a%q8$BzGgJyfPJ6QepFu`GS}G0xn57nM-3~)11qXaqEC zP@=(XBmkx(e?`5q<#0zVmU%;L+PT=Jj3S7X$kHXeaAR2tBWp(0472_xOYg$leaK(p z6(s*P4+oWic|#1`YIWzIB8#eox^O60NDGt{UWRh6#a;*L{uw#5W!fqnVaQozZanl7 zHia)~_5XF9k>S44=>tsIZmz}cz5rkEgHCh;V+~9zlHkX|-qsLc-10YmV&=56ba2J2 z!4J-cElZN_i6iyLf7(VCg>f+BaMH6-2?wc;LWf4n@8D#V z;HR9|E)d07WV`qv`+3$MTxUl%2<{+8YRgS1vPU{%*{SAItg{1t_&|iCWSzdz;_R`3 z889I%Y**)v5rihOd5^;nHq&0%U zQSgBUvYJPb2Tts6jsF;SF)_rkU7lR9NhvSGO59l@4%eMS=+|KHl>cArdp9w-&E3=Q zD^TgH8e8yQij**(t(h~_Swo?c3xOn1U-RF}z*Umc;3pA&7mIdDL;QGrD@V;$m2BMB~Ihw8(r9y;a386{id*P=vF=71I zG}RxXkx|!WR#5*ny^CQW$i4$tlASxv{P=g@!6$A!zw(S7aoFLb1X+64D=!pw8{KO zAXg1pC_?oF)!}~=3@15#R|EtsqW=X5AtQ?n0Rh>kjz=@aQP-N8bq782{NV= zh6o4?$_Pk8`K5TIdB9+(fDBkjT1ZHUPY5b4ASsh*f+#{K1Cil|$jHb*cmyF}uryc* z$|EHWh4S$7LZ$inp~8u+h}v|Lk`PHrUMWFdKA!&-@k4p}c>mW8ACy;s|370QCz9a* z6$$)*MWIOaddkWosxG$HwhpFtQjX^C_LdHA@>1en_D-A@wiY4+Jp4QmK_MP6FAukX z5Ev}X1Lc)C3(cS{!{)xT_o-z2_@ztG0|%BbAsuVP0ei`+#FqP{?7st zNf%2~H%AvOM@PFv5@Z2DncuJ$0fA#)UJ9b+1v>qTk)<`z=s#!Vlbu7IMt(z$9MU4r zFY|`K-^PQVE3;rpIYu$ZKx?pMFE{P3p7}B+3jEGHt>ZRECRiN;i3}q((<;El#2oL1 z!^i)vef|3kn7A+e{>j@HfQ?;ryfEkPccqGMBu?&65M{kD$?b!SVNV*d`LE zSt=jue`U}0eSI;vXL&=`E2@sJ&+)^FTGdWjbYeM#jYjN?g%|Y<`<2+0A-y5X58X7` z!&c-#GxTAzxW3)zt1k=7`!Q)^)xDS5W)xd)^aB^w%*7EfiIW&BsX^xu5H`jmySkB8 zlonsIlJHsfO5zzHI7w+TKk7lK9z}5KWDAt#prIj#;{?U~RG!GiB(Vsuad##vv8bY< z2&wD6ToS_?Kje@Yh!z&Gor=gWB;sxvNZ_v|<)|unx=6z__}Jf@{TXR4Am4uoEgU^# zj7X?~lt?L~$9`uC3(!6R6R%TJQbMqc9v8m-6Ly}tZ=wb;WkkN`*qp{hezRCTmTPwy zBw@&LkI|dwpV_F8P(~(ri>_3TnKsz=t);z{?eG^30lB8;-s8Y%O8=0#{yxRdBg2Ye z!8^&ieY~&PVPYusyBjC|_a@8lwDbmLWss}bM5xu*vt4*2E6oG#zt_bui_}*yWP5ZP zkxz~xK(K!T*p;d1deaeUVOfS&k>vqQVwazOY7|5%yr^~hfAs;#$^;yG($ssz3F^+Q%eV?i% zj_f#~4#76&nC`{!oe){zm1U*|=dTJFM_YC5EqGc1an%@MM{Lk&q>EYRoX?Raz^AV^ z8W@R_YW5NSh$d!?&vYpu-zQceWalH zCDlAqiUDbv@U`7CVyIXA-s@|XUh8J1Jc|+cSj_6}U|FQytbq|!MaDv7`)v{f9qjWmeEv7Or#wOG-qrj1 zof!3XK>uKF1?uGr(auhwNhi2hMRb9(dcQ$=TX1(Se?Mc=HsV%_nE{-86|Z`+VZ4{V zsI8S5_3}g6S_Hb5(+K4~UTqQV8r=t$#SiJGzE)&5m=Ht{GAr`P;b|%21;F9>$g>EV ztSq7IYkKX+$v49Xa(6cDWjR&`TiBYzMDdRJV^z9qb3dkudkoK%ZIF?~6VxIgZ|^5HmBT z+HPJ3%#qwm`RYR5V44Mt=@&eUG3YX^7VJ6r%A#$5*NHu!EK|gg^j9B-x;@r6DIKzq zzQ&d5AHI~dz>em{tsU!?qe+2aBWT$evX-*cUt()VqfZjbLAQL_nQyi{hOT88m*V>O zs&pe{YJN6T20}qdI zv=^8eFl@V78Kw_%4+?~!F}-(Kj+_rkJaseFTn3H&Y9~Yf!Z0=1(x3>0jj@GVVofz} zmrN9lq+-LI>bo3Ecpj(u6{<~Xrjf?@2`Eozkc$1Dc4+r< zuxye*nkEh@-Dz->6*iF0;|DD=qtVGRmev7?b1u{b5?{jadeu45@OEG;a*>zyBRy=* zTGN}TfjO4O)tt70k0bN_($iO6Tj_i4taa8BprR@^Cgaumu|FwJ9dF-blYoruy40)8 zbw>$S>ROgjoCQ&M5+;1AqfutEF^24JpBONO_1^|Eg*|>>cLGur#|(2;r*2|ews!jS zL1drYXguVG+o;{O{`Pj3li`;U#28&b5ob>6Z@!@f;5-|)00gmJm$>`Xejm>*Trk+*pS zJnu;*Z_rlI*eF}aab7K3E&qNOdG-f++c0UML;GR-;!{-ZKkDE8i#4LgK*xz^go{); zM2{K4(nsM$rlg`#px^l)~N zY0Cp^KM;0mTSqW#x*Yc9j;_pN`t?{aDEG7rHv5f6&FR|a1G0Ii^8yjK6m1e6m(iEQ zV=S@B=io}Jv&pm7o0Euuj?Mmujk5R#aU#!-_Ac(P|A3PS&zw%S>}UK>&Hqx&KhvV| z3($P|)=i7>xZ*1tCeRQ%_WR{Z;c^21^yH=D$9o{csxHUw+bgFQ&68ZEXu<$t_4P6* zot*WjkU+Zrgl|P`I`*nj=)+k2mMl7z4l0od@r+;e@5VZI+a{DCQIMj%rFEvIm*cNa zP+)OKaIACY2XptSbh&jzHLkUa{V#fB26ap#XhHWBwqzhA z7lAkVG1~UdpjN{Gf%ipsk2gtPL=TE2@zO1J?bRGC9#FbwdqokICZw2K-~P}<6CHFH zugQ!MoOBubGan|i^m&eIQ=_N>H1PD_qIZDyy*(gg(_c5lThW_Ju6fpMWFny!?BxO{ z!6Bhn`&4-}K#2E##dn!Bo$kBQTAj9dN%=TW;o>W~DdpPu=k924 zC^XYpC35j>7PDKO24nbJwHI?rLpPCI)9cVkp{)5XZU)9IA=|9c$`>OA0$dbiAABjS zG`5WP&ma1X%^&>|HAadk>#@!Mc-R3a1NBjJmw}z18K(p03hcJf=6`xv_OHWD@9g@V zgLaD}JUN};DBm;ay3L+>*7?uo+Z>9rBu1!6GL1b7%stkp|Fy!oBI49J8@&5-($AW^ zi@+&X%HO`qEF)t_z&JMm9hyq^_jE(~#>T+Z-x3McBzrhPj>?!E8u5V>sx(8#RwCN?ad79Ix8HUiW=2#QvXx8o@(n z8wXRK0-`;Xg=&neQ|XA%b807-22?qJR=v%`HKz_c`9UcjeDV7Hlcf54S*fpGqiRsb zu*$GyA1HB&-#^QWub;Cc4#xmE`=`)d%7RB>R7X6K@1>|b)NZ;~`uok^kIjkw@8qBG z7m*-8YbRK%ZR9J_Q&9F~3M1`?`6@Z4e(E(a?n+C5186M>`dMo~Epnh)f;3>3$CDiL z1fHQ--q{Q>j6Z}w`fi4l3}9kcGD;Ju)x`>HlQ{o9*7VDHq#nZk3YYH(23qnCRZ2nR zC|a8F+E&RcX6)}35aIb90u|GLV`3MJKN90-|B2MGD_-qr<8+f{)Z?gc5$+rV(V&oh z+CGS=`bC4@t8=t;5?OVTSZ7d&Nq}7|kDG>kVQ8>wH)us?K@`V)B{Kc3y@2CzQ-_)n zoo70>)_O%F$1;k2hhRk!7!Yh_aQ&{wS4c7@q$c_?E`wDz0CcRES8m2(-!^}~!$J23 zHemSojzTT5mSs8LNNu0DKkFy}J+RzOVmpuC#+x_a>LWWL53e3`+z_EE=;y)&HNhuI zxXm3cNJ4}mBYwLID+9_jAXBQrPDbwY#$s#2$s0c()#^jHaD_lWFvlL(wktp68WxH) zSjWiviY|7qq&5tzGCm;#$ll_h7>agl_Mls z^=E(g%8s{xFOWVDa0@ZO+`R<1?1@8u*&?_8cOtcY(8>KZykEDb0ixNsb+^2kOzB*6 z59{u5smoNr6ihw{32CKbGjXj{^TMoI>d~e@O#PI2u~(^Xi^04bI{J*ioC>uuNkW=C ziyi5sbh}^X@?Bz{$V_UuC$Fi|?pwghx$uMrTt@U4H93prPO?oib zLcqaWz2=2#r75w0$k@lwyf8gil;SYU74=Vsb1jkEIy*s$vOYEssKP z9N~Kw4`Rt@wJ!{~f`pOpnQ`$hv=COHZ|mCIwwgIhu}n+~7?4Nu`E`H+^EZ;TrtT;S zmpe3yK-TI?d``|Ein{rcTkYTa7RLKQTmZrmlV0xwwK3osBDZU!V9XsJ6F`ba3Ypc< zajjy@j<)0`Oo=QV4yZxQ+Nu1UOJ7N*-giM$fWo3fwAfCxwP)G&QQ3A+NF$?EG5>_@Ew`WV9& zM6_pi#w`xSZMR13kiqoyB01~&yz*WuTAtlBh0HeFBRK?Zw=H-)21HQ_#RWE_t&W5E z0rLi{B5>>NDyiWaZ$7%hDN*`2E!3}5Mv?qiN0Q96y>C*ZCM036_&d26ekeygdw*)O zf!MMu73JueG0R)4@-GuS3{wnw8qz5HDfK*2)S<3VnJ(5+db7XDu`@yq z>jf+xSRMKfy43EVrU`>{uD|vB4@q6^hFu4PJ|ox0M3b*aNrPY&F&e2H>TFvO9OuG9!;N64jLP~eE0 zKO7Z8teQ)U5bHgB2oWYmC_DT-SI5Hj;)A8b)Z1@Dj-I(Bb+SuTetKSOn!K%1XCsi@ zbN?hU{Ex>LEJ~MkK_X5hC0Pe3_j{F=$Va@p+{p+ai+l`dbs_OIL}N3yDiX7iX(t2* zN$a{qYQ#HIlow?2!Vt+6+~4a-2n)dx3<^T;aytyILi}YNVqy zi%pODhu*4|S>wt3lcf|>YlmxGW25WR{cwzN_mbHM*||9_oa2+D(Jf%St3RKG7iaE| z2;=cY>7}9?PP!CA{NTkSl8#7rkkIxsnS#i|L|+MMshNgIj<1u-?d{^(cv2Eh3` zpl_40kGrP-KuC4D=Wyq+(`#S%PjvB%UYP@SnWT<{&3Di!;%&D+len-)iNn(>$;zmO z$TQLK!l^13)zx(_{{XNyx0>CuK#KXRH@Ul@u)_BkW9}t|#XVuWt*vf)*QezgN+$Hh zy#FGZjU557_5XTDu!p8o(XU|(#|7VRFrsVm`hnMj3(OXwC9Vb(K{a>_l10vvXF(?e zn!3@5$(N8|ZHMqrr|a0IF+s`f2b*O3TNHU{KI$D$0@bFmOhAl@`Ecr~LTm10Ph{U( zkj_8*VtbRLD|05SNBTpH%Z1+yol)gy?YG|*C_0di!WlnIuac}eq+5?v#8Gyyo}}M) zqzL?7KOw*6>!d$3FsXrY>y7%1rzR;;cB1gP2_M|gi(nE|GUkaV@y(Ua1R3mye-3s`g$ zlhtJn*VQ|@+ex!l@NYXraGEDg7_pBLH-*1Yk&DTm`xNwMUwUfgd}k(Bx~4&mhpZv9 z6oYI0TFBJh7Dd_1lb+}#VCMuUo5fTk7 zY@>NP{{vWk^jQ6#8{+d+vlb|Z*pCoo8~CdGt5GP|h2<`POp1;wP@!x8-sx42wT?h+ zL6#@F_~{f*XR-c4Mv8@AX8oMJoE|N77Vtm)WVp%MKYH7gy*@R6X-x+r?s8=%H?OTQ z4E`msx*sjAZWz9OKHU72{?&1&JqeXN^yVwLNDMGk`o)O0*rbXioD;e>i=zjQCM&af zV?g8+*M?Q01t0Da{J?akPux@6EdQC#`DUCywPeB*m?qu#Z0W))It_Kk%+=031bY<+ z_!u^}ebCUg%$Z4Xs`e>n6kTz1n#DaX`8}h#-<<290yRRK10xS(O#CP&;%cSe{u7j| z%Lq*3zWK2pMF^hNEp{35scJV7r8e-=#TxSzX`wK+$QKNyGPKQDocz+4({DK>@~8W; zn~N%y9O3%66Eypg4=HlSdJBRH%YLZ1q9bWnU2<^_b}yRawlKNfjmrzRzOnaMOZD0P zFPj=quTz-B>BP39!Ms8x@3IJZ^RjQBI003iZPX;ceJ+?2*5?c;Gp>#Z1ouhj;a0=B4|h5k!xv~VFzP8G}KO(H;a_7g*E0KhV)f{ z{U+x3KhlnMFYK1Lr3q5(q}qZ@0pZ#a{{(#o(d)5dm+iA+O63K8B>NRr0(L9by*%`+ zne!MhNHXgaX*|wuF&jra)$Osk%QCGXpz>p1KW;7dQc(GdF~#yLtvb2{1+_{0b;K2K zzqcc23$xg3TX>6@nl~~Fl=2tI@8~#ZCiHCSAx{m}u zOCULlrU0%k^NMp$N`NEn|3|6hOi3fF{==Gv|Mch-@7 zRwvi0+oCuN!>}c-Kt37F^(Mp|(9*cVdps3LSF)OLI4w&GeFOPIc`46yw&-7>>$uDp z$2sWzg6n?;+t?oM@#MFxxF$oyTMxapqv~hjMWGqzHxCRdL`^*aQ|&dK#WJ*TW-5*y z*_v&_c-f{Y=wcQo(b{)mn5OFJ%_|<8;hs>8I;n8h=Zb%+%7mKrF>!?Zn@Y{tZ||#Y z(}!&5MwYBb@^EKzRlLP5x6n`z-L(4opl`(^~>R07;r1dAS80u^|mX?Id z@9JF2Te~zKvL>c+cx3@5}-cy!O{ zXdk>VzjvHE2X6}zZB)$Z`Y878hT!%eE=l$@oGmt6rrp9Q=94R^`P>32$*&K?o1V1=xF|NGD9<*j1>a;FH<%xfv}zlE zy+!+d;7BFj#(xt?(S2`esG|0)bY|rx9|ZzS&8BVwMMl$vj&G@`I2kHJC1qfpds-{4 z6-v(d7|h?jW+#H)op!g59FWGAI!2R;iXiPoZcyEM(V-1P&wSqrC0l=2iV2)Q5z0Ej zGILj|$ReWnL#MmD=$1|*K)BJw*?Eyhz|~<5%k=PJpbyPc*905loO|qM9{Y)JU5XtO zyB){_UOLnu(!|0G((wQ`GEgzqU)uih7S!Nd?~ZLmr$=PBMKLi~oo%>cVPCNs+_9fG zAt5;NWOeDBIXO>hQ_>4-`a^`Z@*lY_a@su2#H821 za-Muoi=6Y6@~cA|UFa2Kw2?jl*d@q+nEcjWu-NEBz%4vBy( z(nkz*YpF-^uSJl^))CHo+#^twaHhTkX-c%;(@hUAWN!+U>EXD2A9CjP{4!x!uLT3D zyt-%hQu-e+{J^YEDbbGw6l&d(k(IYH#Fv60uA`_$6f+Xi%hOML=o7X?&UC>s@XC+4 zsnzzqU*Y~M+=~hcF1-R5+RV-!6wt@+Lg*lRTr1t)^D%P%6!#YCk;Bpt7_ zhSFkIno6`DR-ND`IZ8ihTKxYs-3kHV1HDRx1rw{ zDW&=#%6TR+tgl%}dB1DPOCxjOq^jC3_u!e&xxhwj+S5M=BFPS(%C#|N&+tQi-xf=a<(=-wCvVkr2r=W4GHqlS#E{X=Ik$vI4fjYY zyvMy`VVT?@&Lu9HM|DC=&h;k$6PaX=I`)n-=i+gYRK$vPXLv-hRRQRD&Ls}!-Bv!x zo9rb7iOZ7uzn!8TV^&W>c@f;oMry+KK(_l}$N!WQ&`I&eLN&o(2-;w|K=h&Zs(nj0=Ql?`=ElP{;kFN;3(!yw8P*O)QcYu&IO?q^mY#I;a0-Uz9(8 z6?z(Cd?~qDO&z)QntWRojz*j3;)BEbm>#xBConQ^S(( zghP}=n8dVK{W7byz##|y?Po~uCVcm)ban#BwSE^)uZj7AV1V?OlX4@`Ej&{m-asN6 zd?}4Hxc$Bvj$_!6U5y@xTFfRa(ke-Ki*{<&auJT<4!Lo5_rFl^{q!>^V+W4XirT2H z43j*k4CdmDK@lbC6& z01&$(y5&*Nr$9f_o?JOunDd5H*uE%15vJt{GWJUVpo^=eF@gU?6W$KeArEl`)yoic zhq*2rD^+WH$Zq-8t)Hod?CM zybknXdzhg%+39?(N&28BbVNrxNRru&A&p2I=g#C6G*Pe$CLB_c-M+%$koQvoT?+b! zoy@%j)Di?%jiQOXjtn9?VtMO0G*4EOJq!U`w78^gtf0x9j_z~bxTk@Yz0H+$~PWzQ%y5iDMqFE zWYrUy5q%yu0vK_R7Cymo6A}dzOJW@)meL5!^a2xz?C>&0%soCk(ajRm(H>}swch~X z(|cOOo{aB|Tj?D@>4`w~4aAQqyyo~x2idyX`9}sfx^h-+A7M>likGm>9Oj#NQ`{7P z-3`hJ@!9m3BJ{W9{IJY&XL3Gf#x-p@DVWfT>SxK+zv}&Hri9Ev3bDP7IU%@QcIHZI zIIEJO?ASA8r12{k`i=J{BIOTE#WVqcDa&}69U(yoLJ94Pyadq(-{+!&;LjINlytMY zo8K378bikJ{NAnbkf+G}2poe9s?1Y|%UT}n?-O0_D&-80KRIB3|K(*xVI;Ws2UQW- zjE2H|q|a5&d9Z}u<@bBi2y=!Qdn_}jKL~H{SaO8V-Llj1&`4M!0)XZ|=)QH{o#wX~^GS#?xm)DH<=~ac zsJngF_#xS_7$H~RFV-D%>Xsx z>Pt%-qZVzRxk+LbU>o*Gwq+kOCPJ`k$9VNwa_yJXVNE;< zCr)+o^_o;RCq!8Ed?IkTtu_WfzDkgcUXFauL98wdDhVu`?P#E@?nq>3s;gF?8-=?F z+t#TR>1@N|LZ89xzkC(}Ed2d9EmEK6W9<$QXT8Y{Ddx2oP_8OxBl>E4R?vh6KL&iC z+Bvm39`Xx>s~-|0+YP@>LK#FPXbPBH4s=A_&_GfWge7v9G9x%Q11j^dO#9wAZuBcZ0Ha|0c$2y4!w5$syyTU;3A1@z;pBA0V+nkn0 zxzfeY8xvr*4r##qn)A z#(*CiIAP2Tc&8ah>&|C}Ilpf)sabPL($ZXbd$}-)y@yW;h)J?S(~+4E#XmnjcmFEV zESESdzB|5s=#~SEJ{YI>HSI^ z;$#e$DF+#Q%mP}Exp@uMM$zTjm&{^n*6-9)NwTK{+GYynD7M&VIVq@(<>wbc?cNO95fT824V) zJN%Yym}G5;D>eJdEl(xS2lyNf+U!68d>B?ZkjN4FF@!O&!D--Q&EZd>cu81|aZgFH zNiR@RJO+MuAglP+v>+DNC=fU*A^tazlP$)=44HudTwdoezH9bLBbJIXwU8pQmO!|Z zCy&!nlTA-9oc6b(SC86nIi~M_$eIKvtMHuPiNqH-gX)@}9{(#B7X2uKtnI#Mdwyn+gNt%{4!fuC2wE*OvRA+`X57nA9C|RWfs8 zk!ux}4QsBL{dJ*gMUCe6Urh}gA!d_*pUu-hlgB_@>#Y!izmJX@ID#=BuPg%L9QFst zTv;NETt4-3J~C(LYNnIM7E`#wU7YXJw1T4%q-ctCZ`D!GF@8$1*AcEi-CvU95KI6t zU*7R-lq2$v=DV!2MbpZ6u_}qaE6G=Pjd&__d7 z7iCsrKD2^cE1^Lg&4XjH5UiKnd;2_#W+Ue<2Zjd*O6ITW@8_CzD+6S z&bpuGj_Vb>ZumBK-s|F{s7bYEK$TtdZS3iqcYEdpnZYj9KI{+T7)luPW*1i+6_wj~ z$s%{n^TmR_g@0vqb)g4VAGvI5Vc+4KK~tJG<$nv4UaKD{OH+FuW-6rOe!Agdp0v7)5-?(q&-jGOZEPr$`9v$2y*u5dbd^-QPEogW-iD2@EkS?IvB8qP0xwKu|k z7THFJkIO#5T+Cv=T@M{5&NB}=(ERTithBmo2=`mLiR5%D;vAfTOs5pM^9H>-=p&i# z%*ThCFR5AeD85TKWT;wP*vFxzK~aS77&a{{vOMeL6EA*5_A#$`Pz57P;!y-Sp~&LN ztr9fykm2TpadniB<$))XKg)|9Z_G^JCGqXxYJ_yL4ry1CaYu}`H(ZUi8}>}sqi$3V zzfEz8)w4EZ>*6@So;e1f-Skho8y+Or$(8hrN% zQxwIM%R$I*1sG~|Fe9n02L^oX=p59MWz>Ucq}1Pn5?Z79L0aZK4(da?p1y9C@8jrP z=HnOJo9z=+m|hTMPS~!Ff-`5SwWCoS2#<8Xc&aTMjs80ig+l;o{GiAa9Q?ko1;RHo za+U{*Q!4C_d!9V<HAiZka)=sc{bqGLbsI68OA zeGn?-BBNf8a(-3DNiZ-{c=r zD6cjZG76;*Lp*Sezx$Z7_D!2$AU=WupPW|XlK#?Rpm72*w>(KlO^xq#(8hv>%pDOQ z!dv@3AdO^%gbE=-458+CI45a-mXNO->cw;Q6B3s!11yldkLXlxn7yO;!ov^aa9yLi zd0&k9!j+p%Lk9=J6s`P^g{5KkkJtyEAmOcBt0Gsz1SIq@tU^j02bG&t2ume$U?6lO zUJc(!_yaKWag9QB<$T9c0;e|*6?+eX`I7ZrR3&j;kQNecNsq05H-g#EzNA{%1~YMHJ{{maIQ#LmH%hCcs6lMlM?{AN zzAVX0iEDU5oc}^HNYs4!e0<#HKpYDbAmn1qgMp#nq0yp(iCn1dtX!D={(ZDr>wCLy z^7n(2&Dlkprni);`SuJ$gSkZ4l|D;`ey(|GENoZVAM%cxws3xdzOw`A-EX@A(qkM6qxr0Vz0|1y4Zy+WmXWq{ zznfC0qv+*&XTrkSB{$T@S1ogMbi;f|YHbmf4& zZLlEJs`Rc^cdbu23A?{`<19*Qd;;|^wkEvX5D>lasOQliyi%0zPRQ5FLGI(ac7PSq zSb8Zk%Lp`9kdorkYN#AgU@p^`kbwutz5tAdTJfo3m>d%y!Zp=#r@UG%_g+#n_O6ZE`#c~iy;@T zoe@q7E$~RICv-mxV45pkkIj-wY zi|1uS`23xhfTYs8I*fbnLse6X1Lq6qjg32Dtx3Y6L8B^vG{~jEWL%%0?{CCWwT4pC znkeZEtLVgmBE_md>Pn?$5@)ND5$ETz!~v)%VI_FYN}t9wz)Z5L2-ofYp=MX*Iizhw zg=n)wCu0Hft5T3EZ|LaB((fDf$HvJ?GpdF;N1N~azwsy!3gPM)N3$1K0ewkk8=DhT z+wV~iL3JvrL|soG!g@>~j&)WpSWeQ|Z!!?fMLNQOFynyE9N(M6A~fAb*yz}%sXFOU zp|}tpvuxJ@u!_?0jSgb9_C8WlE^}K#N0I8PR6sNXW(6>ctu)iUvJ27WQzeSs&eN+> z8>>_o+Ca#R#(%4v*eY#AE_7Xwz1K%ALnI2Ek6Mw7Ov0U9bovW^$O)epRt9x7!7 zwUt5fap@1Hc)H&^@Uz$;Zut5(qE|DofF{X)#h68wui>bngejy&$kL${3@!LqE_{t+ zZW0h|dqZK0Q!!FkfW=jbfHVfk-KIDSQ4(MhOzVU`KUNMKwVbEsuz69@MA;y|(NpdNIE!(u?5ELrl5M0PLbdB; zXPnYuU>mqXy&#FS1d)ioRxy1bjxYV{M@p&!h%be^Av2nSqbXJxh|rX!^DHED^nI5Qu{6vHe08z^sx+Av%({r>~DD%Ou;Kr@dKUO%yW2q?FA7 zqMxHfGT!zjSvd%gfAPQ+T#Lp#ecDW0MLjEnAvnp7<`iscd@Km}E5D8Nzp;|e{Wv)n zg5ggCVX1Z0n}R=$A|*(bf>;o2d#yZ~#=E8;IAf(EgnHBh9?gNYK)J8{&bRy4aOeSb zk~LU1&5xIj{ex}jQZk`}NplGv=$g;~-8~I)jPUdbn2Vdd^au4;!j+9gSiF{xTZ@iI;z-{^Dwvo{Ot(%1&r$m#ozpPq z>d3Q{s{9kqJZgDPgM$qpbAHz=BT;?CzNId z9R+#xL~F_l2!V7C&alOFvb|z+6P?{%LCi2WeSau@IAf@prR?O;Wujwcr)a&}U)>xq z)Tlz?xhg}RRTH>rsl|2FmKmKC(@gLKLYOXPQ`z2Y29s%+;^>$;7**HNgTo`WOmwz+ zDmNO98GrQMm0X|dNBy{-OGlCiO!lmME<7|L9in>A_|eGI1?pB49IqBv!PrC`mQO#1 zzkQ+YvfEnO>jGQc#EY2xL;ox%=|4v~P19(r3bPt|tD zJsIJ8edF;(3xCplY|IS@m@ik)G}I&A^HvTd+7jWw^dNj|q*RX`Y}qh3b$N9(Zd#RL zQXBDwG#hCN_@P+!$20NPUpw%77Gsci=GR{SGO|x7J*@*9d}*vP{+3Si>ci9_u=R#qx_)n9p zyUB5=0YV9zZ_7^ujEn_mbW?zjNx(hMRh12m?Voy*XNA3-9x zZIUy3<*1ay`4joPuy@~3p2sYd0HiMPcMwNC=fOX)YCmQMCQGY9-qbaFG!HKCvTQ3$(d88oQ=q3XkJ4A~SHMta~$*_T2=bTZSS zeI$c%4{0E|+TClB3GTilT>r7&r9`s)3t_}fT+NwB6cqZ@Y}swB<|TtqtOCYC{?rQXNbhg0m8W!V+vqT*}FC{iODW87|-I$poUFiJDRdw zBrP?d`G$KT8YIJi-?nCKv@YYehw$X~-dePpDc z%lfPDXzk)?82_mKW<4x#inL*aG7wyHK%v_dv(I6FD7KR4_;X7_8{X=$5xTVc83WD* z^(T-;GS1;PM!)3Nlx*hs@kq`nah%Sww6#~)Pp@jo3$^YquVui|n(n5}UE_XWBN&H7 z$OUVCP!p#~fyFd6HgK!!taBWh?wfO41-&ZtY^mm03C7}8A;us2RwW`>&a@mwgBN3J zA{KHBqUO*ZAjo|>CAS~lj5=JY9AZOc(gu{=25jD;DV}?Oj`+PZ@z1zp6B+4Jg7`P1 z<;Xs`Z9+?Vl(ImcKPIr<=+LYYiH_iRdVcyuq99(P;iLlZP{gzv-t>6vM=v7VxBL#dTVRZm=0Ljar{!d&9M^Mt}e&*Nr7j zR3Vc}~1{>Kmy|^$*bd^X2Bckv6lA+k2Mj(M>x$@izqXA1*c+xM2MAc>;;` zuFUZ1C`#yq5u$hwFM;H0-LO6Q>On;Olls!NeB70Xh}W8&ocl~%9a~#fl^U4R{vhL8 z4AZyu8~qE-o$+WtxTqMl8P_K2?xmG3Nr^a4h*=$J2Hgm$ zar&({HU|0#M>-5n*GIt^)ZtD1M1c5r!8|#;VJe{6S=72Z>{y{-pNk_#3qD%QK&)q*z<;A~UdjlxjYr6^xNqa3c za>MO#p$$Y)W7~j^vBSU^x*3*pF?u_qTHXkVrPw?U5It_zdr0Mpa=e|W-BG8@V#R%;h^q5-q-7l(#C}bqcMXD~ORx)z2mB5uWm*=^ zEYzly_ttpkUC$wq8hw5JNHtH;mSz5w()W$4UBtaZzV&SUl+*6e&dpgn917)0`99zH z%g89}tqDM3zdH8#ZljhC}T_5Czv_OPV3+Y)@t`WEpUPdHp?fBX zuH~85V5jm>%`{3#GAI4k&CjKi9?E7E{IBu@*BcNP(*uxWyy@|e_wMJDAtW_YQU;$b zD)Po8NJ{@`ecW{pVjtKE2FxU9;%#d5UC;EpW{%WsYf9OHYFjKASLjuF1xTwy?6@_u zS`aTWb>Am6M0@2o6S|6@*cp0>1krt!t3X1SeDsYbEAoWsf*+`p@dyW4OG#@7x-7O#YrIGPM`hBc$Snr8aSX;49a?Q^cz`G%W?#MaUW zvxmXC43<2{S01j2MynJi(0Y@bLa3~pNS)MwCV0r*4xoBAx~cR{`2uG+emnntKECEl zzQ;RBjH#zzA)sXYWfc0`o)2tKuq=Pwj0pJFE{It$rpAvbwf*I7ROcn9xEJ}G!4vGm zFqydMeXF#u@OmM5t(2|5mw6VHD%UQEqa+UjV0dNlntbi5%$Jm-rXqJCjh0?yN=sOc z#;(67M`Qu(+Y6#cD0bf1RBsFAo2Xk$(NI6%x4`Hpv(8}i$aLhJ@UE!ogD3}S3xGtr z4C>#8tjf#uj9cBGvC#R)7=kclXXs9M276!`I?*Z5kmxf43jqY80!{G~oCEN$Dcxlq z$}*VcyRp~INsbzO0(62EEeNLClxD&oIGLZlOoa@3UzdX=^2vR$vW?%1B)08{x)`XA zBW=sXP)l&BGD%C6;U0^-`Orf2&VjJ@c;<0qcU&GV)N#K`O?aY68?|NcIInTF|C&hP zeJUM4g)v)Y>ew5E^yJ*Kim)>_$29Jv>Q9=f^cSgA`0p^%XDSybjYID*-^RV5q~5=8 zeyb^!dnBTChe7FDp>VP={rnmKIg-eS_lKUju<49SPD-As;rDt77T;AtsUWZ-6I7_M zz<=)3)?i5qEZG>{COv<^n`-Rhuw|@yM!x#6Q5Q$q@nK_umOC9DHtX zwZ+U(@m)9C<64q+t+ZN@t2U}*_ZjS-I{#RyJyaqd5`9xT-w`(VU z-zRj~jH#L4cr;wZ#d%9vHxo;CL^PUtQ`BX_xvW_%(ip%o&E4hfmnORS2op^5F=FRltZex8(I$Q=B@!hO^nxzYA2N&MA}Z|x)zqX+m54QDte`y}Fz&DM?#s0z z#8Jc$Z=i#SOjyb!I=yBaTG&D=(bZKxGI)T)p;@B!;*U%uRtE`H&_@TZUxGFQed4hiT?=K@b)j(5=tAp)(sc%2X~sIscOv&r)Thg`KahBEn}k4xA}b=n z=hmDYCdd)a$S_22*?-{pk*W{oF++GF7Gz5%2>r!2yV@$`+iq#Uo`!GJzlRhV>++5w zX;xw?pc`txARRMoIFazB?cu4o>Oht=w^R6SNKWHMl^1OM#f{b&{SJCWzq8=35K3xe^U@w%51=WU^E_f=#<~r>heM15+smpd0cz zFT#W}tubR2m)g>r`OUY={nVpx_@ue>sUOjoH@^N1Ft4&91%g6U{)UKzexHBy{4a+w zI9hq%q$_*V(1UVC8H0q?>0CoKD{2Y?%s)+1N99AM;zeq(?QITUyvD|-A%J%+L_|i; zz2qb^J@d^K)j*v%tm{>LVRcILS|aY_M?|NV8_c5eHA#1gsslQ zw3s}X9xGH&7N)5KLbhy%#g^dwUq1^Gf$j4p_uT9$KGxNjoje#$_7Q0q z!t$7%oE78UC+pWqn2bE4d=MQKH~-LnTM{c@lk{ut=e(sF#bv%kp?dMFQa_te-y_uE zNoTjoaK|P^u7@_)Oyq2w;Gy|Rqs}36hKlJ@peEl^kHdmSfz>MIUl*{LRci&YdR7C3 zJ|`L#5av+I{XUO_F#hS^3)R_);f8avrM6Wm-Ep<^Qe%KyR=q=C&v6XK58_8En`!=8 zGF;?sT?bwGa?vxTQp<1%jd`pk)~?b5sTcP-3Znm>1=>ZN!D%NuJkxXf@#<}HkXV-B z7g$7z<+UcqygsWNwm;?I+iSWfA3mL|Vt8rfIRd-OzlAc)81Z>;p?|ag`(ne)#eB4Y7A!&@Wc6 zi1RM59vR$UNNLf7-*5tJ>kJ?@><8vDzdm$=CPUujs-(*)^}jABwoRYz7CGk2c+2&?^GGT-5^U-tokoA)*#jbr+4EUbj7L`PP_1wME+NDpzQ&O}c64}t zQ}T>h4$c(sw;YB_@~?(Jo`V|#E>?r3XcYWDVrZ9q5e~<}Ju*3q-L@)s1SUJ}GhdU{ zORI{nQ;tH7Hp$jCEc!3JAi#fjWq`gMh+tOt?dsDt%DN0Ga7@?V$ zmj7qNh1O5_PmUZf1RJ~aV3P_(n9lc)D+ytnUl0adHsj8PSpfB$B_-{E*hbmlq82NP zMU_$D8DbmPL`t_Q%+2vqVuJX|BzLd@WJ{iFj*W)8mQvtv;bx==qu_kFP4|XGd`urY zHANpB*2UNzLBbWsM+jMsieFugiuq{4=F3V;GwRv6dDjHUA`Zw5^vxIRAyvQ&tV<5b zx&VF9kLKL1bIpIqjxiA!!|7 z@rxH;P!QtPPZ~J$4im1+{<*OZl)A@s|Nx9tzv6x!==bvumX_2lMX*7yUZP|D()phIgW8>Zy6>2lE zj9VwM!^CPtmTrj&-zR%MaYniJ*;s}=FUc{-+7pM!;sAJ1Ii2D>QT}Jw*e19Sv~3*c zC+`C{e&@-!jwAmSC-P5Vpy));h2;%xJSHw5C_f6M`cMBroLIZF6+cqgd}bE$Q+r(y z?6VvW zoe*rG>EumUl4tlgM6|R{oCxmwo~a%duh4-E%Z78A5ynLz{K5;j|HkukpgEn5v~*ff z0HLpi3@vcmY}fO~>oKE$6yxSa01Opr)&Kaien4#(V2x#>a9YtPuY-X zlyM)28cVy)!knBckB<04n@wGxCE@?k@p|tt4D9}Ccy%`WUv>E0(D5#b;U!iBm#z*1 z;fk2uh9mk3<}s+M*on9Ml=Q#tEC*JNY{n4#4TabL#!ZJ*P*Ui*ftLNxj<04m@N7f_ zcz3yB>TD{~Az2G`GDcp1!{m!j^s=pecfm|xv6x+g*>`#EI#kR5tb+sF>4T!|eXi%1 zZrd6ghQZFJELW!?o@X~kLdu@qFT40G;V@<}?PR-YW0PE?TCJVCPopcLQIP>+b7 zYX+I&#RXulUjc2P$e*8Z>TQidrw?0z^9qIoq4mqIjnK^tQtH(_lINR~NGR>fx4^j} z6ESBGu0}mr79^IQ7HnxXot+>ZZYOAWUpW~JWdXfRO2dcMxZlr=?Nj=p^YF8mo66-= z(l36n9HBEoWXXXY_tf_XzM1fwi^h@z_=V|RYMGH)J*#+lGkQr}hU_SE8l*))bVy`M zO%EQi)>P=&@3)HzYiJHqC25OVlvfcSvNdd2-Y;Id^lgG;`xJjX?nOW>b?WT&qI zs8BTH=K^A4vM6Ka!k`Nu&AK02P$!Z4E7_^9hqWH4_vI+lK(qAZT*hH(9J98>g2M3&14k&uaG;R8Sh!| zGQ@kY^?Ys0^yw!HOw2cq)OWSsEh4{8cR*N zq6ClV9r1evDm~sWmV>ZLG^p`|S>iL4(BtbK9wEtMrf6RVdk9A9lSa<^tYUdvF>qmz zVnba-cR**X-x}@dzIYu1)OKK@byE#^#jjYKsovCo3sV&Yz_NdNbhP{<@metiJmopO z8ITS{(baj&aN{T6<$WT)IJsY$C9?X2d=QVcMD>PgADT}*=}12(1`FQ`sxXWaCl!@L z($Ea@C4QoyCeA02CY+*^08F$+;DH^@8q@t9ez|D1W5`fL$R^NE${JI*;J{X<{8=NGsOz~l{FeF$7xT``I39bWCU69d2#9cP^n2~pYJjDl@V`JIZ& z&RXnKrILzB%+Ve-a{IQBhxRQi-h6pdY=*+D>iY-E|Q-{Ig3ExP+Zs10v&ch z%)Q4}Pk8DY7pdl}`|et_W5JJtNN&!xA8EW8SeQQq&VyWD3PX*4opI8|r|vWDB^OP< zC^9%F{$K!x2{4AP$I~reO9iwsv|v`IOhEkY4QY?MxDjCEo|OhoHe?@oq{0Rfq%v!5 z<$yknwHycW*FZ@e`cZEzTbwaFOe4(*IE1*l`6_etqO z2s)ct(td>?lc_t{xbqpNxJ%x>S0%IOxbL0s?SxRL)h+L`pjHE!9SGhC&ZE|Uj&M)9 zf1%7&P#S)UkDvEhR`s)BZJtH_4H>MMxdC1LRLZH5h4+8;+;8eCtI3Mz4aM;%n+8D8 zTc_lW{qM{##P};{{jYIu3lsPBiT{maaT87`Q;i&?FYyI0(u6TDSf+Gen-4I1{#Qo} za6~=(D+*U!!4~m;UzNAf%b<7>sPyRFYp00O5pOqCg8^o#R8yiVFnM{PyS7;24h8OoxgIg z#=GnnafXFa2Woa%JR~Jm@AM~JkeJ3jm7m-*=Y%SIsZvnnn#*X>`D?^JI6uWqd5+D& z2l=gHe}(0P<*TVQvMLs*aO?BleMR;y@k5d-if`uFsx?HQkul^VIOwD9H4^|OhkEU5 zamMp(&)0xPRz4}P@2Nf8%)4?k85Q5!H#?m!Ipm++@xL#nQmKa2n^uVfv><;SmCsKX zR`JnuYgj>laAKQVJsHyL{v;~@lsV;hfX=1k)b=HV$#i+39STlNirpQtcl;_BO=R5b zb62t-Dv}%}XR0lY+xlYJaJ>p7vxj|5lIuKP6dI~|l}}Eg`P}F0qPV0~@qM+vpVjD8 zX#IutLuKLZveR0^grd69MpX&~b2I#{wJ$nQ|{3kAt6qj@S*Mek`O4qmn^g>Cjm_v)_SoX;#P=eNg6wJ&Vm3N+4)0^1;SRg5bdQ zn@|zM!p8>{w*+mshV&W8#a*i^KZ>L9v`8Nk_a&d(Kg+s()P4|MWn4fx5G=iT6zGmH z(IudY6S<_BkmGV8cn$1_4<6c7v1ysZuu`jvhdF_zR?djF>?B_6d|6@Bc#k=<5NQ-fb<(_47nNeh@A7g|#jq)awK-XPOafESk z@$kOD;>F3LskO6X`HH<1`v(`kF#v4f2XtGdw!Dde70ph%a%+^q9j_PnUP2kOvpJb!eV!U z%{k}Y*~#x;{mnN!yI2G!*>`4>n4S5)4%OAw)z#Hi)rL?g7z+4&@CAZE2!PRlh!~3n zCIi2JmLeDkg#IM?li-S0>7<_EEHaRD60=|u6bq4$JICOU!`Z@-LJcb&ul zN!UgrR6IaHR2|kwKgY6J^3hFj_Eq53H&0_2HrQkMPN#2wehHD;8ZA!5 zCZ%FlX$gu7^N-qo|i44guK2owE{xLAD| zeQpz+76Vs69nae6hBLBFzMy0g^tv%-ap8dn{0R1Rp#I_+G#itD5o-#9i)VO}aOGfL zlZl;Y|BfDb1Igvaps$mWu=@6){ir`^oa!d!sRGBC&uBf+6aeA~Zf%RjKM^S)YVM z9!Z`ELGrgCUneesQ@Ck#e*_;o{8E+1ZT;x4J%%6r-Cnf!bRlVFsq~JuNk5IOFGO); z1Z}-RB#-t|T$NJOk`4z4U2k7?i^d*9e)!o&AY_4=eGD*<*{Y3+$s7Z#!vR~!3ac>yKUYoy zLyQFBbB|%zMse)Ph^_RoL}S?l5`@}%4pA~4_t_{dVq4Ma2NfZl#37yzbk^|OYJ=e#ZMyU53}MZ zs-*~WR5{73Aej6RG|MyfSJgE&hk{i-Cmd3Y{Rt?4Sy%?nq&Sy6R-BXhIF!J|2!;uJ zjFm*iJ%+``XW?W^%*68he-D|PLWtpBB(*dH;l)J(qW4knr!W=SuNX;~!X+iCi6WCn zzVlO>RZXk6lOGC)q+_!%GBOKEAC6eGGBU9pne%YpLpDqV$*I*u@uH{w8V(+;0c<9W zd#zZ1vT8YI&&mXRUbe%1mL&tpP8-}ZAqa1X``4h;f!V9pqdddTJYIMvycp^4M%}e* zsO|C~EaI-^aVcUYFKD&HJKTrnnrg&m#Umj(6$u=`?EGRR z2+go1Yn&4rHZ;7diQye%Tixu_Aclv3-SAMPFk9@1XZg%5?q^&Um03*=_%Xnhs&`;a z5urUX9Z6On`no#M(lG!(J7;scker&1^o&fXq6+(W_MuG?17-g_tlgY9rBGL+6({yy zhL1CR(36Gvi&taqf~+Zd>gJpSsCIIXJP$acOh<)A`u$z!oj_-;iY|7U{2*E8K}b9 znrkR6%|^CEqZ^&+sLDQtk0@}$wF?&~rv$ucsy>GAe)AWw71)q4e>*mo*wAqK1kTiZ zIiMzTiU~~k9N7Hi=dp9!Dx}JPB=L-)>aAz-zxLN-e9(yvpIe2ZEF(_tI)FY)0xX6g zyj+5PaV2={OHbkM<+EUqsLZ@*t-gp4_V35LryEEGT)tz-DXB3T9b%hvmf~~wZsmX# z!bJ`q=)I1;&;KKSb>4?un-7`mzl#6%)eT6}**CQ`trvFVPyW9TC_apTqs6rV-~QdN z;NjIS^tV>w&DY+*`=_oWXmgODNt#>@snWyvs2{m2w&06T-H$oRK^%YaCwTSBFyfQq z5#w;e-`Rk@fA`<^LE_3V;yE?uzoeOM{(}ZZv55v-$csX6l5>E2P;yC zaPs6?vSGU2H?i{`;`wR%f8 ze4b%kJXwpB)D*wSOh8V0GSV_KC=LpDlWuWk^Y-K9 zJ1^r$zuJ!uFS#IBB|kUyJ$*w6#Ka;i#fqzMzlb0ILM;7ODC3QDhi{mrU1U4`E=$15F2{IvQ06_kvncMMoebm7jLvb>4~sxZNBCQw%~w zgWT`ARk`UkL{;{QeVwv`DEPuaN(%yjFhN<;IUf*zOen=e53N9HZY)|a9>>x1*Wr$_ z!Q?UH`o%g-EX{&FyeAP6MrnU0{KzU_iZ$z2lFN^w;>0POtZ0Qb-iegqYSi=$qlBVL z%uoZ~dE+fK1nfwPHDQ7}_JTE^!!z?UG2T&!6Yn2ETTDFiTthg()u@mYXyd$e%$Zey zvdr^;sBs%$GqmA!WjAK0#!+oaHD*sWE;LgF5OE4ASeZK;vngG*T&%`BKi&^h*<4g! za$wt&_hRjmB3J^WxOC(QDymz!$FRfKavj~lC78S8VLX(47{{vn5b#XEl$wh*n>OQ# zluYEM*x+|_^%3z<5EkAzXn%reJa-toKB$I&B|aIJAmwv&I`03SN08$Tp#I7kymz7r z3E9~gx_T0Cy`PViN4E1F_ael(5U0$)5ceDQoMm`y%VMOtf~YzE9!^~EM~o{01Kp!& zs%b%}aE=-;8NN@2a9C-$YiuDpMG=htm>CTkham9W*mGipCQn2is$P9enIMyoC%;K244lnlBMxl({8oH! z+hT|WU!HA2duJEU)D5Xa#lX-oxrFL>7&+vk-f@Idi?M#k1K7SKR}FY-OaR@r^{5S4 zxzVItJ?!NM85pm-fU4dJ7ftTOO%&vmQ*5&0rQf^_cOun_ZRb$c zx(@T^rgQR@prEt}mk&3?mSDlP6BjVFu24;o<}+t8NbxK{u`i*h1jWoNlO;B@7*GG; zhwyM|2pAJFZ}~hV$rixReNW|iT=0-vQM~g9he)7KlrLL@cvCx$SM|W-9_7A&Aq$Jv z--AVI8h;&a5@rw{aK&nMVj9Bv)7OYQZbIXw&P42Z>IrOHTBJmb1x4J01zy7LDV2nqk5X|M;kyNW#oM zRk`CM5M)3O6#XQ3Zp=k&GI9fd8P-b>cmen}N$@Glw93oxTt!Ub3O)ijw`uIg*S8e0 zwCpnSK8zYOu%IMIO%72nT2hjc7#|NKi7CWY!@!-fKHC)FeC8V;Mq_4RQZPJD89u>= z#ujdN2Z%UZAxiTKxH?V1M`TWPS8`PvCn0y^+|_ofAA?+;?L26jg*in|cFBl@v;r(! zy9#TTlp{CQh}!cfaNx~-_{|Hi;AmwFf-YxR7z!C)5n?I zQu4`wj`g5FAghLnC+$Xm5~vy#!V%o7a|h;?Bu#%BNmV;z-7`Ln03v!ha~N9!m(cr% zN>aV>At}f228uIEe3PFyX_~J-v82logS|&jU;B;A$lIBp=NL$jXnH)W*I1lb~ zRY-7B!_r5h;)LQGl+K-n+>$gj)^H;o>&1ohjmVqTf~E=9M=gsvy$JcU=ObBX2RspO zs5*-yXKT>fP>-5_+ExsX`;}QkEGK?~%ciY@kk0cqGA=; z1c?F$>r~+J>y&*0-%IgNBB`FMk2|Q1`2-H34I^c9vzhRJ@tKUISyqr4fs#U#bw|E( zwJ=ewu7*OgSg1}BH6@dJ7F9?wu*oVuk#AEb$SrG>jYxEoUh?0xr_njo-~^aMpCIbx zG~{SM{p9!*wK(o3nGlp$WwNNG5Y2C-P(Q^9b?(AvMyg!(GZ26*OCR&D5A3~@8*;|d}KE@vw8pGNsY3*lVcm-sy7vlclBwID_a zLa-``)hiO*N3|Cr1U-+QPl`n43wQXp{zvwn8oWGz4;gIb{*Z@(4jvm!Sdm7v5}VR! zM=&r6UsONjq5SlXO`xT!0ahDH)$fKeEg24*NCHgE@M-t=HY`wsLjz_S^ii*F_4Rh8 zWQ=7MNJ?_TLNfvrImAHUAg)(;Y1NXrq>honeq23YhgheD6J-MFnejXekP|0KE-ai| zfP!p)JH{#U1xK22seXv6M;361b1*+we`BPVb(yzVvmD4IDuhjDe@B&5i2n1b4dFN12v{*VI)jK^cvy&&{BN{ z`_J|u)^6bm!YE2gGLV!SuktaI_V-i#jI1CUp?br=yFA3|S;9jkMakPyduMAYE`CC}x4BKIPy zPBa1Ov52Q_k#D3QiP_Y0EiP4JtZJ1ap4e5{TruR_lqEE*nB4EvT$(K&!_I zyG64viU=vvO|D!qR2B?$52CNVorZgVi3r9xC`J$ye5a>~2FH>AIC=;aatd1TImF`$juaRaMPHS02Vv zg!E1fqpjf@E?vBWF-HPoLvE_c3vq8*A@bt2vg17UKYr>0I(Q5~gBg^p-HIgz35vnU z`V;!lRyU^6w4x`I~@qr%1 zt+*G9iVGAciXg(0i^XNRsH|>8Z@>r_wPnKrCrUEPFfUizVg`IQ@gThBN}pSV~g z3}3;n-A0sV+R)criL*SH38@%Sm^Y2ZV{-JJlTChhKJ8BiR-}S6efh2MlmpJ?QGN;l7<* z=?X-A7*K6%xF;Ufh9ok7D1t6_LBp|_;K*%JZL?+gNE{;vcESo>x0aXVL)8PpEkupi0+&NA;JJbFjaw4@>X8 z5A)}jM3|kszZI7b@5a$i2VC6S1WHz7K|UwQop)F7%}xJO!9dxU#4s{E0`~|FpSkhX z#D6&q^P!&yTFzKI`gy=3TB1lI1x!%X85kUfiF)oaZnE`lWWeXf5bHCrJ}XaVwfeM@ zA!@|DO*z!=gXdx2ANSDDg#3Ul4U=fx% z&*Su(!{`{50KPU{uIs^n;$)h0q-7zFc1CSfOFQje zwAVM|{o{$4zj-Ty>D(WUkDz~uIPeU@E6ZXSRf)xGvGeX8jPE*z_F*avXxMk<+46mY#d3P!XPac+N{~RxmHS&h4|{D_hVU^W@4h4nxY?%>Z8FaRs}xv_H--8 z!Xc$rl*W*R!D^);=!5}tw?Bc0?p=>uE>gMzz#v+GP#Ro{v7=3yAh5SOG3bA9)8E^@ z7Iw#3o{HQ&+6TE45tovnd;`d%xG{=F$?SX>cu3&LN$2KBY1*|qc`}|vd!^zc+FaRO zvEs#qxRKC7sQy%_IAjO_P-;e}4jdb{#^S$G}s4*&qYX^m5#_Ivb6bF5zlz2Lgn3 zxV01hA!iz8Q6og#tK zBDHkQgZMf%X$KD;L3PUzQd0#czN0COk>(U@w$XfM>1Sy?pKiASE_q3cgUdmmD{L zPug2fFxFjAl7|3|q8zDdWCq%p%jgN=>M4fybm_STWC%7msHLJZTEQTB)OiQ{?TAf8 zLHRr^Bjd_T4Ud`XA8X;^UjmI7OUv?LCsUG1ul5}*FME8c&rG|wl=N)OTe1Z6=M*9? zijD*hVVsGX>@Urc$Y+p5TH?a`i6&})8|hKVl|sy#)#y=`=sY zJlPb1KCtvMb#&Hn8X@YOr!NpsF9q)%+*3(vnK5?+x2)S z$XR)6D%vfIElzHD6Jnh_H_aF%MS&p24i5zfn zXb9BsD&xO6S1cS969m4X4xn&D*?>wVTxG_Fhsd?Z5g-A$xB|q*xhV6}x>@fNfiTL3 zlLW1`8|f8s>BR&O^~6}w%e|1v>ZGM>JYpR&n!=dC$r*~QiGJ}=l%-WFAq;|h-IQOm zed75OU&%ia>%>h#p8IKCt3YReU25aYche*^mbh6Wp%X424H2bX8FRDrC5-dvQbDdD zVugFFqA zf0+ThB}kE%YRrV5J}L&a$t48&(QAl6^P#?|339_62?KJ&bD6zS5Ke!uBVhXTDIE(V zYZA(-b;|Qd`6z_w&-6AX%TN8L=Zidzsw47DzUXl1@AcnPGHE~bHubuv{ucOUVoxoo z=b3yunP>9dOwY6udRuyb`N=Z!WU}1!_qQ&m=f1_?>3GobGrh?4eAC}Y{hkW@HE<2e^%gM1_L*Y z>!(9kH_&xh;c&zAY09T)q-r zV7|qxs9YcK>&@DbNi!4UrKw2(L!C`%=p0dYF`Q&tVgWgLqG35tiY>IXW#9&$0H^Yl zShC!#p^pc?lnxVrKO31CXhrq)Rt(c^S2<WLg>1kblo#TLJ7h`!_w@60>smFWu&hi zO^j0Gr%T}i6EED8PzG@W|~yAEB0C7F{UpTWw15?rv0Z4Qyh#Y}Rme_B2ATTeG{ zR~pjWjr>)`Cd)*gPXeWylIN22zu_NJWhAMxkzZ54==Dx{8ir@eGyc%?M%q&OCUa@; zCx74YZCZYLf6FrLL!_;6Wz&D((8h;-K$w(tLSLQQhHA72T#SiEdn!sNo^Cp+T_Z;q zTyp$>nRUiAy$=x>Re!@{8!jpDJf2ZSqe0U21nu4?lxa4-JGr{}2uuu3h>UIt;ukiV znW0^?04*+!0-2b)vmOQwj;B*fEPcdj57j?NOWra1L5N{k4uhuE;EmUgpfvk_6eOwW zM(mL67pCtCqV^Esj_bXiF6+shkfc8s!?m%0-XR)8I%y3$it)r^YM0hP=`F zSZCyYR2jXgnc$LldKn=c{kuHZe^2enWd4uK(4`GYI;d^eo6vZr9xetPl-LI1XytW( z2XOV+MGP%WM=~Xa$=s@__MyfydN8A4jK+^3fJypjrLiO|gRn4klZ&B}9LjRjr|8_m z_bSm=P`8@X9!&iVYq7*Ajs}DNag5muvEiQkux(MQ3XLzOmECoWiS_0ITg!!yq84( z0g2crAzozg#u+AN){;W3SiKMoq!LaFTan2jz5~M}Ze^rrX1Jb28Z}Cjf&&3h$Aw-x z@|WV}FpU)_Xjz)5!y0)x`9=IJhQ{b0LeuKFxH!hMovhQ(C?|uXjMKycNT5@HRK)0Z zvUucMfZ;TUMkh35LIP!@aimN6pEApBa3nB{5QZSzamB_lqWa8b^u7idQD%5}T)8Ni zqzrv*=&(6uatPJxlSLxX3=V1e&9q{UV{}O6S8*G-BAvVCm+&A2`x&9K9u=J?#v`Mk zKtFp4QXRv9b%U)JaJ6$i*5xsOnx%}}^zJD*xDt#I4~&szFfnc~`=lE}Mw-_VV78)U z!xQ-Ka=$X5HJWK$svHreW{ob?Hxh{UBvQkaFKU8BMu$sJz+__t!8C^G!MK{skn9>wv?bt>wJJQpiWYit@8uU(CQrDZwF%S+lB zYpubtqeoFY%#izud6<(KLTh~k8oS0}q32mFJ8kleqo<)aTt_V9yj5f03;m4lk&pF^ zMlw5F9H1Byw5bXwPF_H(1aP4BtAt23Fi3zikzsjOv)$q}B3nU&z}O%vkM76GrV*Ow zr(;%b0*s?AxLCt>NY$o)#4a-_JNjv*Ox!6r#Y&aF z8;Lnsxn?Ei<)I5mCgkNpMAp-#3CQ#}4CU zRWrt^3{m?}60JQU8!OhY!Ggjxs%a+sqJaF69|TVk{aAAoL$+QEpb7A4We*N5)v^Ell&$ZfU<_OyJ)99WBjus7nJb|E}L^y~zT;!Tj8b!uW%JUXu! z#r#?lMJoBGCUu}6M|bbW{&!BIeuVL68KKF?yB!3nCOWczT)cPvYKGftshO&7} zIYE55e)bS{y}TdQ)KW}H=po9P5*S-dqY=7@%h&4AxMc@Ew_z@W+3^vb!g^{>;Pu1w zZ|2f_#bsxIe}>UL$Y_O({MXMwblc{Fkx@?Jr!O^O;jDOEs;PmYm(fvr-H2g$Qac@k z+`dY*wzl9DL!{JRxs2LwH|ulI+}x;4^Dov6!1nE@usA7 z*OZB@$WWQYhx{jTrEL^nesl*G&|TC^Co{p%D|K;y$Ry4i=(9f2(@L$+5X=r2&GC)2 zx*x}pie`*5w%Fr$(VdtRL&jpPw;6|by^Ocd*6|J#dNR?~R=Bi@CjX==STA13^_Cs@ z;-hQT)eU}67Y@DpDh?dJgyyjTg9Jv6o$U&)T)K|?pL&$xmI~>+^HC>>#-Qkz%TP@% zxN?zyp`eIsw>uX1KDh=Rmn(6xqL!kT8QqoV(70_r%HlQic71XTGLXie=YNgE)t#L5 z40FVZ; z=rpDvJ&A5E3>BH2=)!1MH%2AK z3E@zaMRPLI-8zU-ifXcH3vyCgNEn3+Rw9Yf3F8>IciPBa2JWK;yl)_DM6l% z(_^Bat2kqOy>}I^)FdR+smx@KMI!Mv!B|`4WLklVA)MxY9eHz0@xY>V)E(J>gFWw@ z#<+uHmq_Lo$5?0d%^zk!z;Pl!z+lnO|LQ%YCOm>gMU*IXiv17-Mlw>X2S(b^+IR)c zmUv|FZjiymC0I_EwyTqU*3qz^K-*wuG;VgE&jiRHv{ zl0J>>e`c~3-q9{JH1Pr+YFM*>8TH-Iu(mcbAuZ9Dg}&_hyu8PoMxS=liCK?r`XS(t zOc15LGBMh?zXQkK{3lc$qbD1kZ$yhV$Vls>ykx~r4(}cugt=fPa>z9eo)#QFR>km~ z3CaiDnmz{)fBp%qD0HE>;UZpsmi5G>z}0yXmui=woD;+ncEl2qNIBzwnq63T-y>L% z7Q!_~E-c^1`yc$HxbVi$@%p7cj8iTyTelhy+_wek^xks>2N(*k)2^SLubz@aU79xN@4%O=5ZF2hX7@ zWT#v02wj$k86K5d9g1dhKZc*HIQ58(s-KH{zxa7ZMbD!zd_7)&eeOk^Xc}Y~9WsH5 zUNm)k7<7XE^j(cOwC6lUiBwoTBQSA{p604FzaR;nl}8w5{dHU#V)U3q6KX21V>rDJ z$4=K{)RG7rLl4CjFUKQ~@1*D$gSM*Ec=4w%p)rPawV%SphGo1Zir%KA*bh5L^!1~& zu?^LyYDlOVBy2Z-=G{GyVk{%nm*pWdClS~BxRs?kw(jf&^smf8it>kNfR5fK9D26_ z2^mRbwnH%Hug2#e+rbITAcBn**!B7@9J@Bkb2>WkQ3Tb5O_>3TyDBE{6DKky{m7L2 za49lDRE1mY(#S{qa3n6k$J5Q+9tDanB3VOn};WVpWKKnx`O(e>(N6Mu>j>Y zxKLcWjCVvhD5aSgnm-5Y))nLQt~z=G8gRX}o7W!z`O5Q6#4~azu2hMuD1NP2fD{r< zQ7H*Rv>5cKPNKW02y#ANOJL__HYGC=3GAD@wE=B)4Gg&EVlaRa#4mmTk8WR!yd=^6 z#$x&1J2BFK(~rGp8h8zui4&*|4ZIpHhlSOKl>GsTF-YI`_3PH6yf6-Bg|nzspkE*( z8wR+CF>!z64O);o`z~xMFJKf>24qN|#Rw%v?sw>aPt9KL+O=4*W~m|?SagQ(*KaJana9ZbU0 zn^t1cEG-&i?t*1l+eOi)&CdXO>_;vq+vr)eF#bz>u=SjHtuj6{8BMR;zT!pjGlT3h>dT&$O&{WNNVuo}gGy|{Vi(v+A=pK{sZaneY14RJe-p}4V* z;pkV+$xr}}(H)jl&PaFMY*L(PKD!5hSNA@-3?~{_9`|rB=uOHzM&9G$RxS%L>_NJGa_qGvvy^O0Zs?LmMJyTYA7gtq5+bl}c^OiZCGacDFoThQ zzT%6Q&&JW3HgxhXLGLIDh8*1>cP_FnnIt~EZq6w+lKw_S7bMi30Q<4hs#QbugDiuYIgj699EDS#+!429Ps&KjL8tUsisP*EC zAzCr2&Ye^hDXu)VIDc^^p?*F&IiCA}8>vfmQQZV3>i9?*B~oy$8Re=))s~r|j7+l@ zB9nKAh_E4?(`1Un%B>Gzh4haioRQ*e?F`1iaxQwHyI{GSpaK)iE&1SABW4wzo zj*KD5SODEUj8_njVyOVR!w+4BJl?_U+Af?&kfOKv;hU%=7;3IV6$3p4D8i3_GfKXN zcrcN|2YUN(>C9EEEm{c*Q5ffaG=qGeKrt2t3z1H14w)QUzl_M^3Y0}f!qrPdRCq+x zoOcM}?XyjpAlyPyR!zi`m8%)IHVpylr-O`=VP!0+xcEe*r6e+5)MSw%o>fdxZE2>M zBzqJ0KqsoZNyj74=7g3a zUm~;@5b?*$jLanaB?|{p(IN||a%{xzw5tuU_{+=9QGW5UR^%dixY}_Kl|qvlhaBSw zAqw3{VQDU08I9CbC)9pgvI+B0@0dwsS(y~_J6uK)gXB|*Tvh{y_mjMTho8UnHk$f< zFfj&i&u|Etd0CX1(-9nII2<`~4X4R(+5@TDPlD3g71#+Le@MIXPJmVIP-Ej^T^^a# zM52+`nn~b0Ns-CKl{5TEo^q8HF_17({b?XG8|`gFcPHg`R_vu_$j@TBTiSK?3lZ7_>pgTJSTOru>+Ee9Lbd zZe=VbNgEMrR}JzU!^e$U(flQhR44(=W=fNbY&>rbvQirq=w`@&9FqeXb5~>i`~*%0 z4iZ-#`uj5gm>dSNA!j;rIKzEiRFx8T0V2f9W8yi16cD%bMb|;$q>%VRMn=*Q^=$8e zC={6386hOm=nQoA60aU@;*tB<2qULSIGaou8v`ZSwQJH?W~L$5P$c!LV(LreYh-A{ z@6?O%L}fujrjUz&iAKEj&T&*Xk0FWof>;?ed*$XL%wAZI42CeN+5Kbet`iw)vSz(C z{ci*g{ek3;WEUnOT!n$JlX)qP{{p2F*5jkZ-8A(K)^)+Z8n4m15hB#`q zObloj!^o5&YP%-5aV}cCo{~Wz_I|KT4wRhpd#b(Ukkj_Bm zX|PIQ1}AL*``c-kCp)!7jiK>dPg^&7nklL9y$T=_ZeB*=j#31d>_fP3G8gm|nIPH& z4y+)Y+;OIVq|YpUJZ+5XVPa@aP+ck_P;6EaR&H9N)T%@Unkz5hdY7N~%cU#TszeHv zGk{5Kl4ylK?j(g_PNdkATbha!SGoD6ynph8(^#CHjK#B()yg%_D2zvsRbq(ug_uYj z4syW^-lED#bTTXXmlZM0r}ka@d8fFX1XJpm{5AD|n>H|ltip^Ri9`w!GLyF5ra(eh#PG}bwdMYm+_(^ zS)TpvIQH&tys^I$#sq4%(iY&$Ph?T%r;OOw4Ifq1iFswb^JH$AV~(M&q5_SBMr3j9 zT(L=i456w7HVpTR!iL8HY}**aJ6@7`SSK8BTGEHPyPL#*@*4M{lt>tFEH=Lki*gyn zn>XWX`zMW=_!;Q#QZ-GOf(+HlEBIP3U&P>s`+02yFL0ttci6~Cn%)LfP%T`*^2Ny} zxQCi>?CcfP_ZWBx$au~=UKA`kO#0uc07kNZM!rZK;33{$GR{?-la|Y^gI8@#n;=q& zaCWVf_E$QfRj$u0oz5(Yg(&2VuiPR2!ySuzq$52AUYLkXo!ds#1OJ-0W?B z2H*I~L&zka_4-wtBd~5T(X91y^u1(VT_2U3C@x^X1w2H zL|VELNB6#??jTvcAR8SQ4x-{}6Jm3JhzRacQW;Dymqb=-J&H!EMxDVvRG!$2H%W9W zXT_nt`Yhh~>C0$yrohX?y@H2-AHVn57Gzs_n0J6TbG>nqvC?SWU9bV;j=h@&D*kE zvAo}~m7DrHH`X&~-@^G;yw(ulossdVKCl z%w$W$n!DEGdhH9SbSIHpjo=`E@AEsv<r&;I%lFT`QU zQ7+{U209)j=W@>7ihDS5s30V_;s8=Zr4ABhA0-oYYNPz6g~F5*?ijXztt%AtY#{{` zH{Pp8%Qdf|&6tjakxsnztG~wq!egNJ z!^lg5?0hzwwE{cV&OXQG4bRti18d z%qW`3U5etY3{DOiN^N539W%Rla=#!8SGsF>#Q~XWUl*z?u3-ItBTKOAo_lfj@BbN% zeF?n8)xp)}D1LdCE)Y~Ej56wCLJR}tiQ+=9O#jP$m(Wm<<2f16E!;N6Oc`Sf#ZP@4 zC7LCrb}ClLxM&tHx17nIjQt)&LwzGp(8n;Cna)njQ%TaK{#`xLKG=I52^kAEV(0HL z7VO@Ayr-~-;Uc+z+zT?;tcUjnrsU7Y(@!((J?!JTfR(QqkGHoQy+rVe z%{#Ge!&)rL*ECgf&NIOP$<8K&mdbm6vyVQUsX%nz!d(<+`!v$=;cN<23{R)mZ4)Gj` z9FB*NHN4Pg-jaF9OZ4FAyO*dm=)~otl~}_|f|5D+M*0|?p7=@g^`byzSG^sA5~OKJ zdvhb2x<-+I?#NQs0}4U|O-bf&!&iR?ywC73Z-ebqdoP*fp7B96Q+blNXc?Z_vIWa> zgxX23D|X;XpB4Mx+>c|m!*I$K13{_=Id&6+6AUQ65MO%m0h*hntNfG))ooUdJV$X9 z@*vbgQ7eKVEsH!LE8>5CZu)ES>I-KvUY1M$iw>-R|JGwjPZwpq#?>WsX!si^6fgZ; zwiM1iCwXfbZxkMB$GOyOGT`M{xac1I;WzAf>)m5Gey$e7a)*jH2BoVu;l6SQYOgXv zKF8I{bF#@q1&wD2jg7Q8=xRrH&O+I`G7&P52lXdv;8+reYO0P!=Of8TWyMf8gKjsQ zdC;4G3K~|3^2rzKX}F5(oz&Blh(eY);(aZR|vXVN|i+PHk!ta9AF*H?P zK_@kPL>Vocb5UHzu$fYhMB7wfhlZ{(br5Rg^~&>#c^jA5b2GeZYjriQH}R4lS`CPQ zA*RjA6aD-=Bs=`5uWjSWzvOZ<3@2eG=dY^1hF;l2al$4R%_Y}OqFolN;`j_S^Ipfc zK^0NZ?1)2tSve!cONeC&-6_i&;|AApEE>BQJetw#Irs*ua$_0AKC7?@r3Gn9O{&{s zkv*b=c)3>JPOEKRVyae2jvdW5a`I4GS5%}h9x`i_B}PwL<=kYCqWXL#L&x%5hR_Ta@ieWZM3F-@%SKoP-(}H+E|^E@hlA3GvliB5WXB`ENv>S{QHywl!?+a-4ww`G-Ps7os=WoCv` z!-`JSQBX)b`cL&;Z;z^V;zXZ{(YVs{Plb>E6ZR;nAq=C|53K=(AvK_SgBlLm>?&f+cAuwr==dljP~C>PLYbD_ad5q2KfhCaN%4PFN=^% zhj{94DnV&Fy<(;M8E`BB2n-4r(Syb83a%T$f?Z>U) zo&rl4_FLsAd(!q*(fzz-A7;oOT~?vsV+e&JicG0*W)W_BKX2W~DHZ+}eoVvBG<+)9 zr#-t7D6Ni9x?hnAaz{Xf2ji0lVtQxq2$t!EKJ@QfAXN2pI-%VnKid|VKW)6+X&0yM zKku~Izw&&48vYe+OoLS6{k9WmTA@4qsU}D?Ld97~y!ZqV35OyoJ~@pv(OxHVvdniM zc^P9_G2_;`o}55O*Q=`_?-2eOvT41Mo061|IuR!qMNZ+-(eU&9K;3c_MuNH(DQsI5 zP4v-4q;B~ws|nR`Jo6Eiqx_WLQ(6i?R+-iJnLa*$&cqU9Ma@W0gGIB3miDH?A(qd& zF`vRY@&2zS$rxycSqgvRRXGD1|3$zJo0_m~UQpTJR*Tc8c)4W*51DBBB|r)>n5;aI zn!gllmhqNSx#Ut_+=Liz)(f53Jl!-VJaQbhL-dj6!A0@QlWyvgc`=aZ?p$BmoDJk zl_q%EUq6W^nRlwMS-k++@jQ%*>ZkhZ8)wk5N}M>&!z`XA$uu`71Rh&B9LZ5jr z-B$Ck_~8dpR?3h%%riOhX#2Hq53YVdtGT!sB(8V_8@81z2cxO^bl`pqfAv1Fseudc z;OM?n3>x8uHL(EmKL0d|dFQ=`Eun~ixui@@7C<8?WN{^cha(B`eD+&&tPOmFq08{cSjfpS}1V35s5Be~JqlkwO!ZIdsoVqa%xjB18-WBDj01@xssc zC{qU+NI4+WlK?KbmGbHzUue%J^GIF_SaiS{W$*#UZIXMixr%5xSbs+ap8wIa_{D2S z(91968e+93Zu2MLq{H#^LQ8w`aSB@zyv0ORG7Nf^bMnyz5 z8L!Crsd1cq9u0{yNs|2PpNzZwn;d(szVN70e2T7DGAgI9s0u>{`lRr;Sn#<|4RG8e z7!2o{gd-Y04UTXhqw5Q|!Ol$SkDgy(z0+i-(>Gc#UQltLTy)vA(r>z~e|!-ZmY33& ziLpyt7<=mQX*BeD7{w!zhIHp}q?1uydSCAi4x@$rHj{LRe2)Xt4`wJ`F1+# zxab|(fVV!lhDFaTrPX#V_8q)VzX^v5m+8u!i;e5%!8}xrcMn!zD9EUj3BA~R;1U)V zg&h&RMJB|kgmjW|(Z`G65V2x0trB62j47W@c`o^+q~I}}T`Ls+ zRFgp~qfpJdR9>xO?t!#bUK>ZYBX#j#{G82L_LD4{x-j$*8CxDLcD2N}0uOUd!XXn* z3JQIN;n4G_?BUg0f59gcD@*{<`Gp~b?fJqD-Sm&yADBQ#J58@?=j&lunWWjvvEz}4 zP)Y}SNyWt_$VzbHx$plFS8Q1{9iKqWb;c)JQOXG-Ci3KB1jb9B=sub^_w)_Z?3}W> zg+!j5inO#OI5qi6)fYp@nfXiCpj3?LSlUXXIN|W)bjxk&f9RzV91Z12P=0!j^|Upj zJBCp==-3mdoZD3uH+-~I9Ks8~ejN=SCtQrEClRCYlchrNhAI+(eSxO zcwD{vdl*cj4+Gu34EsbPBtgZ{z%f2K5%KiFaS{LeeWTWByD$DkZT zT^%$B>7-aru``~o4+Z&1=6;odzR=au#(L>?O=jdsp=o^@ZwW|a2q|_%z;_lbz*63E zuiR#7!)Iq)ES30D$BAdC8~q)fbYmEx$vs6?GAmblDiTssktq9O7LdM4{s5z+4E6MK zPu+oWe@3T~HcX5N5zmM(u_-BtBRw0%q~}Ho(b|prBqSVo*=}-r$Iwc$zqJt+XDZ+< z&!si0gI1t4qn@)EkA3qSSkU897q;6n^B9al!@Nw6K}G{Sy5|k-K2^(Qft;VOg0#r> zFf!m8M&-D7%L;n`Y1bxkyTg-?Je~e+n*T0KLSLEQro?qgHcNt-xUR*Xt znGX&3;DhJBhZmi5@yydtdYa(p1owy9QPn(xIeh~(fTRm5-FTCW zf0K|#M=g~&d6V;IBQtOqok16^OxsY^Hh?9w3sn5z-u7NbRT-stLot{F_i(t0hl z5Wac@hyVKfIRDePWgS=l$l~~o_D%dOfBnI0*!G2ck(ng+Za!Rl@rT&=jXwuN*&+3@ z?_%jzGcNtlze8VLhsGF~EA=aXjUC^-2mY(C;LWGL%l(nKBXIA=cecC#1o!>bA7I|x zOvPNg-~BmW-ua)=#dprtkK?ZA{t;{Dl971ttK6-d$cS_x=oGxG(*YEvN`7BFQFy{eNJ~fA}Ki&d$&* z$l1mXxMV&(nawc{6wb+p`_ceSoN4qm-h~4{`+IzloQoyP7hyJ|j-;g~BfWeL${Cen zdS&CibXOWF4Fiuv0K{IIA4D+nTu-E+^j_+BA?7}CI5l3@$iJ}onB4TJiCVH;nga5nJ?t)=jr2c%g24tY;SfpT@?5$6G*1`sWW^e+ zK8W29+=Xkkj3Z!RB%9C#+ZtA<=5`cg=;wcg-~7AE)I*~B1p4d|>au#gB>a&!yFAgFr zgYl;rjKSv{!1+V_apG+O$i_epi?D9x63m%Hm1MH0Kv@M>fb(y^g>%j0a59h_afjJ= zJCuStjD~%JH{`Vt{ z7}?(1Nr(6x*2XB5!+nf*#XSTOE&Bn1ovsXANypGj|B7+HRq;-F=pG+~J4iKaN-_iB z_2BjAe~S9v$MKbiHzI=sew(q1^jc6hHE|LT_z=5&ISj<>&|Z4+<>#R7yWhi=Rg00n zmHztlkQ1;}e>i`ERh`{%5}$ejN8Xa!24HbB;Pe0UQ@DA5;TKuP;U%V#@*QPmyaRAJcinz{s67-_Q9MnAEr*m;a&I;O1}04 ziqa=gzwZsyK7R%=+~bY?!wC$1=Uz?_hG-?;O!>r>r8yY7cn~$ed>$ipV%q*Ay#MmUNPFCc>dW}f3z2q+R=g*?`aYnz)U#$AUM>kFC9K@DdhKHZ{JR@El$DxB~(9Ezn z@#JbYe~CxSply_wFj#*HzdZ3i^45F~UwHaq28eUQ&$zSa>IXQhNd#Oma+ck#R*Do6 z8&=Ima&Qp8IX8d|D{qQwZAP1C4n5|`b;(6V-jx5eLqj8qR&C-&*NeJeyrY6qyE2Nf z@U923sXzvS^v8cU5{A&F0XcJ)@}J7a2jtLPeXV0kgz_55Dl47cog4BYrrXm0Nqf{CI)x_Cm;8H+L~&b@sA$+nG%A8*3(Bgg2w z9ghU|i4F;9Z0;i$CMgCx7zg(ngS-tOpIREfEe~5B-ilNcHDV`^qk*DOZh8=x-am{J ze|fohczrS9y;(2Aebc+hztMd&AdURK4zZj6BhNt6&{+34uD4UGg$p?L_wS*&d>c%R zRwLp@NaIN1n&>N^u?3I5G*5+ZvSiJ{{LL$oAoIPq2Hu8)xXe04u$t&#&~N(OF#3QX zU6l`ZQZZ{>jPk$#uh{zV629>vJ#ZEOfAsGEq{EV(gqnrYul+mR{k8j8XNXrD_|f|O zE=<^qVIHi)Aeo7*YbrQ4mo2GP4m4#aT6}2_j(bPP^!Fa$3&;6fKyEFd6Awf25_G6OLNRm|x`xFO}gx)9U9>P98>UL*d-zxO?pd z{Pai<3JcCWC&IozRC4&;x%ZdCd{6|jVgm3+`V-XEP-uxU3q#$?oCM104KjP|_{|5H5a)e(0 z4$f@-K7zIVO2nBE`B55>3C%r3`m)XZN8JPiv~{=ipy&J%)N#Y!d*uQ-{xynAj7yAO zjtvP=2aHV$2?s_S;MlYcf8~raFOvu~J9lyAlCV7Jx(09Iw=rw!Vm0BUgvFK2KtzPo zE#um*m?OVvNxC6Ph=XGipN7f)! zm<&fML}DeEY&`iA{`?@h5{X;_wn>l#7h_WS85?zoC(p7ujUagjs3ati;7NGDC_+O@ zR?#v_r*E1#a1ovVe@!#7Ugi`0TN1Lc`N=PktM8_t^EnKJ)wdp+)VLVIU8E1W<0OWn zRsv7d<$jGhoA1NdNn(3mc?(s;25ROcHm;EbPfd=*{NgYMZv=;xWwutaQN5Il|Ge{b1aMF8Q-!hd9E#a+Vy z&k%T(SjkZ+ zc2T}bM&_Sle*mP{DQa0ov{dqRG*U^xGak9XY5M|dw-}X0630gZ(4`j7lW44yDU^$4 zzw-#{_8v!1btOgRRN=eGpIs(mTG(+11CFTfA?Y^<0^%?{@RV4*(3&P(87Zy z8#hi2R~F{*mK&KIK@yC3s7WM7_aLKg$J=-|LB#RhM@dpj$Kh?u-=Ycaz7PhPNGrv| zU;HW-Z`gsJp%JPBsgI{xdgRIxym$Nzw{_Gy$sU6Qu4H#>8dmXyw{Z3nbdqrl4s+8< zW?>v`f5Vx#U&e(os;fD09;$8?a}EP3hf_oj6$9jYBpao>r#PCF&Y*5JZmv8eFqSjP z1}=h4{oBkvoy@7f*E(#Z%Gt*lLe{(`So-xJq2;ZAPhww1&fU*do+}(Tr;>yyG$IV5 z^T=!1ch{HD%;&O+7T%u!*q>m|wj#zsuE3T5fBQ#jb>ib0lGZMJH90nFm60cGXPldD zGLOj=J%XBuJ^3#Bo7O`ERlZb#sJi@ZyqJkD%PR4;EHXZZa1~#5M;tHRkr#$ols@of zeCgr_G@tqa7ysLL(AdC<%2!ry)|2wNaUbCwG2htFv#Aeo{}(oi<&8E;RQYK5|>Ul(_7NR*LQLc$ zVkD`h8v&nQZp!bQWDlbqV~kH#f4vzae_Yvuj&w$ypMyk^tC%h~pW~q;Eec|7Bo-I4 zQb;!banx5;qf2gVGC7e`I1dY#Xo`cuMh_11ju2yfJkM@y4C>80Jh^mfY03jZVF3c>1f_pP{@Dm>$d-eGFclrqzb!VTN7fB4Uy z#DPD1k@2hMfEsHNS`=rO51NK?nH)mRFa8!hGUZmA_oh7aM_B%Q&!8ZWS2QGfQ1f07 zPB62?A(@f{k#~|5SUPOCDWKOWv>~eq*^?zbkDn9?v(gc&e3v5nFoQc zc>5BZrFjg~lZvvt*YSYatcA%fe_e*{A6#Li@E(f&SJ8apD4PHA6$J8EAg%v2`g^)D zKs|6=l8nI&un7o!ZnkD{u#->Y3OS;ccK~)?JAqesIk0)<0u*pkc)9VZy?7GuAHKrd zr6@sChV>eG*usl#oV)05;fThG7hhm;TOsGt|Ktkhloj@7;UfJ9j_Z`=5{hrdm!V zgOv2;z%znUks0$D00SIt#^ zT92Ck4Sdb{2=b1PI3H;$9h}XCMD_|@RrQ$~1qejsMV`q+Rw@U{-2X_UR(y8xV%u6t z#-o=nU!~?x|4K*!Si+}ZFWW7LP0vQ2lAeQu##%D#b^x^YUq(+59X0 z^Sx?HLa#Px)d!bU{Y8@kf3MY@)M8cqd_9h*00%xhOQD%FbTY9~hkx&?h+$^jLzI>` zpFE}uX9CEei0?o(O`VUn4sDukT#3H4;hH_CNY%Se5djHVeTCG!IUOJl3 z>#AqB4G|Y36VF;Rd<~!bH4Q^U-~}Xk60kU*=06*Cke>j1hkZFCk2S*{nkf-^xQ0o%JC1touQzAM}P?>A>2;U87)fgl|4V`zV z%cJRY%UuCHn&|+i)dsUPt|*D9NLAXp^^%f97zS&bfXC!?ZE4n|mETeRFc;G}Z^Bnq zg2Lkx;C8vha_qokbvt_bAt~Jo)Kw#(!*WJ~ijFD;e?DluiM0v`TUB%L1MN5mSa@ff zrmY(VOb-jhw1Tl6tzUz|lLGSD>6^Z%k8Q#^ljdmB%Wvq5mwu_9?59zD+*U#hjk8XV zb$l=5jed^BI!eL)dv%1EDEik#z&j zfSuSFLvs5brSM=ct&S7-@ z$*AP6)SXuSDIy@5nhZhP$H($vc)p~fIa)oh)bSQI&Th(*6$)H!*Fo?a%^uKvvP!kb zVasT3I&J`|k# ze*{SRXh)LPZ76Z&07?xsPwWZtWDxrXKhzl^RDlJ|iDfv5A-w0QkqC41%XN5H109y4 zmWCRH)QJ4(AyH290399S(c2)DghB8(T419T;Pdm>HZ#kmi#swOIe*vxs z|1v~278b50MAowYjgN~7;-E4+=hR*N_u>wx6mhhC_T0OHvy@M{hsp>xo1z!pcY1>n z^4zV=gG@VaneX{Dw`D-)=vPh+gh>9o`Eu06xpr(|p^sT^lUP+E#1e~H`Ei29oQ z6)m1KS#6b{VNfF&44}!ADnK~ILhlr@Vvms$fyFd;m9+F8K$rc_5$slD8d=-17*~A# z+gjIMseOlQ!F#s0<~SDJuH`mj-rg1D1W;JBw{)^e13`w7p>K@_Y!sBdvEJ5f7(4Cq0OQf{-uJA z@8Hdyq1MVbRksIP!td%z>rXUp9O_gSuuZ5amTVtr@kyK_PJ%N?1l1CABRlVTdB&ph zh82&eBwTKc{k&07%BjRB6VPfky##OdO{U(N4*B!3T_8uqo~ZP~sapKIS`C@CNylE_ zBJarYZaf*Vc)OZ1e>CDZKh(?@7HKr~EKOYV3#E;jtYd%Jq|1l%2qcTb=rZ3PjU=#B z;~nMx>_?jY;x|jfvK?uJM$*q3La#x=An*uU2nU|$3Z4wfBP}WWdZ_hLaVKJcWzoR z%}#up%=5vPUm`I?{5&(h0D7ZDW8&ld_8Ua5#ib#I_;cCWgm}Y&@o|$)z)mMvCc-{| z#wplv;$vu3#I-Kn(c22PwG;j6CM*@KAFN$A&Uu50v}^ukF2#KsX~x1EA?jcpH6s@u z0U5+z%!NKTe+GAKJvmkAR;OQq@w|l_4Sf?rooiodCV+pNZBBNvP|LQ_I4Wp9pz7r0 zbHbTe-*9@H<7T{X`n8{pD;f!dAXR?_#%}s7wIZioE`Su2bm64XfW|wLf zYiA)-l@Gx}?Kmo4y$+X4L|odGm6u0&2t>FtM0=mxv@4uMn6&Bkzq z{b-SrOt^-gZYFL7e>X0u#Ae7w^mbzDNS7;^U4-UH=(pUtv{`b%{L6S z4sczcNoFCmLv3w%lM~m3uMZOvIc4!k$QV4xg>N|bh6u|5yCi-#qOI}_~Qys;C;o_+7e z18Q3tI+Ig{k`Ks_-+EMjyxf!ij?**nbMAF^tjPV>{c85>7fRSY`sJZ5ri{~fZYTD8 z>=WO3*mI3OUhwd-yPtxA#%Q4XvHAmLKa4)BF6z)|bLW0K`ds%Z^T=^>s{Mcb2O`Vu a80mlJCaze*{$-T_0000 diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 2c42a9ba753d..561403055747 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -17,7 +17,7 @@

    Main Sponsors

    Each of these companies will fund a developer for 6 weeks. They will not receive any money collected through the campaign.

    -
      +
      • From d40d65bc32cd87f958e49625fb6ae1b9f0d084c4 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 6 Aug 2015 22:15:59 +0200 Subject: [PATCH 076/436] Update contributors --- .../junit-lambda/contributors/autotrader.jpg | Bin 0 -> 16999 bytes .../images/junit-lambda/contributors/bouvet.png | Bin 0 -> 2522 bytes .../junit-lambda/contributors/placeholder.png | Bin 0 -> 16238 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 16 ++++++++++++++++ 4 files changed, 16 insertions(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/autotrader.jpg create mode 100644 src/site/resources/images/junit-lambda/contributors/bouvet.png create mode 100644 src/site/resources/images/junit-lambda/contributors/placeholder.png diff --git a/src/site/resources/images/junit-lambda/contributors/autotrader.jpg b/src/site/resources/images/junit-lambda/contributors/autotrader.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a20a8d69c11f3b1f0b632ccbe380394d158d1b62 GIT binary patch literal 16999 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/bouvet.png b/src/site/resources/images/junit-lambda/contributors/bouvet.png new file mode 100644 index 0000000000000000000000000000000000000000..9f239ca57c93307d27c0a0ba1422f0c76d190bf5 GIT binary patch literal 2522 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index ba7d9d43000d..aa1f5491a7a6 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -9,9 +9,14 @@
        • +
        • +
        • +
        • +
        • +
        • Hans Sowa
        • @@ -39,8 +44,19 @@
        • MinGyoo Jung
        • Hadrien Zalek
        • Khaled Sinno
        • +
        • Chadi El Masri
        • Davide Fucci
        • Frederik Hahne
        • +
        • Benjamin Murray
        • +
        • Erik Severinsen
        • +
        • Anna-Pitschna Kunz
        • +
        • Daniel Baldes
        • +
        • Stefan Ferstl
        • +
        • Jonathan Gray
        • +
        • Seb Heglmeier
        • +
        • Bruno Girin
        • +
        • Steve Ash
        • +
        • Yves Geissbuehler
        From 8d9e2051c21ab4f5c50a1b77d9711a72a55f7896 Mon Sep 17 00:00:00 2001 From: gk2go Date: Fri, 7 Aug 2015 20:23:19 +0300 Subject: [PATCH 077/436] Updated answer to question in faq.html Updated answer as discussed on JUnit's Yahoo! Group: If you are using JDK 1.3 or higher, you can use reflection to subvert the access control mechanism with the aid of the PrivilegedAccessor. For details on how to use it, read this article. If you are using JDK 1.6 or higher and you annotate your tests with @Test, you can use Dp4j to inject reflection in your test methods. For details on how to use it, see this test script. --- src/site/fml/faq.fml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml index dcf28ee7cba8..e6be520607b7 100644 --- a/src/site/fml/faq.fml +++ b/src/site/fml/faq.fml @@ -720,7 +720,11 @@ public void testIndexOutOfBoundsExceptionNotRaised() For details on how to use it, read this - article. + article.
        + If you are using JDK 1.6 or higher and you annotate your tests with @Test, + you can use Dp4j to inject reflection in your + test methods. For details on how to use it, see this test script.

        Why does JUnit only report the first failure in a single test?

        @@ -1746,4 +1750,4 @@ end

        - \ No newline at end of file + From 3c3aa7c72cae8d5abab8f4a1facea2ea2aa6bb8c Mon Sep 17 00:00:00 2001 From: gk2go Date: Sat, 8 Aug 2015 10:50:36 +0300 Subject: [PATCH 078/436] Replaced
        with

        in faq.html @dsaff @kcooney, I have replaced the
        tag with the

        tags. It should be fine now. Thank you @kcooney for spotting the issue :) --- src/site/fml/faq.fml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml index e6be520607b7..4c7ac39d3bf4 100644 --- a/src/site/fml/faq.fml +++ b/src/site/fml/faq.fml @@ -720,11 +720,13 @@ public void testIndexOutOfBoundsExceptionNotRaised() For details on how to use it, read this - article.
        - If you are using JDK 1.6 or higher and you annotate your tests with @Test, - you can use Dp4j to inject reflection in your - test methods. For details on how to use it, see this test script. + article. +

        +

        + If you are using JDK 1.6 or higher and you annotate your tests with @Test, + you can use Dp4j to inject reflection in your + test methods. For details on how to use it, see + this test script.

        Why does JUnit only report the first failure in a single test?

        From 97304493c95f97c111dbb957f81868e7015c79da Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 12 Aug 2015 07:36:52 +0200 Subject: [PATCH 079/436] Ergon and Netcetera --- .../images/junit-lambda/contributors/ergon.png | Bin 0 -> 15046 bytes .../junit-lambda/contributors/netcetera.png | Bin 0 -> 7158 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/ergon.png create mode 100644 src/site/resources/images/junit-lambda/contributors/netcetera.png diff --git a/src/site/resources/images/junit-lambda/contributors/ergon.png b/src/site/resources/images/junit-lambda/contributors/ergon.png new file mode 100644 index 0000000000000000000000000000000000000000..a4cd4c867cf865070a77acbd47cb6201534daef6 GIT binary patch literal 15046 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 UZ><{>dgl~IK}J=&TGAxsf98!W{Qv*} literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/netcetera.png b/src/site/resources/images/junit-lambda/contributors/netcetera.png new file mode 100644 index 0000000000000000000000000000000000000000..8520f90efe1b66263602f280a48f4a371f6c99c3 GIT binary patch literal 7158 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 a6fOk$+dm%mU;q0vPFL%J<|hr?u>S%WsK0~& literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index aa1f5491a7a6..8007c135250c 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -10,12 +10,12 @@

      • -
      • +
      • -
      • +
        From be6026923f1c20d1e3e9c27caa049c5f3950d3f7 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 12 Aug 2015 07:39:27 +0200 Subject: [PATCH 080/436] Ergon logo with claim --- .../junit-lambda/contributors/ergon.png | Bin 15046 -> 18200 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/site/resources/images/junit-lambda/contributors/ergon.png b/src/site/resources/images/junit-lambda/contributors/ergon.png index a4cd4c867cf865070a77acbd47cb6201534daef6..70c2014ba38791bc9a1d52522e75e824741dc447 100644 GIT binary patch literal 18200 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 UZ><{>dgl~IK}J=&TGAxsf98!W{Qv*} From 9ea4f8cc6a1cfcf56689be4bd6ece908b87f9c6a Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 14 Aug 2015 09:13:45 +0200 Subject: [PATCH 081/436] Add contributor DiffPlug --- .../junit-lambda/contributors/diffplug.png | Bin 0 -> 5277 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/diffplug.png diff --git a/src/site/resources/images/junit-lambda/contributors/diffplug.png b/src/site/resources/images/junit-lambda/contributors/diffplug.png new file mode 100644 index 0000000000000000000000000000000000000000..e663310f72f4f632417a01a211df4d51f62199b5 GIT binary patch literal 5277 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 8007c135250c..1aabb1ec73e3 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -16,7 +16,7 @@
      • -
      • +
      From e331eb94e43dae8201d8f44bec834a3f89db29db Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 16 Aug 2015 20:31:40 +0200 Subject: [PATCH 086/436] Link for Oliver Paulus --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index f552ddbe154e..154f218d9dc0 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -85,7 +85,7 @@
    • David Tanzer
    • Siv Midtun Hollup
    • Alexander Schwartz
    • -
    • Oliver Paulus
    • +
    • Oliver Paulus
    • Micael Gallego
    • Johannes Seitz
    • Tristan Mills
    • From 73f5e4d0f33b59f2b37abb90a8ff083c13bb6fb0 Mon Sep 17 00:00:00 2001 From: Matthias Merdes Date: Fri, 28 Aug 2015 11:49:06 +0200 Subject: [PATCH 087/436] included amex logo as new main sponsor included logo image file, created suitable css class, adapted wording a bit --- src/site/resources/css/junit-lambda.css | 3 +++ .../sponsors/amex_studio-icon_128x128.png | Bin 0 -> 33054 bytes src/site/xhtml/junit-lambda.xhtml | 7 ++++++- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/sponsors/amex_studio-icon_128x128.png diff --git a/src/site/resources/css/junit-lambda.css b/src/site/resources/css/junit-lambda.css index c20eca8c73fe..25098b59e199 100644 --- a/src/site/resources/css/junit-lambda.css +++ b/src/site/resources/css/junit-lambda.css @@ -42,6 +42,9 @@ ul.inline { height: 141px; line-height: 141px; } +.sponsors-medium.amex img { + max-height: 90%; +} .sponsors-large li a { width: 435px; height: 237px; diff --git a/src/site/resources/images/junit-lambda/sponsors/amex_studio-icon_128x128.png b/src/site/resources/images/junit-lambda/sponsors/amex_studio-icon_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..8f9d2f3c5a0c3223030127f397670505b0e72a0c GIT binary patch literal 33054 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 561403055747..5bdc2a43a7b7 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -22,8 +22,13 @@
    +

    Main Campaign Sponsor

    +

    This company will fund JUnit Lambda through the Main Sponsor campaign perk.

    +
      +
    • +

    Campaign Contributors

    -

    Thank you to all people, companies, and organizations that have contributed already! Please check out our contributors page.

    +

    Thank you to all other people, companies, and organizations that have contributed already! Please check out our contributors page.


    Why JUnit needs your support

    With 43 million downloads from Maven Central in 2014 JUnit still is the default testing library for Java. Millions of projects rely on it being both stable and allowing to test the latest features of the latest JDK. Moreover, many other testing libraries hook into JUnit as a way to enable IDE and build tool integration. Keeping JUnit in shape is a major task for those maintaining and evolving the library.

    From d96d9db1208f45748623799b1756291488c55e8a Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 31 Aug 2015 14:55:08 +0200 Subject: [PATCH 088/436] Added 3 logos and a link to campaign contributors page --- .gitignore | 3 ++- .../images/junit-lambda/contributors/disy.jpg | Bin 0 -> 5774 bytes .../images/junit-lambda/contributors/oio.png | Bin 0 -> 18616 bytes .../junit-lambda/contributors/sipgate.png | Bin 0 -> 8751 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 9 ++++++--- 5 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/disy.jpg create mode 100644 src/site/resources/images/junit-lambda/contributors/oio.png create mode 100644 src/site/resources/images/junit-lambda/contributors/sipgate.png diff --git a/.gitignore b/.gitignore index b3df647a6236..34c2214362fe 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ MaxCore.max *.iws out java.hprof.txt -.gitattributes \ No newline at end of file +.gitattributes +.DS_Store diff --git a/src/site/resources/images/junit-lambda/contributors/disy.jpg b/src/site/resources/images/junit-lambda/contributors/disy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99210e522eabd54b0d0642c00243f396fb9c4951 GIT binary patch literal 5774 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 FV1izQ4>|w< literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/sipgate.png b/src/site/resources/images/junit-lambda/contributors/sipgate.png new file mode 100644 index 0000000000000000000000000000000000000000..31cc742527fb74b2a522034d4dd8d7bec4f26bb6 GIT binary patch literal 8751 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
  • +
  • +
  • +
    • Hans Sowa
    • @@ -25,8 +28,8 @@
    • Daniel Zappold
    • Kai-Marian Pukall
    • Julien Jakubowski
    • -
    • Dmitry Karlinsky
    • -
    • Mark Munson
    • +
    • Dmitry Karlinsky
    • +
    • Mark Munson
    • Andrew Janke
    • Eric Lefevre-Ardant
    • Brett Tucker
    • @@ -103,7 +106,7 @@
    • Thomas Michael
    • Robert Klaus
    • Martin Dürrmeier
    • -
    • Petri Kainulainen
    • +
    • Petri Kainulainen
    • Jean-Christophe Sirot
    From cab111add67ec6ba33f93f8611a73b565fb2786c Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 31 Aug 2015 15:19:52 +0200 Subject: [PATCH 089/436] Added logo and contributor by name --- .../images/junit-lambda/contributors/squeed.png | Bin 0 -> 5728 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/squeed.png diff --git a/src/site/resources/images/junit-lambda/contributors/squeed.png b/src/site/resources/images/junit-lambda/contributors/squeed.png new file mode 100644 index 0000000000000000000000000000000000000000..275f663c8795a0684029ac4ed44f3563d1041a35 GIT binary patch literal 5728 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 C6+o~6 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 2c15014c17d5..7c693b080d08 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -20,6 +20,7 @@
  • +
    • Hans Sowa
    • @@ -108,6 +109,7 @@
    • Martin Dürrmeier
    • Petri Kainulainen
    • Jean-Christophe Sirot
    • +
    • Max Schwaab
    From fd2c4fbbf74f01eecef1680fa1365052d0302d19 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 31 Aug 2015 15:54:57 +0200 Subject: [PATCH 090/436] Added some names to list of contributors --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 7c693b080d08..b7832b290c22 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -110,6 +110,8 @@
  • Petri Kainulainen
  • Jean-Christophe Sirot
  • Max Schwaab
  • +
  • Brian Clozel
  • +
  • Per-Ingemar Andersson
  • From 94f6b6775780c6f58738ae768bae038683565b2c Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 10:15:27 +0200 Subject: [PATCH 091/436] Added lots of names and links --- .../xhtml/junit-lambda-contributors.xhtml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index b7832b290c22..5e845b418060 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -112,6 +112,37 @@
  • Max Schwaab
  • Brian Clozel
  • Per-Ingemar Andersson
  • +
  • Henry Voyer
  • +
  • Greg Roodt
  • +
  • Java User Group Frankfurt
  • +
  • Adrian McMichael
  • +
  • Björn Darri Sigurðsson
  • +
  • Chris Williams
  • +
  • Agile Pain Relief Consulting
  • +
  • Andrew Beussink
  • +
  • Per Arnold Blaasmo
  • +
  • Ian Mayo
  • +
  • Doyle Young
  • +
  • Wolfgang Werner
  • +
  • Daniel Kunz
  • +
  • Benjamin Herbert
  • +
  • Axel Schüssler
  • +
  • Matthias Lünemann
  • +
  • Stephen Starkey
  • +
  • Michael Dörsam
  • +
  • Matt Bertolini
  • +
  • Svante Kumlien
  • +
  • Matt Garner
  • +
  • Patrick Podbregar
  • +
  • Alessandro Proscia
  • +
  • David Burkhart
  • +
  • Matthias Grund
  • +
  • Tomas Michalec
  • +
  • Tadaya Tsuyukubo
  • +
  • Frank Appel
  • +
  • Paul Holser
  • +
  • Patrick Baumgartner
  • +
  • Emmanuel Chavane
  • From 6e5d8fd17c63f322b1606ed456877c228d0565c4 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 10:39:57 +0200 Subject: [PATCH 092/436] Added name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 5e845b418060..e6807d6707e5 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -143,6 +143,7 @@
  • Paul Holser
  • Patrick Baumgartner
  • Emmanuel Chavane
  • +
  • Kini
  • From f8f1c548788347e610bb87cfe474de08a3edf585 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 12:59:29 +0200 Subject: [PATCH 093/436] Added one more name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index e6807d6707e5..f3fef1dc8cfb 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -144,6 +144,7 @@
  • Patrick Baumgartner
  • Emmanuel Chavane
  • Kini
  • +
  • Robert-Jan Regout
  • From 44a09e71c211d961c9a1b31c22f0f890d0e8d418 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 13:03:02 +0200 Subject: [PATCH 094/436] Added one more name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index f3fef1dc8cfb..c446266de4ca 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -145,6 +145,7 @@
  • Emmanuel Chavane
  • Kini
  • Robert-Jan Regout
  • +
  • Bastian Spannenerg
  • From 38beb569a0bb1531609cd7ffcf119e39a322857d Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 14:13:20 +0200 Subject: [PATCH 095/436] Added one more name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index c446266de4ca..fd9714debf53 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -146,6 +146,7 @@
  • Kini
  • Robert-Jan Regout
  • Bastian Spannenerg
  • +
  • Jérémie Bresson
  • From e9e9da84e9b50e233eac79c3879e2e0862778eeb Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Sep 2015 14:23:00 +0200 Subject: [PATCH 096/436] Added one link --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index fd9714debf53..b305e72e94b1 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -132,7 +132,7 @@
  • Michael Dörsam
  • Matt Bertolini
  • Svante Kumlien
  • -
  • Matt Garner
  • +
  • Matt Garner
  • Patrick Podbregar
  • Alessandro Proscia
  • David Burkhart
  • From bc9618af9e995faaf74381abe417f080df47399c Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Wed, 2 Sep 2015 07:49:25 +0200 Subject: [PATCH 097/436] Added name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index b305e72e94b1..b8553fbb2f5f 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -147,6 +147,7 @@
  • Robert-Jan Regout
  • Bastian Spannenerg
  • Jérémie Bresson
  • +
  • Harald Brabenetz
  • From ce7ce514aa79a7a3be067552359722626937fe8f Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Wed, 2 Sep 2015 18:13:45 +0200 Subject: [PATCH 098/436] Added AdNovum large logo --- .../junit-lambda/contributors/adnovum.png | Bin 0 -> 12135 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/adnovum.png diff --git a/src/site/resources/images/junit-lambda/contributors/adnovum.png b/src/site/resources/images/junit-lambda/contributors/adnovum.png new file mode 100644 index 0000000000000000000000000000000000000000..0743bed58bc298b8426e10ff21caa296e9ef6ca5 GIT binary patch literal 12135 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index b8553fbb2f5f..ce896c8f0c78 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -11,6 +11,7 @@
  • +
    • From 6f10321bfd1f183d42c19292a25520bed4545e38 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 3 Sep 2015 12:15:15 +0200 Subject: [PATCH 099/436] Added two names to list --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index ce896c8f0c78..775320e9c5d7 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -149,6 +149,8 @@
    • Bastian Spannenerg
    • Jérémie Bresson
    • Harald Brabenetz
    • +
    • Nacho Cougil
    • +
    • Martin Schröder
    From 388ae4ceb0c3f34b2ab339afafb22e6a6a032194 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 3 Sep 2015 17:16:09 +0200 Subject: [PATCH 100/436] Added a name to list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 775320e9c5d7..bbea36b0897e 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -151,6 +151,7 @@
  • Harald Brabenetz
  • Nacho Cougil
  • Martin Schröder
  • +
  • Thorsten Brunzendorf
  • From 75225f76d430e45adcf36cef8d6fdbeb7629de57 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Sat, 5 Sep 2015 17:47:59 +0200 Subject: [PATCH 101/436] Added 3 names and a link --- src/site/xhtml/junit-lambda-contributors.xhtml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index bbea36b0897e..826a6fc6dd5c 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -152,6 +152,9 @@
  • Nacho Cougil
  • Martin Schröder
  • Thorsten Brunzendorf
  • +
  • Paolo Escobar
  • +
  • Brad Milne
  • +
  • Bill Chen
  • From bff043beba464d58b8497c98e62df54beb39b0f4 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sun, 6 Sep 2015 16:43:59 +0200 Subject: [PATCH 102/436] Add more contributors listed by name --- src/site/xhtml/junit-lambda-contributors.xhtml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 826a6fc6dd5c..ad642badc52b 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -12,6 +12,7 @@
  • +
    • @@ -155,6 +156,15 @@
    • Paolo Escobar
    • Brad Milne
    • Bill Chen
    • +
    • Craig Doremus
    • +
    • Jean-Michel Bea
    • +
    • Thorsten Göckeler
    • +
    • Ben Romberg
    • +
    • Sixto Cantolla Sánchez
    • +
    • Altiria
    • +
    • Andres Rodriguez
    • +
    • Romain Rocès
    • +
    • Ivan Caspeta
    From d3a0ce2003c2ff70558a99c795359e4be882b7fe Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 7 Sep 2015 22:05:01 +0200 Subject: [PATCH 103/436] Large logo for sipgate --- src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index ad642badc52b..c645ff1aa079 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -11,8 +11,8 @@
  • +
  • -
    • @@ -20,9 +20,9 @@
    • -
    • +
    • Hans Sowa
    • From b978f680cfa3eb9b526cc8bd25c68a3eb6db3c45 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 7 Sep 2015 22:05:26 +0200 Subject: [PATCH 104/436] Fix indentation --- src/site/xhtml/junit-lambda-contributors.xhtml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index c645ff1aa079..6735f5ea2591 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -11,17 +11,17 @@
    • -
    • -
    • +
    • +
    • -
    • -
    • -
    • +
    • +
    • +
      From 588d82a7146a2076cc71d19d272c4070084bc03e Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 8 Sep 2015 20:25:52 +0200 Subject: [PATCH 105/436] Add IntelliJ and bol.com --- .../images/junit-lambda/contributors/bol.jpg | Bin 0 -> 16263 bytes .../junit-lambda/contributors/intellijidea.png | Bin 0 -> 6512 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 +++- 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/bol.jpg create mode 100644 src/site/resources/images/junit-lambda/contributors/intellijidea.png diff --git a/src/site/resources/images/junit-lambda/contributors/bol.jpg b/src/site/resources/images/junit-lambda/contributors/bol.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba0a4f73202e8420a46b6b2b6a9fe447b77f3bac GIT binary patch literal 16263 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/intellijidea.png b/src/site/resources/images/junit-lambda/contributors/intellijidea.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9edbf29a2d5c0d040135e0afe2fcf35af49dce GIT binary patch literal 6512 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 fa*QC3V}J~IQHfp+mNhmijQT$C5z literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 6735f5ea2591..9b5aa5bad9e6 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -13,6 +13,8 @@
    • +
    • +
    • @@ -22,7 +24,7 @@
    • -
    • +
    • Hans Sowa
    • From baf48c1acf9d5412bebc3da46e7907393b6ac328 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 8 Sep 2015 20:27:32 +0200 Subject: [PATCH 106/436] Enlarge American Express logo --- src/site/resources/css/junit-lambda.css | 3 --- .../{amex_studio-icon_128x128.png => amex.png} | Bin src/site/xhtml/junit-lambda.xhtml | 4 ++-- 3 files changed, 2 insertions(+), 5 deletions(-) rename src/site/resources/images/junit-lambda/sponsors/{amex_studio-icon_128x128.png => amex.png} (100%) diff --git a/src/site/resources/css/junit-lambda.css b/src/site/resources/css/junit-lambda.css index 25098b59e199..c20eca8c73fe 100644 --- a/src/site/resources/css/junit-lambda.css +++ b/src/site/resources/css/junit-lambda.css @@ -42,9 +42,6 @@ ul.inline { height: 141px; line-height: 141px; } -.sponsors-medium.amex img { - max-height: 90%; -} .sponsors-large li a { width: 435px; height: 237px; diff --git a/src/site/resources/images/junit-lambda/sponsors/amex_studio-icon_128x128.png b/src/site/resources/images/junit-lambda/sponsors/amex.png similarity index 100% rename from src/site/resources/images/junit-lambda/sponsors/amex_studio-icon_128x128.png rename to src/site/resources/images/junit-lambda/sponsors/amex.png diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 5bdc2a43a7b7..5d19bf14bfea 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -24,8 +24,8 @@

    Main Campaign Sponsor

    This company will fund JUnit Lambda through the Main Sponsor campaign perk.

    -
      -
    • +
        +

      Campaign Contributors

      Thank you to all other people, companies, and organizations that have contributed already! Please check out our contributors page.

      From 60fac448f24f479b1536bb515c527ae8a24d161c Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 8 Sep 2015 22:14:16 +0200 Subject: [PATCH 107/436] Enlarge main sponsors --- src/site/xhtml/junit-lambda.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 5d19bf14bfea..892acbe3db54 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -17,7 +17,7 @@

      Main Sponsors

      Each of these companies will fund a developer for 6 weeks. They will not receive any money collected through the campaign.

      -
        +
        • From 2a5558e7ee31d7ec31959fa313373ab0c71d9215 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 10 Sep 2015 08:57:44 +0200 Subject: [PATCH 108/436] Add Murex --- .../images/junit-lambda/contributors/murex.jpg | Bin 0 -> 6952 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/murex.jpg diff --git a/src/site/resources/images/junit-lambda/contributors/murex.jpg b/src/site/resources/images/junit-lambda/contributors/murex.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a86019ff4b1c7014e2be5a3678fee5ab40f4b392 GIT binary patch literal 6952 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 PApx2IMDPAbLmK)&k_NqK literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 9b5aa5bad9e6..0b4a8badb9de 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -25,6 +25,10 @@
        • +
        • +
        • +
        • +
        • Hans Sowa
        • From 277ccefbc64b7f39272204b68106e7e394975d78 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 10 Sep 2015 09:32:48 +0200 Subject: [PATCH 109/436] Slightly size down andrena logo --- .../images/junit-lambda/sponsors/andrena.png | Bin 15178 -> 28991 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/site/resources/images/junit-lambda/sponsors/andrena.png b/src/site/resources/images/junit-lambda/sponsors/andrena.png index 708cb809c9a61002ceefee3848724ecf67657eac..bd3663c5cc47079bef13c894c042345f7ac10fbc 100644 GIT binary patch literal 28991 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 XuQo$l%jx=WtD%&bylAzsLD2sI^ZsG{ literal 15178 zcmeIZRZykD(k+Oyad(%-T^o0IcXwzSXx!a5?k*dL#@(&)#%bK$-EBDc{4oifXOlN-gm-TyV(%G-Ig$`y~Y>sdRpPG?fbkqfq7oJdIP8W~)e&;svs%JroG~ zB2$m!O9aJI(ss-A=SCYxCk5ZIQ}hCoQ6Ly_$4jfm`ARhk;7=@wWL4orSmBLnOj?B! zYE641mWVc4Ab`Sn6um)pK!hIi21BeHH55CjXCK+8n0{$xxc*>AlHNbD|8XUd3C*}~ z=^OuBeHm&Q{C%lmU@9%gw*tSD{c8D(uy#N*n89=SEJVXcy-hZi%5rAU@_YFR>z5mNRkP=Fpg$les z?tkF>F<=NoH%$JM0{?3?P#FD-TN2o|)c?S5Bm) zAC8^ldCpT`bAQ>45Bai3Dg2c1UwD4!e_Y?#pK7!E@2X3Se%V7OeH-~NTzTWmU53k> z!?ph*KuOjc#0rP%XZ~L}jl-9_sqW9t7yrX25!JXa9SR`C_Fulq-2d5%jyImi|84aB zXW50YAp%cE1!&l6NubNPB_O(FA_OTd9BvZwe$+*tT~XOKaV7ZAQR#LYdy{ET$Yp{` zABw==AE->oJ~hA1{wM+5bVqZ|j7`Jvk9S_F03(3_Xd9OM;`|zvXBBtMFs=`oJ5t)r z(WoDwS_eMpWZ%k^Z|BY5sBGeD2{w`BnEo2*{Zbq~JoOiLBYC{`?pKAwB7)A=NjPJ}}>-3h~b=ddC+m!jW!f_yc=oa&RqxuX?`|4kHC(iIe&x zK&($33Gd*Q9IFVkE^6}1t1Ea48Apybm70I@Y|XI$OmmCD<}k4AjBD|{zAMQ|U zQNRsykW*pN41Jqt_rTOC6GFe2M(yTAlNTNMyDO{9>s*x;VK9V8vJz9Z#oT+?)*9xH z$90-kkC#*GEhBkS?)0FiBlRd70#~rThtS*vCrX@VpqF7owWo$zS5r{397h_~Vx>Fu zcRl>=pLMM#OYIVly?F;=0eHp%w$mb6T0F@eZ*?i{>`I8+cJ#z9b=ZUQk#bBgs@mMO4Cof{#K4QKti*2L!UELGtMF3qfP|V^U1-0_J-I=Vv*_N z<#mJ92y$jY_+|9M;_1g;@PRsSKYh3=A4#c zT-61SlyPZp4k6&{Bz>@l6q5Xlx@=9-jowSBz#U0>0x7aW+2Leg2<0g|8e*7NHZVIm zFJIIr4&O>ZixgQk$v*3&1G_al?PWGzsnIOIWOeZIo(9{IPGg&6&|lG;h*z4K#9%P> z=qFdpS>O-^J130(-%c~ux!clg*TlIxnq#p>nNqdgiJnpfRmV@b+wMq_!9TqRd}Ucw zk}p3ST!`!)+KO0Cn=pJiw&NWVP}o8!nd;(JWP^5%G~KwJimeczQn{23^Xj zY{D09$KpXQFfrsb3G)e2!Oj0$EIjXous_62GH@s+cU+>Fv*tl;0k>N?%%=!Nc3EW7U}@$wCsV(R9FfmIJqq=pPgAiwowD{kY7i|V zmTTahPYWTzGNLJ1qCdDyAt>iXNx-*FUsq>ItvDo#*|?$TwNmc$7~$RKhnFk{F7#aP zryF(vHZy1Y|EBR_<&?lSp+`@~LtR2{Vl*D%M*o-!cdTNUoMbG3yWgz?-Vlfj%`--3 z4<+5GxJ2b6rVR8+oOhaC{hbOFR+n`xXQL{`n+R$3MX*Ov>O0c;E6LkFZ)g}FR!}$G z9)=TII2Mc>mv9Ep`w_MFSd~M{_tpufG1U=Y)vI?zX>=h|fEy~KA$^LBZ`4z&#`Wu> z^q&snwY3x6pKQ=y5d$gSJ@Y*WfVG?W~~_XEMAD*J1^IQNg>s`j4v zX>_=0-8WFY7^kx#j}a~3Bj{cjKp0G?Xn@=jPWq?MbF z$l8zNEmdgH3XN?g&~t-Gv9CM&w!awPbz$ODh~puyfR#S6sUF#U@VW@ft2^8FJEIrw z_kAe>ZlmW}g;Ef*PB+#O3#KB^c=P429IU4IGNaFMQZQs^1&TB@5Cvvkh^^@JbY!oG z=LY2xwRUv-2SReWm|o`igzdDZ-cZP;EE2qdl!orLYSkHUJnRO%6Ws!E@WrFTnMocm zkdhIiw8Up2+i#N43xo3>r-1tj20xf&pCLmZqxtAfpBfFcS@TKa__?s;yu9gAhD^&i zS+eZ!Za_HzvADzcebV);g-;jfVU2*%t3~m z)M1efUV5YqxjPG93a9ho99qV}=D09kt>ef>(JPxAvC&LUt+sgQDz(8RaLW7it34x< zKqLr5U283qAhQ|54X6*NGieRp6V*>kvR4XSsCvHYfJ8bj{kh}}q}WS2V$u5E?R>gC z?vI@cXPIxnvWezCo}|bxVuc>s9uJN`xO#TYG?yPgTxJSEtJm$s|~T`c|o;2>ruZRg+6ThAI!z)a;jVLsAh|dT_YDcI}ZoXz8LT#8>P3n?o(5QE^GT zmi{$)P>&>k7pEC#jNJfT($gLDaf<)6^deL(aW!TV$D<-b9d&Z{B=n|oGW*_-MmRyS z#!eASuowhF>G9)*wOUY#+MgC@u~kwHPA}}G8YT5b5za1SbrKbYce@BjV<}^;&zWtP zdF%@D8((2iDLt=&L}EQvyYIl>kcP#cKHmFOv09f^VVcS9Ed~w0FN9CB4mSYDlag-U zPcjMn1^~L-i7dC#jeO6x++K-58~kM)41={4za-i}bPS>5Y}PADh=`5cyT4u{JN?fi z{g+D*q>Ir|1OhH?wxcX`dAUC;;nb#ZMx(1{@-jcSq7AcbddVEE9xX}X!M{Ay&86mQ z9l-LuaNO)sIfYGczPHN1&0}7l76;~mvg^m8s;;LhpJZw_X!f6p8{h}ZrhPUPq7TE5 zoP-u$3~yd8S*JfBo@AO3+R%X8F(_)r!t75MDM)g(CMixhXenfVTY+klh-Ufd$vdS_ ze}!2j+Xl)Ktbg7$uadyo9q!N;1w6a^lr_IIui!n??3*dy-U$S!8wOqLgJYO1=P+zf zgl4V)G)>iL1$GE~Lu(@78FA1$A`45RDc_m7Ho0eC6H2WW0GhUh`U>yT#=&h4YIb-_ z<~2Z^!~UvVtX5PW!1q0JZ)OXM#pc6V*zIDQy5oHOCfwZ`Xvxw-rt;kKmJst*R#~F8 z%-6IV=e*C#akktB ztD1H2zz4GvEFT!!O5}Js>TY>~_l1ZbB?b}sbKA}+5-;*)zmaC%<4_XU>lx0$;b$Qy|~c2a@W7c@{Iu}vGScj_#HB<*5Qd2u?qO+Jcl z-bC3=%RPP`%zdei_z^e9L=SG}q*ce5ybq=p@UcY=a-S{tgzkTo6kr-y?6j;_xUiSZu0EDyd3ikP8BxHdkaELaI!? zyY!peYTm@2FS>~sURWtG#-jC3Dvq4jbOL#qh%un**R{za9LBO z4_X~>;rvM7`q*4Tk&&*XuEsoflyn{u@v%QF8m@tMe)yJM;qP`@7~3JRQ{M@bLgJ*x zZ5GL5=HG8{yxzpXOX@D17YP}Ddk5JbR$f{*+To+K!`WJj>;ek4SDL#Z^*Bu9E*$ox zaOD~Dr~0`&cu~~w6l%(QAS@b21W?XdzhyXJ>|}T`uSpL;X7$>=m0j4&zi+}3fVta} zkd%zMikF3jK^q&3I4{TXT1YPjv1W=C=h*r};`Oxq5i|^Sv@#!`yQqLRB8r1h4E)Fnggeq z^<+6m*n$ya(D;3X+gSWXhfqiJXQb}A?{wBDli+j@9!?Y;^@*~njQ`?z@-_sv^?YN_ zlW0~5xv@h#$RYxTc6F&oSO0Vu_l;e>GxU$;|NEFlTPMs?0)q zOdr{XuN(-f?TH0JMdIbTq9d+}=VPi2Qf+EeQd zboyFMCf_mBQN1fgF$U*#y=o>kqPI`Gu#yeF7(CI8Fv?JF5!>t=GwOgSD78qHH%*C~ zME2#z-(0hwS)cG>|L3z`tdEL!%WGx21LJD zPUR04eE$W2iwEyLe0?MVQgqXT>t$t=2)p96oma>pY6a4Hr4(eHFL+!N-0v6rAP9*U zQ;Ki)KzLbU+F;wZbj0gKV;?Pgx!R~o93k4~EA7kpBOw{Wb`Q)E^ zF9MNfI4si6LtZUB)2)UfD_k}OmTMo$%tag1QV+T3P0XGj0_MUt=BI5}Tn;g~1fsSl zj+KTb>Ob<1-9+-fabx~?uFkT~apJXzaECIh^!KI?X1aiKYf5+F;#&0{UFK>G6xf^3 zr9)dcuj#|Y?@TGU$A{`9UeI%;F>4%z!-I8&x0Y)d!wTB?B}*kIxHK1q6Z1)Q^iL6c#oJl4M0(lFw8u=FCmyJ*xCNcr$q~^2WUziC0Gl zA`vyMk*TPqvk#h9Z81C!O$cxS`_Fy(h}W^k6YOCUY1va|LAto#omE6BQgT{QQM<*O z@K#K+uz(P5zg%;Y#hkktMbf0)ue)ff*7pa+>P&UN6YoUo&>}hF8g-`{Ac{MFY=Afj02&`+ZNF&ZMUFN+WV;=otZmkSgoglNM6QizJ+hru%j zdz*&85Swq$1IoG5cSE2o-i;!1m+~+}s#%!c5Kgd$aW=h(z$43P3r5Y^>x}0^rafGu zk>`sdF_eActY@Wx)p}FBWy>NKA3$g`SYpG^IJ&2MqS%*4SjEL9$TQ@yI+(LI;Ki`! zkObW{4D{+=L;zw!N7h&(USC)BYI?iNf@TE2x11VUW~|hj zHZUpWso9~_B^GG;vWI5RS;aG)`U?=r^X2JJGDSH?VpUYJkvL@IA~VEDy-pG@ap$`n z3Jmaq{fh^#iYK9VRx=-7k!xc8e?OG5e{((jDu1YTS)d*^ZZn7%f_l{?fG){1xGk&> z-Lzy-A(j*r&~eyZ+C)&Xwsbnwuqi+OMX{PuPp-!W?I2E2#s-t}BkD}g{o;-gaSKve zp0B)Gi2pjs0;3jb zb0yQdn`d0h=MW8n?C%?FIivs82`cq0nnypo*8$24!-mn*i2%SHLOi}zmq z-t?#t^I7&p2s99b!Q=b*r^jQrOSMQX&gAi#0*)G!2ng|}6KI`v9a11qWl}%*MOEgu!AvGp zJ*dH+Oi*F zKbREn`un}E9$B03@pRJecP%J%k|Iw4##7L}Hv< zm~22maaYX7Dk%W+{@*Ik9gMq5fpvKUTDV7W!C9L$CQx>?gsm2Hu9N|@VYuGMRGh_h zUZX0t9hNW+W$k&q+(GMOmQGl9)-3D^0Ze2vNqw%=p5jj-Runv_b^XBupY4tg@P}dn z!3`*^3*|#~u&Rwl&e$F5g@(O80|aA{pOV~GDb zyVO;rIqe0DGr=mOzXO>b7OZJ{HyB}AR4FK3eC$Eb>CoNabQ+EJEQtjy)3+;Xh8`qantsmAkjKd7 znPNM99S&w+ZEd}t1q)xbZ&?tIqNuD9V!>z62L`iH88U%s-$C?Z1Z9?f^j;hIV;Y4x zj9HNz{2le8#v`>dxQxi`iB>XkNsNbTYU}V6clxL{7{H)OCp2!(s3L;0HdkJt*e!9B zx{K`aaI<`NT#Mc@m?|4jLapx`UPiG-8VJ7`tgYAG&0q&8QLsKBv)?BwC3k& zR3Juy5sl(3mHnz(xzj(_6_@mYM>K20o>02vn~c-}Cv!3y|Ii;3`|E7U)`{UV?A(83G|T6nrC!wyKv zy?aaO`Mx^NMsJn9mhAN88-uR1s4klJjUuT~GaNJs@J|`sW1CEfw4R43W%Us=xf=fSA4MD>CiKBE<64V2)gr z3hC5E7H*k~qc$8=jeB+0rM6HlQJ1Qyg)lKhR-M_zV{kdyEn~PLYpJkkIl0qqON?S? ziaVwFRz-nDPWN6X8!PgIXz@X(2|;3sf%O_(T7TH&(@4<5YnNA7#$km?CkJ`zFHN-` z9O4cADOvDv(m*;zIpvH-wL~e!%g+{J-TjA1ctI+ru){ADl4MHx7>5^&BDId6qK`*w z{dI;_wBxS+Vvy}RS?^%)vRPrY5dBAR>?N&ZLPRrOIAfZhTc+TrlA`?J+pbYF@<0?{ zESM=AQTHp~WNm>xARIMPP%67l2;CG+6H^gX7EL)F_Yah zw`K3bu3ivIG_+K|O1JuRK=^?ddQ#L+nU5`hR;p~6z@^oM+$)2UurNssG*`3jK-mLZ-jdQOEhD>Z&&T;^=fY zG&byGMBC_Fb1B5y>QpEd6lo3Zx>AA9%#$X~)t!gd#ZLxEbJLyfl+v4WON zq&NQlf@GUOKr`D;=0!IZp&TDJ^OMpC^6ICE054m9r$%;FjX9zVV zDD~UKRAXSzVM0Z%uZwQU=u))`czKJdUIY#QU5CBjAI|ue%B6mmtP`F4ajvQUQ91|n z_bC)mc=Lgm@=A4Pq>8X*&~a4w+?i)w2`{W^ViX2Ij_3fr&-7+yUwgQk*ejr=K&e?zve*ILKy{>r5B88m@!uOF+JPMM_ksUMU}xP`gWRHuNMZQ(pa`l zc)U|^WwR>}?Pa)fHG0r~%Xs!oMn5ll=UL%>6slbcjE47$4uz+w`y6)K50mmK^ z{DNj$d<+au+jc1;_l6fs4A3USt-(PbcXdys8$s1Sz@5@KY7t`ertAQu)~uua6h>Ff z@rS!goR2d8X}BtJL{m-8u1>iJNq`l}$F{sWd3=I-t5YnSR;LjC$-jbIUV^6$<&cb{ zNSz4hKJG@1<$YA}NR&g7`2-_eX-KLA7C9CMmf)}{Z?Mg`9>?Fo4CR9|%J0{{$U~*o zjY~a&j^_<>Vcov{qb%pu1}uJF^pOJ0p_|jOIGLYgej6xc@BZn+!?>St>U<<_pQ=jy zwZ>=SltS(&K0}#p4Yf=zS#40D(vduzVyh;tZ0+~R^>n%F;6&64_W=AeXDdff9Cs?Vc+?( z!r4!QIA@)=GtMx8rt2fyA?O>N%t@Kn-}==u4 znl{(149$3UpbI&V5Q_;vbVAf?lzF z2vhQ@gn%91c_Q=iQ^R7%ahl{y&^k2ZkvDA~2q3S?HJ>A^A}0vFU*d!AknM?J4oG&2 zn%4O^dd#E4)iA`j>QgKvjHYFEc&wi%OB1gIg&NOsmmlvBN7d5EChZSppcEW>K%690 zx0Ug4K~jvU3ImoF8rqP ztBq!Xjd5)lX;y+g)D!sYo8^?1QZ|sL_MJa*{uiqLsv8pZB!T7c{(~j4QJhvJx>jOa zhCN<+NHH*3PIDtkB=%?}yk59V)jPZFXO0po_`|a7ik4UB;f4m%f0(RT`k(a~1g!a33#6l(G~?d%?Lb zZM_|qjnbXE$~=er8JX8*T*WBMdb|Wng@Rj#dJ9#@DpG9k9Pcf zzylk?&PMD%ih3;-T%t-Jj$Cxt2#)aya%Wc>t=bj^wU6wf#qe4bAlsB`@OMVw?O_C2>`0Pdw)b}XxCA~)cSCdDD=U12yQ)=Kir7~TyI6;Kc5j_|1 zM|(b|8rHHJEQ!Pf75bU%bKOuYw`l0h3abGFNCc$gOC5N}#W#bZg#$^m!UGZedlt|r z-+OrH(Itbw{m_F427k_jyN!A2D-`nhK<;@l{qF zP}%Sfs+a`}iRwHGRdop5bmOlSb7%nxsO%#+2ZYq8Ob1BtCDbgFQ%*1q1Jpyk)QT^y z>&e7I+LJS;%SMOgyZwRfWMTjqYAEyY+-EyIz zOG!aH(yHA@2}wQa5O+~0e`@?5`$mgXE5+M3JnBAhIfB3nWoT$0?}2>&=Jg0!c_J&^ZjDct{C825kv{y$2=|GxzZgdiuaSMVMJ;-#pLU7OE%Byz~dFR3LG zBJvVA`9>Ya+1G1H=u-H1eY~75TF4nu`|vryO3NX)6y00U?g?M57y)MVq|pW&;(n}1 z1Z6teC!#&4o;NIVIsEkdILLDNxgfJ@z7~l={qnG4R|6^1@Y%Fz_*x{hGG{5zN91`~ zDu?m3(PG>eH05$^j<%U8==)+qGmfDg8&1A)K{MA^<_)>kf-$A1^6ymn^WVa+Gx^&h-rcMxLliBKf;0C4 z_f`0{X0R3|$Ind0v%?nqjb_5l-UFA$r93nmYA7~rpjxTo`r?hw{ZqOkxG)x8fH}oP z(rju2Hk1C7I?Q%c@I5 z;Zuy#mGd==@6g?0!UGMCN=HoL$$GyXwqNOLfDY96T_8Ih3^JhyZOHcX5sf+B^Z;r; zO7od54-QcjqYmY;2wq^KSnsAmER|C38pRUDcbx5#e5a!sgQwO}5QzYZ3 z5;Dr?{-|H^OO>Tt?YxuF4fix{T(4;Vr`TJ$MGOv>+qqxeR@tL}w7?Y-h4K)fC`%Sg z!0WCRvK8pq4?{8^Y#rej(YTZP=@)i7o1>9{fOymb5?Elv(mIY?s~rAePvY@|KN>YDfwDm zSsop*J4rp9qeFjFT%aB6zRcanbnB7RWu!XlQLbAmJuc~ejUP6+4yEOgUi?n zDLJ89&X7;tR@xV-Qu)<@9Av}?pgSPk_jm_{9 zJiym}+5Jj>>qf&I|kuL(z_AQEB zAMdu6P90W;ZW>&FeDmrd5;fN#yM-z601FxS-6AViEOc^^Fvx5&c@HB0F;j5&y?E^fH&v&8`JPdx-ZZNrf|;;+nt zK53`trp50Fe<;x#J+4i$qekWLsltI-4wPaA~C!el>>0X<|q z$oPF=CAQSmuQ(?0h-PVRYa+0m z^y4JLr=DEgRUrRNutVUH$CKi+=FAdwP23XgtQ<8N?QCrpr|ISm(9EesLeE(WX%WPC zP{x<0q0V>kQCZ9p#D1LFV1jRB+-3s`*_&DB(BjnIeqA?^YevoLcyC~&!j3_sOj1+i zM+*lTpDk1_Y6BuaM#X1@fB)*ZCW`*>hY~1tEdW=Z=V9ad9mG#hFIbLT)$%5=kmV~+ z9x$`Bkq*Pp8(K2UmU6d>>Hi=tlHb&HKY*#UPgV~96zl3U{2%ptJa!;dUxe~7Pgt@` z3&(zyggvl&1Zb=8V&b{( z{*+&@arYYbiv;B7`o&J3_MrQk&_KvxFZEx8h3ujvZC?LJ`d%bOD#BvwkYskrh8}5c z^Bh=h<^w2VJ=PijK*A4qQIn+|%&&DMtzPx*cNfBs5AoP~@^e)ji2LF(ga4V17V^wIX-jb|5XNA$-2 z5L9=OrkZjEnu)P33HnU-1zr(U{sbFD+KQEOD$enhJdiJ31qZ-0P$9Uyrb zImEP%PbxL(F`SVUL9@T42VF}mh|Z2*Wyji6*^6>;iqpQ{K~PCqB=r4!ytj}=I7W5? z5E%OW-RaDo*y$Bh@hle@TuOTFGM2c4n}0+zVCfOs*bM0ExScWSgf@Ec$*sSDVD!^S z1q_y`4s2f;Q$w+|&o;lAa<3j+yVxiUM&=Q|oQLn$`vH$j2AtDjl48Y#Ggt@A#x^8? z*7MkT$us`?>fNrw!oN9xu6Md3#(OVqy9VL#Qg)G%mKHWVVV}Ht!ZAMwqR}`*nFgVe zMB%gYwrNsN{dl9JqazHnR@n!mwqN)morOSOh7L10B`J0dAvtv`{5>qDO*~zdA0pMF z*jiX>Q_eOLW%x0JBEM?c_}?z3%Z*=v;(6uzpF#Ic9KF(yfSKJ-O%07dmhtV;!S2b2{~^Qj=9gyj!#Fh{%mdOqlnl=0k@}(W~XALEXq&7#p-0 zZg9v*(7dzi;bA+>9@{k2805*lkd8~CKg#}Y;Tb3cpV!2jP5kGbsKBAOiZh@vbpGW5JC-k|<)oi`xG-{mO{~5Ou^mQY5~OCQDZ)v;o43-xcdh zpw9X!P~i}r^i7kKo%;aITxLl7iqsD*DJ?kv%>CfVJn?QaY5`GUJCxafJ&=>-e>z3! znff^}v|9F!_#DEi`FG?a7A9xEP!`3^bm-m=jaYdH2??3UfSq*fqWEFLT=!f&zEYcI zzLb`ob`in#HM1&mKWCv=#9l5Zq0wMKnNmnHY_#NC9nS}o0G&6wtAb$#2VG*S6Oy3U zZo(5AD5uG?b1sNp*&+6Wguhyah`S(1^<^AC*m25bQp%B;ek7>6-H)NKeFj7m-#}V3 ze4Gf|2~Xt;DE+$Pz6hNZ8*5~QavP=32XmL=YZ`gg-X&!h34*RkH)C zGIj}hbp47VK;bshuP~Z$oT7*~oH>h<{l5}LCtG%L_n0X@SWSu|N>lqlBjB{oJ16`d zbs9sS?V5>m^KRf|Y8-Gw4E^Ply$Lf(Bex+GG3HJznVFV0r$C zK^8yUrZf($EOzv^j?yN5sXL5sz9seS+{M1%q4jbfeWwUqPO^WQ&w!v%?gUT*BvX*e z+?ib_V)Gm7&{|in4e*tK*r%+zZ?-pffK7WA40p47f3m!VvL#wyKxs?Po5G7u^S!;4 z7gyKbk&$WcQnQmqCc`~~>Xk{cK=y%vw;d@Mc)DWWF(gtwVG0_J7nCa0E-ZMcPB*rnb`AaFUsMG0 zcz_M=m18zrNUfh_xLe(zL8JAIGj7-S>gz&%$zGr3+g=&GUduEX@N9JFehC}{4vxR4 zm=4*kPKYOqajJ%>_Mz(bck)oPktygROM^f6r8w>>Z>J&W5opK&ug?3G6PIX^>CNjMH4aU&5gW$#rN zCTL73WxV#|eRNwAoV(Fu&L@0OC<$(Fq>i%ULCmQc1o+hFCF|I zdI-5qv`IN>kocFP*^3{lxM5^(ve{*}8awR&`MT*KKUt%Cck}FX2rBfplG{Xh75?K%8Uws-Ksr?-MOuObsuj^Tm$ez-5 zYa*3X&R}gE2b2uKUF2_YHhy@i-^h$D)o5Fml~fvE7}P%*X4D?c5F{ z_#jZ4`s;hQ2QM_Lq%mZ}|Hoc6(f1VRd{E(FcOi13Pp)<&qf17daj+C4kY+oN{ zfzNO1;mk1NSb+tJJ#f5XaKBN*hNyTaZ~Je(<6W(RnJnWhA@|)9_i~glgjxh{AL)0d z;jee1jCnxLZZPJudFaEPvYYL`|8k0p)!HP+5}5aLsRBheF1&PAbX?|lE<%=)cFvcx z83h{&=_~%UW9Rfof>{%C^&0(O(E;@}K9L$jx+A8#<9K-#w z!V)dVyp65R2>lU9>5L++@o7%r-b4 z8hq^S%jk2zGkRK8qaSs|#v zRvhD~^U1ykR?ZfDOV>l+@(q8@4hCm z%(
          eR`d!Z$Q7x53%LC%@}Me(@J4P#6NPO%v9fPJN5 z7dIuTOA$x=n%_DVEw;=A?f@sN?(t7^Z7jso#c*NeMMm}-Al2zh&@`s1#Lt)Tv?Om>ghNv@x8p8q)PsupT4_K}?Oi4+>vYtR|l9`0?i4`IsgCw From d5428f3f195f3c89a3b548c7ed041346b4311084 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Thu, 10 Sep 2015 20:50:30 +0200 Subject: [PATCH 110/436] Add Zenika and Six --- .../images/junit-lambda/contributors/six.gif | Bin 0 -> 3715 bytes .../images/junit-lambda/contributors/zenika.png | Bin 0 -> 17439 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/six.gif create mode 100644 src/site/resources/images/junit-lambda/contributors/zenika.png diff --git a/src/site/resources/images/junit-lambda/contributors/six.gif b/src/site/resources/images/junit-lambda/contributors/six.gif new file mode 100644 index 0000000000000000000000000000000000000000..19f111831ba1de8094c174c3968563b538d74de7 GIT binary patch literal 3715 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/zenika.png b/src/site/resources/images/junit-lambda/contributors/zenika.png new file mode 100644 index 0000000000000000000000000000000000000000..a83250c36573ae09975400ed7558249a7022239e GIT binary patch literal 17439 zcmdtK1yq!4_cuIrmmo+9f`oL((A^;&!hkTqP(ycvfGCKBba&SP(xoEZDcudy&5I{} z&U4N`-v4^P?|Z*lYvSJ5{_TD3y!L%B7Oz#6Ww6jm&;bAdmYl4l+WmLl{o523`Tld+ zlJfNa3(iqZMjTMuPquk~L1`kZrUU?Z&;kH{K>)zzJ;`qa0B~jl0Je+(0AM@-KxCI( z|6K5X0nJWU*AW1~!2j`v10*It0s!zNAR0POI!cN_6Q~V~u_^Q=n8nS;?w%U}5Of3H z|Fi)+8B@C1Slc=R-Gr!q;Q-$M{y}D?qWp!$$x4VyM@f}Z0_p&!U9n4wT`T6--**I7^IGFD_m>u11os8X> zZ5^q974o|rNwA}d1H{e=0=1?5A=mgN)Y(ahit2}=KVHA?(+OhsrzTs+-^{u)*k^ZjgU~{aE=&n5oGhR@pf_SpQ;^sR=9C8f*i$b#lDNvHz{Qd*3Q4{Q>=# zZMqrT{i4ps=5LXXPEs!SrvK*3zePG~xZ8nQ)xeHWX9p9ol*|22sQ=DpM<+G#KN$V{ zCjM2_J^SAZy0_*(-qGJ_x3hpcK^-li{{a1C`B&fnl2gBiTJT38fj`W%cK(qOnzj%p zVGhAx;`>+fp9%6SO6O0QFfRw&{fm|T$LDY8pO^m%RdImaJJR@vMq&2f_Ko0I!D*iYoY zB7V`O`=>7Mf7SKV%1=mB6QCK?!N%B07-C~=4raBpH5X+4llT+oFNqGk_merq*4SDS zYU2E(FythK?-y81A*MiSUS4T-c3v*F`*85^v9t4Yar5%=i1BiBaC5RrNQ()w{-cP0 zQzHv;bb>m#|CB5D8S_gcQU}}rEA{sUYsfDR#m?Bl5&WZUgs6V6n?E|x9}VUQ=9lsV zIzr8yT#X&TV&?b82#fvboRq4+=QE{*Iya?~u?fWXM}7;k{vG7ct^XnYH_@&ZU|V4h zHg+y%HhyMyUJZ73AQu~ulZ}y$1Nb8}ze@Xs>z{={Y#p79ZB4+x`5E$G^7F5fe}ewA zd}EVe%D}_{Z0rO!{e4rvQU3}PWc|^yts(!H1i-|?*w!3uD$M%3S-%thYS*9X@NY4@ z4;3GfoBw|tGrs?DCxB!wx&>5$7jF${a=ghpS}NkeEv5A#?8#e z$;`%~!OjKb<^*!y2aNrHRAg*?JnS6o99+y?941`MoE%&x%rCiKaxt5+nXvJifH`=0 zI81&w@4r)M|8E8D_d18#x_}-2^Gg4-BJTUC@%@wtc5oCnbAZ}V8r#`fLri`-JXu|A zO@Eup{y5_)ouHIIog}|z^-nVX8vOqgE#)^`O~DS3|GYx})>4z--9-6+i_QO9V*hrI z{r{sVxy<-q^7C<-F>`Z(O_@#DxY(KbdD&kwgL#d)czKP@_}Mv(|DP?&U(@$rXOiFN zoPVET1b-cX={M2;gR$%<=)a5owUnfPG=Lu?z<)ku-OoVx_ZUFv z|72YJM-hMS@7L=6q3Ne4{9_>fF)004d-z}Ae<$7ae`nnNb^kv>|CIcDj!6FL*q?@~ zAHf7l{4$bB-j8Mf(Gd9;&Yv{=SW&vay*D*>GX7o4Kb?~Q#`{+}P*aGR`+rHwpPYY@ z@rylB2Ms9H`rqg5f9X$u*z_CsPlEn9XMn%l2q{5L!NQz^tba%T4fSh<{`A=47eD_> zy?>}7jD8=A-ye_&qvJU*kTl;DEel)JOqeW5r3 zPFG~yz#xGuPV;{LtDVYIy_TlaX{&ul+g5Zg#Y+1{xzm^8eZG}fhF9)wt@JDni8+Fw zZEkQebz1R-FkZGTyu}ysHF<4uVEq7xHm62d2;>{?UzQeBqSA)o;;=#B$#x-m)^vu2 zxLXrBCH%Q9-9Ms4MX`z`I@P?|Fq77(t)V+ER#`9)ro=$W7Ro@g(BK@ zg`sB(?%~d2l<3#3#%wNibTcm{Jx2t5O269&sBtI~HNvsyEuj-`D~mnzWhthFEA;eO zda4V@+=KW{XJp`lgE1PeM0n_4lq2h z#^dZTWXd;gGHRXb)1tBpAbO-8peZAZ4ydh!fCyCkF`$?n+glET{2cJTO}c}w}>a;Kj4ZI9XN5G~-L_u=Dw zl<(TQ8d@5q^`+HvNt&xIj!OqEoZmsgE*lL{v1htI%nMFYA)IlR z)%%Abz-Kc=Zf0Px5~DuQ)X7+A-9&;{3fd8+)JzmFf@>}%0vX3ryH*{NU+HG&Pm&ZC z*?d+gn+hYPOAuU<64(i(W#%j^WC?$fkylNr#CQie<4`Cmt*CdsvrSRq@03=oZ?DHB zx9)Ni#4Vw(on>jpwKIeo2H4_dGI|+o14^owt-@FZ?L2H@y_KZ-9$I)bIyRf6W$Y5(opW%3vWUo?{EEl@YMX~3&mp`I8Oj?toYi#$ z&=uXWC>kGyPE(TJPRKOE$xz^-#(gk);$}!6@PO{-uy+2r;q@NoibpyJefPtB0wfZ2 z>}2K@CW6sVOf!&}67M}tPi_wWLCCr4HiwrsBg?)~#_&tV?V(v94w+F3>y7`e*UodE zJ60T&4=JZ}@Pxz`xI%l(~W+x5JS$9(!uXRPB)|M{KwcX`4Lxe6(E ztfeZmbTOfA?nNM}+m`}cR22!1n-;T8j-<176q}*dyH)GA8w&`%`XR_43VYjmd1Z_Z zi3IuD#68l9LCN#8v%?wXr!18g_Meu}gyJ~-K+;QOj z_z8~dw?-43+6(hkgi?|=P1l`a@c0diNQJ+7nwikqqao9!7;6idN}BiFT8e!N_h=*d zbKvP269KxLRlF%$jJsa~U7=B=-oZkzydJ#~)l!K`O)=VQ{VX*7bd^tG-JSJtE`7)I z(}kP0Q+au*<^pNH^}B4RqNFZge0BD3Iww8Veas5J#A7v|3vTmUW+PDpW;#iuOLCx1 zCXUdS&hhID!#AgoY(5Kwb4K$o=*R1dCmQCz7023L=%sU?R|*2Dwdosd_rEs?<}kp~ zKLMpx*4}!gG4m~Z@~lK*Boofw5%EIyOx{E$(7Tnz5T_V>*NVxH^zC4L7GRe(-DcN-H()Gi8!$cF6lh2_`kcnem%j zUC)~{*QxwGP&s+Cb2;O)*iYn=mDOo1f>xc48e*v9%^Y7py>pn)#-Q8OAZ|N8h5G1x%$^KR^$8Q0kx1n(*0thh z)Yj`;8n77?*q^HWewH}#BrFcVtMR2-iD>i|L}oFO%+H4!L$rwQF)Mv%mU}X3;(8{j z5cXOpi^kHDd2Z68OLFF=<{0K|^@n_O1QerD!b=SX2==EH`OnJ`N~=w^BBhwNFJ{|< zrjgElWCG+KktKXPMxNg9pyiGHZ;cvwC5bUsb5r=3 zh8GvG`hI_Cb?%iwLrTgdY+gY#cSmsGvqX?@6oWx?r}t_zQWIU$V1vu3_=MEA#+d|$ z!Rax609OLfHJzJN*NJpjw$L_(2v^Nya!P7@G$7nD^(sKMwcfrwoMn0n{-$1s zZ@2><4`xh{AfXIL%ja)_m;~!zs+vcDS(Ple(di6CM^qY~i&h^KGnj2?i3(_WUl(|1 zCS1qH>E*9mRCxflvIJ5Xu3BO@c8+#0G8fv=YPjOjA=m2!3c5}Ux3;lgr~K{bIEFcG zq9wL8QQeukXovd2j}fy<`~8)l zRfNnLZR_Uz)4(bNR*Jd2Ho4CZqHEI@McV?akkEt1Py7a!ahYasDRY)c!VCJoPA4T? z+f{$YFKcK@P3gb%KjA+`-RAd*;c>O5e=u3551ahZd|l6cu`8iM@A&uCSO;X^?_{a3*fNOw+Oh$-mb=viV#XV$UudsaHN`qy;ijFb#~L?|BV zznR^c>6E?M;;vb0(ycjuMO@=C9avoN+lsv|rX}b_mPoAh)>mC1Lx*b2?2HHD_@Onu zo84M$BP=0!7u(@Gn|@kD5TwU^M{Rn_<890MB^j{4ez!R()@2#tNkTgDW#UEJD*c?_LBBLT+>>`t0Wpp->_tAF)o_bAS=I;X{Z(h_tHf~^1;Nt{s^ zFgUCy^5&7`QT539Q5Bd=s>RN3$H#lUItz2}`o(WTvbi^q8;NN5k6`r++~zDQ@QrW@ z=cX0T*8|HoY2R{nAn$CaIuBLkO-ira{F&XhboD(pXSK|$lDp_%(0uo$oin>h-cHAY z8RcO&)^&YLvQ9bT&fQVcZ=OU>wR>9vIAF}1w>2LBKD#3#Lu$^*eDKD_ZVle=wMskT zH$RMir`BWgHQmo4aH``Cd00YM0zBt1b=A@XoIn#CTgqLw%A2aiS3DH5!oQcJ_J0C&|1`qovznD6N;6nuy^V+i>(Z5w_qv3 zl`78C+!>tsjP8b|xm^tNakCJx%thT#O1 zHr2^sL6101Z>|ALwuj@hXN(^NteB@A%Z|Mmi%JcgkuL7L5E}BZI$p3kR5R<ldut?H5D>{s^)5_7qlbVH25!ir__4w6v0nb7Ve(`pB zTg|p^-Zy|DvEj|)iz~aW0h=3j-^yWjnFAoQ@)b_pR2U8v#!4?^G!_IoE`olHTPcSK z@%STVzY^$!LVAA7t2&|?^+vFys(W_ma>Oq0HXPzs-?{jSUb zT!Iv@OLWqj(a%#iP?lr?vO8{AUFX>lQK`iC_RvkcIb96z6|mV$Yk^Ss-U%M!)E?vu z6Y9->W_Cvg#_05I59rMv#+G{7G$dWc$rR^TW{r6rCNN*^x4`!XA3uPY`I_sMG^`+< zu{OCDEhMJowZYRV#B{v^eMAdai*efRUJHz1;ywf-?Gr$bLOfAIb2>APO_&8Y0Q%?A zca_B6I8_(#gdrX$+M?fXJlCfUISni9_OZ3@PBHQo6_Lrl8!Ab7#uer|1 z+nrU9=w$jhx{HHVe!=IuZ2tsjXLsS)zI&lGL*usl5s6X;%u}0DXhqefvuv%T=h%9- z&O`LACv`NM#!%^U@Ah-+eTq99&($bKo0H@^7HA7}$9&%H$avfJMv2fw>MKI}p*y-Y z7I7aj3v;z{$j*Ru)2FagL4tXDP}NB8vba`Ugy*L3y~>0qqvhMO_zCr_9~vez!?4Gf zSF+-z23+;HC&*6X*qUM+mwH%eY_@bbZE1LU$gKdkUfQujWaT{ zcFd{y_@@%5PrN0U{&~9(U0A#iisp4q#`I1-_KZ<_lZ=Hfa3vtxw6Y1f&sY^q)M8iR z^3qCi2ks9Dw)d}sgv}ojH`bQaA8F}dKQJPoI_Ev^9RbWd`H%?u%$GcH^+lXE?NC`N z)1u8UC;oeg>(o@cSNe9=QL|NzVm9Hh{ zlO}dvG;9``Xw_ed)tqL??2H+xRJ>9Vf<9?NDcg6*RYLWaWNNxCjhj1+*#^quzkk@T zB+OlIP@Bq1%DFxGAsp6jIiw@Zn^o4Q>u#RpxtDPIY<}VGjz|ESQmj;cII@%C3q8u< zgpZxuEpn;u1Z9Zwfjo-dZJq~#t{uL5Hv44W@g-LmPTRh{wZ+-`L?aOwNay?=;{zqz zwdqn)+0+P6R9GpKgeKWp+aNq6}l_NZ^ZJ7hHqxEnr`y=a43vNmg*A#!aY5?!C1%LAWggcCF&?R%a7S%u0u6kOPijg{z#B+)#V*NB6*IRN8=x z6^k62+0x{j9-zCg`&e!2JKlf8Z8@ym=hBxAd3#L15?B#(V`B>Jk zH+G4s&=cH)00p%V9&7QdP@&vzjEC|1Dc`^8yz=iwG$Ez7Lg0sA3vOs{V36%gU^IhS z97vH8#T0FtejB?2rp)-<9CleAE+dnF`H1H3Za>B^;s&j@5Qk8t<%yciOzQvErA@X3L}~2HiA^O zwYJOIws9+9?io#OgA<$JWeK>kVcDk+6qGM$?w`AJ=L2LSKX66J3!ifbJmM*y^m*;( zHITWqB>_LKV}V+W@TYzOhO)< zLoD`oW1$2RZ!+m0ZWWaYM=d)K_u>R~uoA|_%%IZ0LqiVqK7OJv{;lDvR!SNst}ei* zZ`|7gyj+P^!R9|uif2PywtI;H60o(lUg1=###&uny@6Xg$HY>WR&+|nBE}98Spe6! z929E|bP-X5sAA=9c+-1f-=;&H)A02#8n;UukRN*;h!xa{88`F9$hBI$xiJ zRq%32M3Ii?aC3HCQY}GSJeDL0Y>uT{pB>0YOf8B;@6X?kmh!g<P=QtYmXD_)&V&MofGTP@DfOe`f@}rZDF%XJz2C1$E2z6BFpHN zPpWaPk1C~566LC1U0LHGgiZA%1YdK+J{XC05(8j#J1Ex4@(==E_YYEI^HLP1`BD%ZT9-=3>plawDnm zjs)=Cx`TQ4@$ia<+`^w)x3&Hr_zQD4pb1y4+UEgiC|1(iMiz`b}HDyX2kT1 z&GDCve4S#KWE(!I+r*gfpoR3^sKeXbq_)))>lz77PeIzrlb&3((a<@k5v6ShNZneZ z)#+hW7iYdN>(;iC_vP2zAXtRSlTNS5Q+UvO&nT~=kG%a#T$xKegfVo4Z^E;^4dA96 z`$p7R$7)OYzX9^Ltr>7AwvYz(q~#Rg3pA*)HJlyj%vZj}9(p>=hjaCmd*?|+Z^!%0 zGD!HJlRtRT(V2V9=|~8Hy*=yovJ{} z{H!AQ%NNH`cL_f$BraQ2nKxg@8I(W0Tt^5xdh;eMSfVF{YtMEMlxM675N+`V-Ro=blRP+4)$Dq81KY*L7{n)+(D+~QM|;xygOc^?+Q>w>j?>wDL z78qV@dy3D8A7|jAJ2AYpbX5SQ*t$j8q{uKR!n5W-+hXf<-5509cVo(J%v(m*Ln5zL zNd-EiU#JtW)owg}z?CII%xPQrW~Y~~PR6rs;ZcwfJjKxCg9}XyH|0%Kf~L>@nZw|r zy=uRW$1k2Mryh(rG4n5*ujWZK`nGPzE%ta#FKn$9O93D~b{vEPucMShKvyHD$`0N` z8L89*tYYU(-TFuorcv}Nu6sDyy+;C?TB+*ugLc@PCfXq9vH53i=!ZVK%<30pQ$uq0 z*i!JAubvKJH&6v3Y;SEvv0+Bj(sv%Tf6=i<4r+!IOB-s{{4~MYQ2Y??y(Ep6FVJ_%d2FU($57aYF)iEh{eXOPS@2$UgX-|}#jCfaPWfFH zd4UUy?687T-4Knb)LufLplz5Po7+P?0ZBWG*Vq#m{P=~OnqFW!x1ATyd1vf85DqMu z!d9-xp1sf(19rg^d`$X#HeVw0@HH(Rg z4NALfD<%L>2yy&V!yoz7&4|JFMkhgLk9WgbU2i@tfzWXy&+=uAh#2C>liH{!hu@@+BCw%4ZNEw$O?vJ@S_9yqxj#t9-Gs;jdYz62lybW#=NJ+4u1yp z#(QnbVeOL6G*NK~Cb%K1g!F7aTINWsA|zIldUEp)Dp16UhTlggsU|(hhf3+Wf;BoZ zCKNF|q}Nd}IR+|0YPdqMoP?i18FY6!nR3nBco~nud|9IcBY6(=F0 z?}ak%jtKUJ^9b~J;WgLn@JfJ6w$*~g+JoK#ynfrYFuBMiA-P6IA}miiUC5^KaWA>C zp-}I3aO>TdBO!j_equu*P_(hiEFgX$cr)=kZMrUr1`p^YQ|irL?h;s-jq~DYXn(6S zxIPNIlJ&$V@EUCzkCB;~97VM(WT7ZSfA?zy$rk-!PR0)Zp^#_@khC7Dm=#I>uuinI z8@}V+h;9lNj-MZK_K3)MMdnK#XXg`ji>Nnw3s#yWsc1M+njCQhGmOeG7UUNLF|lzJ zod+TmpPdsAFTmUNv606Y?=tJ*b;w?ill#HTQ}Q~myeUoK`%dF_NVjEot-)V7$Zm45 z(1zl_@#HuY!w80u3wzk^fR8cUMX31IaJ0=?-WDYVZrmAlX#tbX0AY;r{TCc!akC<_ zRU2hKdn(Bb-wlN5%SZ2*gTLDw(0XI&KdmK;?ZI92sUi;;GYZ3RpE4QFpmhcE@W=O^@gYAytX}9Mlc(mf1z)1gC9JS_5LK_ zt=A`<@0G7-{TKK|yI4#8!-z6Yy=2L_Vs$7*{g2Q~Qi(fV?Ad-Nxq~vMUK1=L-MUmOa0dMgso#ot4_*e^^FPTe*4pncij?3!;cSe6%o_>uw|&QaY=3+LqeU@ zu0<-zi8Jwfu`H}1#M~TDtKeeVYKta6?PGE!IWxdUbHDYi^ zop7~-p#f4G1{s!b5N(pZlkihN%CX2rVvG7ROU*Peh$-) zI1O|2((-=lkSa~#ug?Kx1nqHx)&P#iTn}`yWE-+SujKeC#dKMS3=hOMF;4N#qE{5^ zv?_Aqo2?TjdMfGV^~KW=Wz12$Jl{htA8BpR2~rIT+mB@VFjUIiN@LUQ*w^ctmx-Uv z4axR+t}28caF+q(j82)^(r<8io8`#d>7(D5i|Rudp5VVB_YuT5OYXZ#&oQ7;Mqo1L zhP35sLt6r8Vc$>{Og2LkfefLHvm3c zUZw*Z8Xy*8k=9oh)t}4f>ynyQn@Ga@6w-R01T`GEVE!H+`Hr`A){UAg16>yFyxU}R zIL9(E1Wl(S$hrwfIaXmoJzI&+5j$Csi-dZRzjUiPHgc7;i25)jBAqu3jpO(M+mp~f zj{+_`ear(-WP>Y7m>IyX5T)UXHoR2ce5dLQiJqzsJH}({P%Y`!uMi>8NBp6gr+Yx6WFIi|g9|)>auevZ z2M2PV08md4QxhYj7J$cp9DpW5r<7DfH886Re=;9=z|n@F3jYP3tIq~=AI__Es(*pb z@+8?T6xYS7*dK)4YN0*2rMY`~;_$9-yy*qsXju=Tzl$4Y7yNPMduo|dRrq0BLM?i6 zmMH6~gl&3ic{!d#kW+@ToKBagBze~2L6P0*5gxU4%y~5bbSBz6KiIRdd~ODCJD&;y zT5__Z3>A2(ZjCGj0KtjqCtKxzmGek>#bJkX&dyfzi>}?8X}{;DmAKypmPR`{aiG>r zyqn&QI>Lb)xJWEEMRFep1CBOSzOsLPuDbci2W4aI?E_tYa03G8Ac@cr>?vg;mBn~fd;nIAg^)GrFS|Q|fh{fA`Ty4dI*H`9Eq|6t~V3PO((S8a$2d27JF9L=T zHgR()<3B)BW>`fDtzlYOJ*6eQpgHPZ!=X-+(P`v+uF2j_E~7nXxTGbcV-2L(&)iq+0qZk9d{Z};+Lzfa;;fI@hugxs-9&Vb3 z*ec3_WpKIXycZT&2sBm7aS@UUl3v!TEVy~CL~}&A!x@I$MKmE~vaSoA%{WFUj?nVu zpn-RW5e7s}ZbO5+gs4$!d4j)oH6af7YbhmG*iYvxvVAcid88o~2#eNFjHVJ=4_K&I zTYaWXX8<);B|fYM?zX%F+w@EY60`cZ7(adDN&zsyq*m#gJSEwkEQ$_AD^}#A7%6-Y znATbcZw@UYB5}W}K5*p5GqXxP@4{}&KUKbcWF#!l{~S(j6^y-pMVk^`XIkP{ms@lk z{-*1$Ow&&78kwO%Z;*oJvYP3{Xe3&(BoLck?qO%o(zb(IS7qB~N*|dBU_`@Lm2JY*K5V zOy^n&kbZ4Lyn~oA2+G*}T#bOI*rkxhVJ$yc!<7?gQF5LvT-tRZ||u}d7&_$a2NH5XT9;xtLj=^=OjeymA>_d0XF=dP=ow<%nS?o(v1`9M89! z>UL_R73FF_;W+{BX_pIo23vkW*3dJkefWtCJ4Bp2wZotGg~sty{pB@?8)Zvs&qP6H z#ApjMTA_M?@x>l0A_qLrOvxckypm?s)^g6P*OnW~*|L%QApew`HM*uIG?0h{DR4q1 z;gBs2#hna`p0?pVuAl7UvG|jj%t|l7#p-azER8d_%>zawxjNh_zU92xN&cdkUTIDe z#j)7bz*@j9$(*F5~?d%!P z%j6SvVOrXRHSGP{4J1I}*QyLzU@*_7DrhM9Yq%jl(koFMh?*ATRAqon{9>=!X!FLF zh@VV>HH442MUJd^IvW_Pn_#%meKl>VOb(yJNz2~}SW~v>oB+7I4#xIhX@C3ewe$Iv zoy?6=Puhz4gsl8+{a%4&`@B#KJFkp#^&Us$Ccq<4mZkL8+OA1Q#Ub3s!tOPmodTH+ z`udAKrQ3;0>`F5p@%%_ED24+ys@+Oo)+cl}w2t|a9-qz7-aD^E^>>KCF2oCO)O_2q z6?$sWI)gEGh7H&?I@i(64cdRkn}QZe9Q2QPb6l*LxqI7J= zqJDT(3U%M=V(=x4g6@8m!%zyxY%vQ0W-YY=nC+VY7ITvymqT~e6Z+in2Gb@>uGLQ~ z51!YDBP9^W>>8rAeig}s74Oi&wEEY;nQuByUc@d#H`2qKPwg$+*coGoX|Z_ihut0F z-yEfIwX52)WNEr+;hnEuxRB@-FcK3eoqQY}MkB-O>+afu3tEKBx$?Kq8y5t0VpxC>%x4|*%LYdK`P zh&Yz5ZNXP3z0vGGSVY3Y5ebH-EB9Ne;dw?KG}{?9A>2s1R0b$; zMU8($yf&al5*q%pwhlh$^~Zq|aNQS1tY#Rs?5&BJlL=Tx?aMZ136*@)WX=&CeKrUV zw-dg5eNv1IF`Xwe?-84byox~NT(cjSkBW;s_wqPyo)o@*2Td8o{Q( z=5@YA``hJGgF2!kfK(y#WLpGfWt>CK4a8G79OKi8{V{3(WqAD)kIm$oKbV2%ygB5UdhmwA^q3H0iG$k)MS=rm-BaX7#Q>D1G2H1^ujN zEy5a)UG{Vc+91|UclZ#PfRaIG>sEFZgw&r+Nx z7(0k~ucO$-z8sya4m4@xGj9sx!lD}ysXaLKj!3i>Q+=t>4^DDru*LXH@H(G!z2swN zLoJZPkNb|C_f181npX6=y-%{si0T)p@n8k2cGNJ*?Mv839p>G@dO^J$0Vaj)rzQ)( zipKdvZ&7a|@EdmVP>I(ZsG*3^;fLDC;E8UTnV$W%K<$9ijQ+OK3n|(bgy6%P2cN*& z!sN?hh7bACF1>{<+cHCy*gKybbeax8CXXSJ_{r~AsSg#{^y;0#aBK8jWXhzeN6XiO zGo+_i_%WVNwn7Jus75V)S0Gz7THdC^^EN1c^E{pI3x0IJD_9}c^f{x)e(>Br_dwQb z4s`3N6>4+g0i>@a9*c4x3GdR8mQuo;0~ZGmZCsKVKt-rW-pH!9+vuF;u`pu(U(sQ9{~d>*{ez4ZZh4`nXjh~ z4q`g4ltp&$cISl z9_vXR$v&x=C$Wvkb(`k5{bJ6*gH=7wk0#eVaA`>NhRyhPI3x2V#cny(J5QEGT}~du zGw%p*ka_vzy!vT$T_dWUH_UG$$5#k)S?y1-G@iA>X_Ezs3xfJ3A8U zzxh=5g2Wa)j?VrDcx}I>QN+E&b@`08M+L7K6fV$EpPn)+i(|rY6Din}`1I?{ zxsMs}3mfnY3TD~n6JQ8R6b*M%S%%Mv(ehbx?L*YZFJe}cuwuWSR8>}1M!*A|HaH`Z-}O`V?MoIGh0h&u za_q}9kKv{-Qj${2ZHFZicYk;v){mtZA$$0iH%9P;%4U2p#52D;=V9ncY=kd-Z;^ZH zWoS2rk(pM{CP`+CQV75Q7Yf;dE!Om`j4}W5=OE@_Z}tiB=(A-#{8EtGzz9RiwQl*g zFz=w1ujp;oYsL`DI`KrMDj> z#ml#J4V8pgM;KhaoFwRSciu}h4nu>2p{}!`Ol#L{@FOeA0^jJKhZuIoDp9)1*F5e* z2bvz7()u8Y5{p2lVf?}=pTL1Qs-_~T$9d}G<}2^0@8|v~+77QkKk8PVR;!$cu`)IF z=XTUtGnaPf4T8e2KXp8pj|C{Ly^YajzR<#FUCj_8@Wr5uo=~jc%$2GGtDb>J-T5Ge z22E}0w6b_xNna+64G-x!l;T;In!ivca#i&dzEWUqBKU0BNUi_vY9!u=E1mk7=A)s1 z&FFa1R5p>Q!2$99Jg-P}O}vDJZju;Djrl<8Vt5lvW=4HxCe`#8TQY4GX%nK?T1tmJ zTBRy4u$$m!y!(rmM67ldANy;OGxT%{LXbXb#lE^PqoS6WsqAIP`M4o-K;;ISPW84( s7=vNl!kZ_4CpKxUeTO!%y*r%s&$nMdJ}}WA|A|9RN?Ed0+$i9G0Y?31TmS$7 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 0b4a8badb9de..eb9fdc648649 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -26,8 +26,8 @@
        • -
        • -
        • +
        • +
          From 1079730d32227eaed5c69a908770572285ad6301 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 11 Sep 2015 09:16:59 +0200 Subject: [PATCH 111/436] Add 42talents GmbH --- .../junit-lambda/contributors/42talents.png | Bin 0 -> 10963 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/42talents.png diff --git a/src/site/resources/images/junit-lambda/contributors/42talents.png b/src/site/resources/images/junit-lambda/contributors/42talents.png new file mode 100644 index 0000000000000000000000000000000000000000..cddcae9b5bfd0ce75fdfe39d403c734a0ffd94db GIT binary patch literal 10963 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 W%av=Im;UFZshqU3RIP+b@c#mNRsehe literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index eb9fdc648649..d49214985c68 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -24,11 +24,11 @@
        • +
        • -
        • Hans Sowa
        • From c7313b19a24165f4e6b39c3eb2c8165a02f1e108 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Fri, 11 Sep 2015 09:17:14 +0200 Subject: [PATCH 112/436] List more contributor names --- src/site/xhtml/junit-lambda-contributors.xhtml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index d49214985c68..c30cba97c9b3 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -171,6 +171,13 @@
        • Andres Rodriguez
        • Romain Rocès
        • Ivan Caspeta
        • +
        • Oliver Gierke
        • +
        • Pierre Marguerite
        • +
        • Dmitry Spikhalskiy
        • +
        • Francisco Javier Jiménez Sáez
        • +
        • Ivo Smid
        • +
        • Sargon
        • +
        • Balázs Sándor Mracskó
        From a2ea00d745f2770ff3b443f77ef72572d37209df Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 14 Sep 2015 19:28:15 +0200 Subject: [PATCH 113/436] Add more contributors --- src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index c30cba97c9b3..4245f040a67b 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -178,6 +178,10 @@
      • Ivo Smid
      • Sargon
      • Balázs Sándor Mracskó
      • +
      • Marco Fritschi
      • +
      • Matthias 'Yolgie' Holzinger
      • +
      • Christian Schubert
      • +
      • Rémy Francillette
      From e65310f8b21474a8111a9c7311436e700804ca3f Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 8 Sep 2015 22:15:04 +0200 Subject: [PATCH 114/436] Add Pivotal as main sponsor and contributor --- .../images/junit-lambda/sponsors/pivotal.png | Bin 0 -> 20369 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- src/site/xhtml/junit-lambda.xhtml | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/sponsors/pivotal.png diff --git a/src/site/resources/images/junit-lambda/sponsors/pivotal.png b/src/site/resources/images/junit-lambda/sponsors/pivotal.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee4d0c8eeeeaf78b8a559e51d55795944a59c85 GIT binary patch literal 20369 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
    • -
    • +
    • diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 892acbe3db54..1ed78ed17ebd 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -21,6 +21,7 @@
    • +

    Main Campaign Sponsor

    This company will fund JUnit Lambda through the Main Sponsor campaign perk.

    From 32f3458f1a7a618e28b1f32c77c1b3cd08c910bf Mon Sep 17 00:00:00 2001 From: Yusuke Yamamoto Date: Thu, 17 Sep 2015 11:55:08 +0900 Subject: [PATCH 115/436] Add Samuraism Inc. --- .../junit-lambda/contributors/samuraism.png | Bin 0 -> 16514 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/samuraism.png diff --git a/src/site/resources/images/junit-lambda/contributors/samuraism.png b/src/site/resources/images/junit-lambda/contributors/samuraism.png new file mode 100644 index 0000000000000000000000000000000000000000..fa804899097b192a522a179908d2a53c9e7ff87c GIT binary patch literal 16514 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 4376b565c395..9febf2499191 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -15,6 +15,7 @@
  • +
    • From 57952f879be14d0735ed43dab164839f4de57b55 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 17 Sep 2015 09:58:51 +0200 Subject: [PATCH 116/436] Added two large logos --- .../junit-lambda/contributors/msgsystems.png | Bin 0 -> 5299 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/msgsystems.png diff --git a/src/site/resources/images/junit-lambda/contributors/msgsystems.png b/src/site/resources/images/junit-lambda/contributors/msgsystems.png new file mode 100644 index 0000000000000000000000000000000000000000..68850ccc202eec08805efabbcc7fcaef4a5026c9 GIT binary patch literal 5299 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
    • -
    • +
    • +
    • From cbea22cfd38b3d2bc8c40d4ee28d4c4df1005c53 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 17 Sep 2015 11:34:12 +0200 Subject: [PATCH 117/436] ADded one small logo and a name --- .../images/junit-lambda/contributors/vaddy.png | Bin 0 -> 7811 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/vaddy.png diff --git a/src/site/resources/images/junit-lambda/contributors/vaddy.png b/src/site/resources/images/junit-lambda/contributors/vaddy.png new file mode 100644 index 0000000000000000000000000000000000000000..b595aef46558c86af3729779b804e06a9a7e155f GIT binary patch literal 7811 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 R|50TqSxF^{8ZqO*{{d|!FT(%; literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index cc6b08a1fdb6..16831b1dd65d 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -31,6 +31,7 @@
    • +
    • Hans Sowa
    • @@ -184,6 +185,7 @@
    • Matthias 'Yolgie' Holzinger
    • Christian Schubert
    • Rémy Francillette
    • +
    • Martin Klose
    From 581a3717a2654e9011ca7bb8c6ff4abca00f95c4 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 17 Sep 2015 12:47:36 +0200 Subject: [PATCH 118/436] Two new names and a link --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 16831b1dd65d..5a980805681b 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -186,6 +186,8 @@
  • Christian Schubert
  • Rémy Francillette
  • Martin Klose
  • +
  • tennisoff.net
  • +
  • Yoshio Terada
  • From 01831e8f96e42c72e5abe5838e13554e9d48f3ee Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 17 Sep 2015 15:29:50 +0200 Subject: [PATCH 119/436] Added arcbees logo --- src/site/resources/css/junit-lambda.css | 6 ++++-- .../junit-lambda/contributors/arcbees.png | Bin 0 -> 36056 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100755 src/site/resources/images/junit-lambda/contributors/arcbees.png diff --git a/src/site/resources/css/junit-lambda.css b/src/site/resources/css/junit-lambda.css index c20eca8c73fe..901e634d1d94 100644 --- a/src/site/resources/css/junit-lambda.css +++ b/src/site/resources/css/junit-lambda.css @@ -28,8 +28,10 @@ ul.inline { display: block; padding: 0 10px !important; } -.sponsors li a img { - vertical-align: middle; + +.sponsors-small li a img { + max-height: 100px; + max-width: 200px; } .sponsors-small li a { diff --git a/src/site/resources/images/junit-lambda/contributors/arcbees.png b/src/site/resources/images/junit-lambda/contributors/arcbees.png new file mode 100755 index 0000000000000000000000000000000000000000..943325e0bf1adcdbce58295b4399387e09f59003 GIT binary patch literal 36056 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 5a980805681b..7a06e0ddc4b8 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -32,6 +32,7 @@
  • +
    • Hans Sowa
    • From 2e2b962ca1aa3dcaaa4f08123d96e60918761889 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 18 Sep 2015 08:26:37 +0200 Subject: [PATCH 120/436] Added Red ES logo --- .../images/junit-lambda/contributors/red6-es.jpg | Bin 0 -> 5227 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/red6-es.jpg diff --git a/src/site/resources/images/junit-lambda/contributors/red6-es.jpg b/src/site/resources/images/junit-lambda/contributors/red6-es.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4bdb869e696a551e629f0bd94525048b9bef384 GIT binary patch literal 5227 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 7a06e0ddc4b8..3627e8f24b69 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -33,6 +33,7 @@
    • +
    • Hans Sowa
    • From 625c5458b8df2d8b0be00c0eae1a790dfa07b3b5 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 18 Sep 2015 08:32:16 +0200 Subject: [PATCH 121/436] Added Gradle logo --- .../images/junit-lambda/contributors/gradle.png | Bin 0 -> 31527 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/gradle.png diff --git a/src/site/resources/images/junit-lambda/contributors/gradle.png b/src/site/resources/images/junit-lambda/contributors/gradle.png new file mode 100644 index 0000000000000000000000000000000000000000..ed603e57456375a2ea26b5d22620f2a42cef2c51 GIT binary patch literal 31527 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 JduSf|{{Yw;Y!Cnd literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 3627e8f24b69..56fb22d29a3f 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -17,6 +17,7 @@
    • +
    • From f537ba39d7e3952a74c9582e70c12bb836fef7cb Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 18 Sep 2015 09:03:03 +0200 Subject: [PATCH 122/436] Added a few names to contributors list --- .../xhtml/junit-lambda-contributors.xhtml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 56fb22d29a3f..af740d92d3e7 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -191,6 +191,27 @@
    • Martin Klose
    • tennisoff.net
    • Yoshio Terada
    • +
    • Oleg Lavorskyi
    • +
    • Marvin Lillehaug
    • +
    • y.ono
    • +
    • Kouji Nomura
    • +
    • Takuto Wada
    • +
    • Teruaki Kanamori
    • +
    • Keita Kita
    • +
    • Manabu Matsuzaki
    • +
    • Sato Taichi
    • +
    • Koji Hasegawa
    • +
    • Lukas Hinsch
    • +
    • Chanwook
    • +
    • Masashi Yoshida
    • +
    • Yusuke Ikeda
    • +
    • Takafumi Yoshida
    • +
    • Iwao Harada
    • +
    • Daisuke Nakagome
    • +
    • Yasushi Hagai
    • +
    • Takuya Kawabe
    • +
    • Oohara Kazutaka
    • +
    • Itsuo Okamoto
    From 6ffe62ea11f8b4e710391ad3a831229954fc7401 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Sat, 19 Sep 2015 12:23:58 +0200 Subject: [PATCH 123/436] Added a couple of names --- src/site/xhtml/junit-lambda-contributors.xhtml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index af740d92d3e7..51098166f0d5 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -212,6 +212,22 @@
  • Takuya Kawabe
  • Oohara Kazutaka
  • Itsuo Okamoto
  • +
  • Shigeyuki Azuchi
  • +
  • Shinya Kamijo
  • +
  • Noritaka Ishizumi
  • +
  • Cagatay Kavukcuoglu
  • +
  • Lars Vogel
  • +
  • Koji LIn
  • +
  • Elmar Fasel
  • +
  • Behrang Saeedzadeh
  • +
  • Paul Naranja
  • +
  • Naoko Yamazaki
  • +
  • Kouta Imanaka
  • +
  • Takahiro Yano
  • +
  • Minoru Yokomichi
  • +
  • Yuki Matsumura
  • +
  • Kazutoshi Tanaka
  • +
  • Itsuki Kuroda
  • From fc16d540ae5401f852585346dc74ae1c8dd70605 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Sat, 19 Sep 2015 19:37:59 +0200 Subject: [PATCH 124/436] Added a couple of names to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 51098166f0d5..0be4af91a13a 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -228,6 +228,19 @@
  • Yuki Matsumura
  • Kazutoshi Tanaka
  • Itsuki Kuroda
  • +
  • Alexander Golonzovsky
  • +
  • Ryo Uchino
  • +
  • 幸田英隆
  • +
  • Hiroyuki Ohnaka
  • +
  • ITO Sho
  • +
  • Yu Asano
  • +
  • Shigeki Yamato
  • +
  • Shinya Yoshida
  • +
  • Dimitrios Liapis
  • +
  • Kohei Yamamoto
  • +
  • Hiroto Kusuda
  • +
  • Jonas Lindholm
  • +
  • Takumi Endo
  • From 4cf6fb06592928f867de0a91e9b4b57297e35b36 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 22 Sep 2015 11:15:11 +0200 Subject: [PATCH 125/436] Added Structure 101 logo and link --- .../junit-lambda/contributors/structure101.png | Bin 0 -> 8973 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 2 files changed, 1 insertion(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/structure101.png diff --git a/src/site/resources/images/junit-lambda/contributors/structure101.png b/src/site/resources/images/junit-lambda/contributors/structure101.png new file mode 100644 index 0000000000000000000000000000000000000000..f57ece9ae304b9b57322bd884d7b375e25e7c72c GIT binary patch literal 8973 zcmaKSbyOVB*6m=yLvVKq1REf@ySsaU8GINR28ZAfAV}~80zrcZNbq36-Q5XpgG10q z?stFpeSf_BdadrN>b1{4yH4$1U8`3|X=y0pVo_iL003NNB{`j^w&dx2h4Jj^%Gljz z^3;&S<&EIFP+Pc{6$}iJ20^XCbjlDbJFpJe3gqL~2NnYWP#7HajNnG$FwX$&n!|ANSb`CD$42Y&y2090jID;X-I#AtJ7HsdJ7q`fBLe z_&V7LgBTPi4EAuis|Yu@mzNip7atcCX2;DVEG+z&gO``{3Bl>^;{vzx=5%pq{D(mf z>}~^daD_WSUFiNYT3JIq;NlEVO8;jH5ZC|Ey14(lOiu;l_O^26=HUYVozg!*b@l&0 z6ax7V+8wR~{=a(vpTzEZKCWPH9k4sp17`EIaJGzpQ@M)B!oXH=C`=Cub^fP{TJ}&l z)ZHHHN++w!Pp58WAU@f;L!LPFl}<{=gqI!EDOovKhLcm6a9n!S?n13mF1d;;gguzG7-TQ$S06_#E(}i>iaV>mHzr0KQrRTIgp+xm9RLKh0Z0TU9HaKshu;ws zd=s||(3Z2*HFeFaL5z)PvybTC3i$(8nzysgmfTz1j{-WvUpViYG*+Cen&`BT*Pu=o zIPIDs@BQx{-2A2>j23Qg=V##)i zhzuRk5L=|S|`@;$a1O{yy=8tv9cGkmYAs_M)#w0MBqzN#7dL5;3%Mqt~W zH@+U-E?iq%%jNhhDTz%X^d9>25)l|$ZZy_zP;PR;_wqI;6n*w9jgR--G-N^2dkdas z#>PPKPEX%`VSXWd=3=pOA8UeF{jB(9>w*NY*v&EfQ{`6=8onRe4EZcq78XW$ zz~PlCrG}QQMA$1-2Z#6F&9wIy%E%2Qy7^5K=VMcTS1q2V64|9e)JL%yN_tCk%VTcK zz;mJp$OlV3t~BIPw%chz+EQ72?@BG!1lnx3?NqQ8bNm74##tnpdtVH8nbKus;Q33# zd>#j`_`v;)DM6Q}KZ2(X&gMd-P-#`(+r@23(fQfY`rFHe714;|(KKX>@cUte#GrN6 zEHUn+x7e`Brwl56?e8bvWm!MX3$WeGyYWuVjJ1BZ!mXkK71B-|CG5bA~!$6W9(qr0Gryz(aj!z9g9!-To3OgWmoUZR0Jr_|nqgS4jyibpY|*hFf!jhzxc@|ua$~G5zljbTyiD~A6UcPwQ1yv|MA?{)~np#^ZBMw3ECBp z*81^a3YIY-woBi4&4L)!#O|;KoKdwG*-O>n1-pmMm`B*m$BD1T9v&B&cFKbAB*V8b z@s7m4z3>~nL{4l>;>Y{?5_n@=z>7br0xQ4XnUP7oUaeqm4Q}$DQ!3mxFiUg7K-<{L z6a0l^@F`iUdIqZz8Oexv{?(K|uVwz~Bg!-p!3RHN2RPRTPZb8S(h^`&K(|}<8Jc7g z&D)(i;UK?)&}8FU>O8rA6heYym2L6WIU@fgy0$X&x(8k8&nnGV+j^b;L8Q6Uo}E2l zV+ZxGeAfr@io~Hl6=YWzDxvs-A0;VI`_Z~`(}cj|4q-nz7+pRN*c!L&RNma&e5{R< z3)$qIlPPGSDr1r5Hb5zxYOGMDn-sZmP3+qswi_%dd4+}W(QXeh0wros60VwHPP~4t zg+>@%*K)HXh>8P~N2#f*it0#JbPHrD>}s7cS`pIHPboq*c$3mIKR<7nE$Zc2YDF~Q zrfQfng`}K1kpjRAI7Iz4eSTpfHXL?l?~!|>?>eje%P`yyw1$$LtW1^2PK;Et?`+L5 zbkuT-a$qRoJ+pOERmHzbO;8_NRunDqS;K3&ZhzTo;PsnX)W@Ot!<$iPz1!1EhIoaly&V%$FUH-j_ke`zVdta75s0l9w)Xcnc#!Lxqzh zW^ZhG_$ccr2C9;{-69XQlzi+rY+(V763WiZ{Ql^qlaxe2l5@W3{#b=r_LH2xS!liW ztJBcXn9{;^n+^$mY46|?1zoJPataL0wlGZ+tGX=l5Vh9Vk9)zjb(Z;(@>k|}yOFG< zq~fTf>C~-x%jVmxjPG;K{4KDbs5prjik+7JCtbs(6(*wf4ihyC=JbjAJc;6Ds+nSL z)_@t))<^WfdbcmFh{sGJ567Y6q?fJQ99!8|6`{iYck5j=SE8C?(k8_k1v+(wEG(~= zMuoRtMu%II{<`>6_na2w$kAP#Z)9mHXulWU(=I7`+`yGF;`M@?n{?@z60^4H0W?F7 zN%Y2r-Xakl9M#N%?ZPnWKkAXWB`ihk!njpC#6gmsMEqwZsc(LWle1j?qnc;VeBtY_ ztF&lrMEx$a)hSE2C+4&VyN7-|ZNakpO-uy9nF`o|8#?(QB#aP?d~5vQpD4*T2l*^>;;0iCPns=x^LoX6Y}*1#t4 zK&oZHo}cEDh#0S4b|1)^ecliU5fHGFjT?(I9b6Wpv~s$-I%=q=?5j3&ChNLmxx2rA zA!KXRqrjRvzI$G(HO?5)@bTm%*?nR7^YG~E=;cHE!(-icig*T>r)61=QgE$52y{M? zKEZEpZjRTsFQ`?YT_7AJnKq*TS=j6H(pjLcxVT~SV#03tXjDD#S*PaDhnwZL7z`(C z|GO3Eft$$rPn{+1q<#-Mx9i~s-e&k~5vOf!tAsO_f%jKlh=*?@@o}*g=cExBqz$E{ z7x#5bo(oBjm)F0u10KS+EBdz2sFoi>T+7qU7sh*Z$bSdlB1}E6kJluZ>JYIDqN1W{ z>YAD==_u%%1Q!>$m!!FyPJ`3Pm^TJk5!g6^oab$o5k7N39hFO;?^BKf@E#Jx*$rK%&AG<=SWSCdqinP(>7TwyXHLgx?Ywk+>bqrV@bz@l$~+NHX088P)gch2_klIvFZ`_*Z-MOhCh^ z{JdsW=6L&CP<6x=?m1+Cf8XlEjRn=AQ;-pUs-%h-75H6jy1NalEL;6Cl(^feytqR6 zD$5k=x6zg(8~CT6-R~2}!0~4EkDhG`GGN>beuSCK+i+9HE?$lga4Vy>z1Vnn)u(3r>S4`K0;Z`BS+W$rKj)h% z)cMT^lkfQg!o&}vH!ANu3v6R5z_2{k_ZATBEgC{g1Yy#dnH%7}?_h7#{oxVau<-(S zgaN6Un%CZ4yrd|NSvbn>-4z8v8aLa1vWfwQeZ2c&aRpzX$MI?~>UF$bXZ0epUUcpq zYIh}RN;5VThj?1Q-zNa8RWXiAJI?~WnSi?-jl~;nR4;gv9|d@k5=yG8-ci)>5JBmZ zov9&N?}f0y%ir8mpyU8}gnaMPV-%|#_xBD@G)IPq?gd}GPtks{E4$8fJf|Qn!sa0D zUtd?JNI^{dBA}*4AaYpJhxxq=nni8`C6%JYN3HV7dcY z=Oj{ef43o?lz#K|g+R-!i@dZ;Wd%XbiHeNZX*?$SUi)m+g(wI|JTI9VgRe+Bx`-zM;!$wJm#9+->{X;9EZq3pINya3* z*~`s(fs8Dr0Ab_L{y7Z=;VGvaYoWfZ6m}&D2ji-))+elY+pho@TV)rO! z`zmPk>dl*p>T>OM;fO3hW}2Anh~PjUI0)n!KD|Pcf&5MA4S9GBQ0-QXFxO;*RmmC8 z8y7;b(IsXU;-}+>m9YJtn`JU_7-V`Hj;uQXAXYe(h6{zKE~Q$XJM!?%j*hxwCw6yI z#dkGyg!^^ZMn?u`?t6m~Qa{Wv#dQlHKrv1}ZDU5FuFCpho5Bf<4v(6e8aJ%pdR9>) zL?(Ldh85MdEAR>21Y^aJ?T70w+L5UDM(;VjkGBES!%|)`b0cdht+|Pm?nI}B)-;;C z<*&XmF`BD%OQIK@7g_DeE_#aO1aTHDM2Dh;s?b}`HoX1qfk4t)5%Fu>N1K@ZdgAen zhI7BZ!e9)V!1uys3}53D%IcYOmxg2Yxn&&Wxl|6?56(6x%bte2IIpoctTUsrs6UK! zH5OLaZF-NN2iIi*C1fcEh*_?UZbh)W5f9R z4sGRG^d-HDZ5~}d8o!XxmjFcZa_UEuvqh%(I|YI($DKwOd>Z|rm8+a@Q{W=f+;qLe zsMRr#c4^L^d3oS#UWl?V5}A;xzZ|D!R>*c!QBnW4M~6R-&D5|2oURJ)`>FZQmKEmm zS$9gQ0i;XkrpHX+o{>!O5HV(8=CPr};h)cEWsByr5u#y+YDf*_a3@NdLW&?d+N{1A z_VQ;HF)D0_UKv8T~p7O;^2;%l7n`%qdnad=h}uL$@RHzV`A zb6z}2#P51?&;bvsga*xz_jPt>+8K3+!%kyf=9Tio2ryw?snUQqFXHJwK+Z3{an_|{N9@Ms*H-r3_^wi$eKxZ>9+meq@|&Su2lX@`rkY<$QYUbGM0QMUfJC_I{L zaYX9hXi#1l*Gxr`+<_6d)lrq`Cr(Xa6?KaA7N*wW9k7Mr8&9sA`{2$Iftf>3&PrntFz@C+M8EfsfBp&nwR#Qn&$u-e~$h%P| za({KAf|p-378DoctV_Gh%Tz%Kvw|@KJ=h>2b|$*i-yHS$FET6k9au96@|otNeZ&Ah zraC|MrFWHNK98SgVM#@Jc0h}M7clSnOlP*i<6zQ~>8AU#ay;HHvNpzNd z+K*5vXO#mi6FaI`t<~}{`lnI;kPwC}$w&kStE9Y59Ape>BGWW4?f&g_RR24mw1-6} z!`|@w`wmz7ne7QmECGb)(S=ujIOknCYU9i>Z&31lu?)8Wz2s$T3qZ zPzUdHL*n+3so%8S_oYf3A-$-lCffdr6rwy)`(k{s7#1mFzc$5^^p!BGB&XaI`jg*s z(uqj^(o!-6P(0bG7ifu4;z~P|4;vep_EN3BG2@yjw#O8~%}zHD4r14@nUbvYIeQ!; zj)_Y8sxhtW<2D?DoyMC0$M6+Ez8y%TaJEIL<-}|bEKqnYR-a{k3%nm=nqC*D6m)JZ zsHrKyRx$n{ld3GmnFJtrEsPD0G*)}o0MLr+z|z6_oXm<03SGp{(~^SpS)uEwobgi% z-ly(1)`W(JZtmsDZ0RiXoLg1?p&7JsFLuL}Y7S^FZ?y8CtX@J=kNOOXq0c0O_PGYbe(VbeGpRUfc`;@B8K%kDe}i!4(U-X?2n|BI5LV;Q1s!FJ(YT!sOF-3x_MZ>-<4!m9lw5dqa#1IkJsdd zaAA@k)9!%9U>qt?FBJ05@I(!WIH zj_*##zn%Tz@LN;l_Kt}ecDsoL+xA7sMa5#5NDs#o31U3vOaZsD}F| zMENt0t@rOiqdyLn;kM%sNHhd#zR!)LNzN%L_9>x19eQLV@n{nrLQwmU6ELZ}*wJ;$ z#(8jrRTRfZV{Tkd(eV?mSfP1@Iu$nYQrem_Y=oP&=$NRRQWU*{sALvWiT3S6ih%b^ zn~C{A<@~d>c28&68h=;V;VhQY>I_n2G4JH8=z@w@gCk1!eqJM|m%JN(UpVDr{*I7y zGakUZ_U?K7j3Bn=TY1YzEgqJ;A-5eH3f@t_*TW2h$c|3us|`>qHxA$ZBm$B5GnlSd z4OVO;mdU9beVkm>MR0X>b*B-rGqwBk^T{%x{w_7Cya9{8yu`-rG>|zmbLjE8Mm}oo z7sJog>+)2_e+Ei80+E*8lq&ydrrfT$1q+|Qfi#0fQw@^}W)#e3-eTR~y|Z=+m$0TQ z*Q+hgLQG}7E2B6qXm&lajBpN+d57j5tEd=WQiKAS$M^1en=1%tlld875Z>WdMzwXC z&Y&up&uapoRJr_>ORWd`LuYnMM}7XBs$C|DsC~UxH1z~UJ~1oEZiqWSkVA*sU5w4_ z3Uw+le5A@9DS&6Q-?aQJ@~z1|Mjj#Q@aI1LP+k%9jH30<{HbfBPX0GxaD5J$p(jD)-BNRONeoNF;*joI7pWV~3oq3r6+8lniP6 zzJg}qO?_h@=A5_^>BXg}^kanc#GzLJfbc;+y=VgxW+nb?EE5lVXesPhnI=B1!ng!A1vd)ke}*5^nY z`>$?lBC&55YrL4g zuBVh#N9W_n#`aM6gf*ApP%m_Qu}~Z4$A;>dhAouiLp1{5FmyonORGy_2h5rYf0y@o z>p$4g2z^ACiPB_C^rwlZ{?3^fFQ8?wiy`PU^%Jsyxgk>H;ySK$jjnpg~BZq0re>r5t-R))Cb3RBX#sN{ierj1M&DIq&wlSV~!ME2o-}noJ^I?poVer?D+Z zfH44Zym36U4&1_K*dgnXMTrmo?y~w2Ov?MITime^+x1L0$N5K>GQS(rH|_yPT9Q7_ zghPsYb`>CDFk$`~t^)v06yt)LY(-FAFlOi}BF@jL++Vj^KFx!e&AqBfSVyOIAh@TX zVP5A@iD5-`f?pextY?h&u4SC`CKipmV~iKR~b4Z7+N#1LRgYf9O5m z;A`_Id7VSe&P{*k^Gc$(fL_NJNRl%bWYH52@i+W1Ik76%7FkU(GU;d9g>jK?_l(G? z*Q1R7y?m4ZgtYO{ca$v~BJ8e{_TZKtetG%VR^{hMFKr8aQ%C~G8I}AG?a7_CxC_p& zuD)OF8}xCObHYb+XktxA9Yl`=a4fb_R8Yg^NtJ6y9aLWzAqql1*^$s8vlf&dH{hl^ zy?AgTZk9EzG`B;gsibWI<7ARjC2;p3Ovei2{Lod!qCe4Vgj(I4EGhxG#97sJEj{1| z02Sv5D-(K4>d)S%;sSk*bWVk=C&9U^VxObWfyXk~KCq#jV zUJHl3{a#X{U0scHxI5^SII+tOs^B_IZ+PA(^y1vfR|I(q{n~_SPdD+6RI8<=5Bf_Y zE~&%u>{7OM(Ql}c;lifie+GE_x{Yr45_!O9JXnARcoKNNlyuHp{MN|CpR*y! zKO2t04`x62-YI~M5ZtkH-8cvGr*Y_;6;#f(I3t$0bE(*Y+6Hcc@Nv z8FH{ksi{%2&-sj{=ez?}jhDWRr~z2nb#UrJ5qDRyQaIF+^Fn>A#+=my*0&?4GA~>T zLq!*f&m8knsR4jzSMS~eJfUh7t?v+QQDiKLP<)38dQ?rLnZai;ieTp-X9|G~=*0!H zA5Zn7oY%xye?Q+=wx|K%?FV^(BIBd&rHBJZ&_8``mt%;n!CxAd%{jL zaDYFETSI=?47I48-0)ifPiK%0R|hsKHf|Q)ue3`6uT?8i@oNd%3Zkv-F&s@k@^)13 z{BLD=25SnubJnAQMVV%35JWPq1%|Y3#~y=hrft;D@47wLmded;C^-*UTym8RzvOC zS+4?#fqfF3E-z1Sc9@R=YXpr>i;+4CgY5i^`Of_YMp1RUyY^aauSHl-?jXw7pl#(p!)W?uaTQLe$GMr(%bMpZrbr_uJ*Oz3LL_Q$a z!N>T++VML*QExc>1s0SK->JuLj;gcrPV(r{I*x|rXc-nc7$_D3GJni*O?~iuW
  • +
    • Hans Sowa
    • From cf9aa29323020439a3f8895ec7dc13e8e3219324 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 22 Sep 2015 11:23:11 +0200 Subject: [PATCH 126/436] Added a few names --- src/site/xhtml/junit-lambda-contributors.xhtml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index b84555411152..22e6addad6a3 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -242,6 +242,21 @@
    • Hiroto Kusuda
    • Jonas Lindholm
    • Takumi Endo
    • +
    • Gabi Merten
    • +
    • Ben Hale
    • +
    • Eiji Hachiya
    • +
    • Hideyuki Kikuma
    • +
    • Park Sungchul
    • +
    • Eiji Yamane
    • +
    • Akinori Ikeda
    • +
    • Jun Nakamura
    • +
    • Takuya Shimabukuro
    • +
    • Setsu Fujita
    • +
    • Jochen Winzen
    • +
    • Yousuke Tezuka
    • +
    • Shimizu Yasuhiro
    • +
    • Satoshi Okano
    • +
    • Yasuyuki Fukai
    From 94dcf2dea41bc09a9c1e0e0fe29d7320b386c0b5 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 22 Sep 2015 20:36:48 +0200 Subject: [PATCH 127/436] Add missing placeholder --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 22e6addad6a3..8b284f1cab93 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -18,6 +18,7 @@
  • +
    • From efbd2e8070edfc9886e8f76b73e5bbe800ddc18c Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 22 Sep 2015 20:37:14 +0200 Subject: [PATCH 128/436] Fix typo in name --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 8b284f1cab93..8c844eafa84f 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -161,7 +161,7 @@
    • Emmanuel Chavane
    • Kini
    • Robert-Jan Regout
    • -
    • Bastian Spannenerg
    • +
    • Bastian Spanneberg
    • Jérémie Bresson
    • Harald Brabenetz
    • Nacho Cougil
    • From 47f596c7dab54e30ded6cc01e859a813dc546c2d Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 22 Sep 2015 20:37:36 +0200 Subject: [PATCH 129/436] Add more names --- .../xhtml/junit-lambda-contributors.xhtml | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 8c844eafa84f..a1b67ec71857 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -144,9 +144,11 @@
    • Benjamin Herbert
    • Axel Schüssler
    • Matthias Lünemann
    • +
    • Christophe Taret
    • Stephen Starkey
    • Michael Dörsam
    • Matt Bertolini
    • +
    • Jun Yong Chong
    • Svante Kumlien
    • Matt Garner
    • Patrick Podbregar
    • @@ -204,6 +206,7 @@
    • Sato Taichi
    • Koji Hasegawa
    • Lukas Hinsch
    • +
    • Hirofumi Nakagawa
    • Chanwook
    • Masashi Yoshida
    • Yusuke Ikeda
    • @@ -232,10 +235,12 @@
    • Itsuki Kuroda
    • Alexander Golonzovsky
    • Ryo Uchino
    • +
    • Shingo Ishimura
    • 幸田英隆
    • Hiroyuki Ohnaka
    • -
    • ITO Sho
    • +
    • Ito Sho
    • Yu Asano
    • +
    • Takeshi Hagikura
    • Shigeki Yamato
    • Shinya Yoshida
    • Dimitrios Liapis
    • @@ -258,6 +263,32 @@
    • Shimizu Yasuhiro
    • Satoshi Okano
    • Yasuyuki Fukai
    • +
    • Charles Goddard
    • +
    • Tiarê Balbi Bonamini
    • +
    • Kazumune Katagiri
    • +
    • Masahiro Wakame
    • +
    • Kazutaka Ogaki
    • +
    • Taizo Nakatani
    • +
    • Yoshitaka Kawaji
    • +
    • Akihiro Kitada
    • +
    • Kozaki Tsuneaki
    • +
    • Takehiro Inoue
    • +
    • Shigeki Shoji
    • +
    • Junya Suzuki
    • +
    • Tomoharu Nagasawa
    • +
    • Toby Lee
    • +
    • Yuichiro Mukai
    • +
    • Hiroyuki Yamaoka
    • +
    • Jun Sagawa
    • +
    • Soma Kuwabara
    • +
    • Yui Iwamatsu
    • +
    • Michael Schlechter
    • +
    • Hiroshi Ito
    • +
    • Tae-jun Jin
    • +
    • Dennis Rippinger
    • +
    • Dejan Janosevic
    • +
    • Dbj Shrestha
    • +
    • Hideaki Takahashi
    From 77f2c51273416e137402f6736be000745f7d299f Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Wed, 23 Sep 2015 08:30:11 +0200 Subject: [PATCH 130/436] Added link and name --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index a1b67ec71857..1ae29b113075 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -289,6 +289,7 @@
  • Dejan Janosevic
  • Dbj Shrestha
  • Hideaki Takahashi
  • +
  • Daigo Ikeda
  • From 23871dbaba72278f6ae50f1e34cc40544ca247c9 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 24 Sep 2015 08:30:46 +0200 Subject: [PATCH 131/436] Added name to contributors list --- .../xhtml/junit-lambda-contributors.xhtml | 38 ++----------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 1ae29b113075..0471c442cdac 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -18,7 +18,6 @@
  • -
    • @@ -144,11 +143,9 @@
    • Benjamin Herbert
    • Axel Schüssler
    • Matthias Lünemann
    • -
    • Christophe Taret
    • Stephen Starkey
    • Michael Dörsam
    • Matt Bertolini
    • -
    • Jun Yong Chong
    • Svante Kumlien
    • Matt Garner
    • Patrick Podbregar
    • @@ -163,7 +160,7 @@
    • Emmanuel Chavane
    • Kini
    • Robert-Jan Regout
    • -
    • Bastian Spanneberg
    • +
    • Bastian Spannenerg
    • Jérémie Bresson
    • Harald Brabenetz
    • Nacho Cougil
    • @@ -206,7 +203,6 @@
    • Sato Taichi
    • Koji Hasegawa
    • Lukas Hinsch
    • -
    • Hirofumi Nakagawa
    • Chanwook
    • Masashi Yoshida
    • Yusuke Ikeda
    • @@ -235,12 +231,10 @@
    • Itsuki Kuroda
    • Alexander Golonzovsky
    • Ryo Uchino
    • -
    • Shingo Ishimura
    • 幸田英隆
    • Hiroyuki Ohnaka
    • -
    • Ito Sho
    • +
    • ITO Sho
    • Yu Asano
    • -
    • Takeshi Hagikura
    • Shigeki Yamato
    • Shinya Yoshida
    • Dimitrios Liapis
    • @@ -263,33 +257,7 @@
    • Shimizu Yasuhiro
    • Satoshi Okano
    • Yasuyuki Fukai
    • -
    • Charles Goddard
    • -
    • Tiarê Balbi Bonamini
    • -
    • Kazumune Katagiri
    • -
    • Masahiro Wakame
    • -
    • Kazutaka Ogaki
    • -
    • Taizo Nakatani
    • -
    • Yoshitaka Kawaji
    • -
    • Akihiro Kitada
    • -
    • Kozaki Tsuneaki
    • -
    • Takehiro Inoue
    • -
    • Shigeki Shoji
    • -
    • Junya Suzuki
    • -
    • Tomoharu Nagasawa
    • -
    • Toby Lee
    • -
    • Yuichiro Mukai
    • -
    • Hiroyuki Yamaoka
    • -
    • Jun Sagawa
    • -
    • Soma Kuwabara
    • -
    • Yui Iwamatsu
    • -
    • Michael Schlechter
    • -
    • Hiroshi Ito
    • -
    • Tae-jun Jin
    • -
    • Dennis Rippinger
    • -
    • Dejan Janosevic
    • -
    • Dbj Shrestha
    • -
    • Hideaki Takahashi
    • -
    • Daigo Ikeda
    • +
    • Teppei Yamaguchi
    From 59baeed4cb3d24211960ad01fd3ee9e534b0e1da Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 24 Sep 2015 08:43:32 +0200 Subject: [PATCH 132/436] Fixed lost names --- .../xhtml/junit-lambda-contributors.xhtml | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 0471c442cdac..151b396367dc 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -143,9 +143,11 @@
  • Benjamin Herbert
  • Axel Schüssler
  • Matthias Lünemann
  • +
  • Christophe Taret
  • Stephen Starkey
  • Michael Dörsam
  • Matt Bertolini
  • +
  • Jun Yong Chong
  • Svante Kumlien
  • Matt Garner
  • Patrick Podbregar
  • @@ -203,6 +205,7 @@
  • Sato Taichi
  • Koji Hasegawa
  • Lukas Hinsch
  • +
  • Hirofumi Nakagawa
  • Chanwook
  • Masashi Yoshida
  • Yusuke Ikeda
  • @@ -231,10 +234,12 @@
  • Itsuki Kuroda
  • Alexander Golonzovsky
  • Ryo Uchino
  • +
  • Shingo Ishimura
  • 幸田英隆
  • Hiroyuki Ohnaka
  • -
  • ITO Sho
  • +
  • Ito Sho
  • Yu Asano
  • +
  • Takeshi Hagikura
  • Shigeki Yamato
  • Shinya Yoshida
  • Dimitrios Liapis
  • @@ -257,6 +262,32 @@
  • Shimizu Yasuhiro
  • Satoshi Okano
  • Yasuyuki Fukai
  • +
  • Charles Goddard
  • +
  • Tiarê Balbi Bonamini
  • +
  • Kazumune Katagiri
  • +
  • Masahiro Wakame
  • +
  • Kazutaka Ogaki
  • +
  • Taizo Nakatani
  • +
  • Yoshitaka Kawaji
  • +
  • Akihiro Kitada
  • +
  • Kozaki Tsuneaki
  • +
  • Takehiro Inoue
  • +
  • Shigeki Shoji
  • +
  • Junya Suzuki
  • +
  • Tomoharu Nagasawa
  • +
  • Toby Lee
  • +
  • Yuichiro Mukai
  • +
  • Hiroyuki Yamaoka
  • +
  • Jun Sagawa
  • +
  • Soma Kuwabara
  • +
  • Yui Iwamatsu
  • +
  • Michael Schlechter
  • +
  • Hiroshi Ito
  • +
  • Tae-jun Jin
  • +
  • Dennis Rippinger
  • +
  • Dejan Janosevic
  • +
  • Dbj Shrestha
  • +
  • Hideaki Takahashi
  • Teppei Yamaguchi
  • From b6ee6c138832b4eae4ca4fd58a4d1a67d6ee4431 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 24 Sep 2015 08:47:53 +0200 Subject: [PATCH 133/436] Fixed lost names. Part 2 --- src/site/xhtml/junit-lambda-contributors.xhtml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 151b396367dc..e1efa4e09e56 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -162,7 +162,7 @@
  • Emmanuel Chavane
  • Kini
  • Robert-Jan Regout
  • -
  • Bastian Spannenerg
  • +
  • Bastian Spanneberg
  • Jérémie Bresson
  • Harald Brabenetz
  • Nacho Cougil
  • @@ -288,6 +288,7 @@
  • Dejan Janosevic
  • Dbj Shrestha
  • Hideaki Takahashi
  • +
  • Daigo Ikeda
  • Teppei Yamaguchi
  • From c88cd1f76ceb98f5841e4c09c8dc6fccb0aa8709 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 24 Sep 2015 08:51:54 +0200 Subject: [PATCH 134/436] Fixed lost names. Part 3 --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index e1efa4e09e56..c7938aa4bb0e 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -18,6 +18,7 @@
  • +
    • From 252e19cf05863443bc519186fc7fb237f1d81817 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 28 Sep 2015 19:53:56 +0200 Subject: [PATCH 135/436] Add more names --- src/site/xhtml/junit-lambda-contributors.xhtml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index c7938aa4bb0e..0afe9b88b092 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -118,6 +118,7 @@
    • Fabrice Sznajderman
    • Nikita Makarov
    • Carsten Otto
    • +
    • Markus Decke
    • Henrik Steudel
    • Matt Newell
    • Thomas Michael
    • @@ -291,6 +292,10 @@
    • Hideaki Takahashi
    • Daigo Ikeda
    • Teppei Yamaguchi
    • +
    • Pierre Templier
    • +
    • TDD Base Camp
    • +
    • Hirofumi Nozaki
    • +
    • Takayuki Hayashi
    From 5ae6473db8a9c61ccf4e53a3c529b03699ef816c Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Mon, 28 Sep 2015 00:05:24 +0300 Subject: [PATCH 136/436] License link on junit.org Added prominent link to the project's license. This patch fixes #1162. Signed-off-by: Allon Mureinik --- src/site/xdoc/index.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index d1438836fbab..7b9c87835eba 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -91,6 +91,7 @@
  • JavaDocs
  • Frequently asked questions
  • Wiki
  • +
  • License
  • From 9bad8ce0a56d056ec3b7166351b7405c8be7e834 Mon Sep 17 00:00:00 2001 From: Allon Mureinik Date: Mon, 28 Sep 2015 00:05:24 +0300 Subject: [PATCH 137/436] License link on junit.org Added prominent link to the project's license. This patch fixes #1162. Signed-off-by: Allon Mureinik --- src/site/xdoc/index.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index 0c51bab05592..f26cce83c7f0 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -100,6 +100,7 @@
  • JavaDocs
  • Frequently asked questions
  • Wiki
  • +
  • License
  • From d1c68a97108b5e46a9db3a57c97812e69cb2a8b9 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 28 Sep 2015 20:54:58 +0200 Subject: [PATCH 138/436] Add Eclipse Foundation --- .../junit-lambda/contributors/eclipse.png | Bin 0 -> 13507 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++++ 2 files changed, 4 insertions(+) create mode 100755 src/site/resources/images/junit-lambda/contributors/eclipse.png diff --git a/src/site/resources/images/junit-lambda/contributors/eclipse.png b/src/site/resources/images/junit-lambda/contributors/eclipse.png new file mode 100755 index 0000000000000000000000000000000000000000..47db56d82ac360df9e0d39dc051d218f47f7f852 GIT binary patch literal 13507 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 CdCWHe literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 0afe9b88b092..d4481f7f0adc 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -37,6 +37,10 @@
  • +
  • +
  • +
  • +
    • Hans Sowa
    • From c62e0a34a16449a0321c16fbe91d43ad5302c936 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 29 Sep 2015 20:19:46 +0200 Subject: [PATCH 139/436] Add NovaTec logo --- .../images/junit-lambda/contributors/novatec.png | Bin 0 -> 2697 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/novatec.png diff --git a/src/site/resources/images/junit-lambda/contributors/novatec.png b/src/site/resources/images/junit-lambda/contributors/novatec.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a6ee3b1c18243a9926a3287a6cf0f5e5789839 GIT binary patch literal 2697 zcmb7G={FP%AN7dJC}He-cE*;nRYNloQ3H${U;Ppl z!u;2Gy>%?SP28Qm{g9qcbPz}P$4(+JSL72XV<)6zfJc|pZ8|yt2&N4&^`BaO3-+AX zKgsG0?+N($@X}x%!C!9xKY z>U+~MBX%<8k1N}ToTws)l?_z^UD0Uw$8|EQZY+w`t5&dSVAxAR{!C$P<7Ll|F=?S^ zP4HQ2Q;@6qwSd{Yklw<2-)>}~>Ux~nZjZU!>Q|T5LJiCmQ#pcFCBJxcd8b{wj44Fw zCf|z+ZCh|BB>N{((1N)H$}$WpbVSFlls;G7qoc_z-r;8-SITYa7HgvPo6z$qgCe%; z)Y81P_fUAw>)8)jl*b?F?8j43(3B2b|+(hi)iCg|XE(kjp9i9D7@ooAm<& zD#fJkir|R&SklW)56<7ENT+tKI9m@LGHn1gCPQOdoR-u^G`iw=fPO`B zC(3^5mZlaQy%J99YVZV@I6NKxbSJ#quiKw_-JOSh%P1Z~PMES`9rrQ5Z}KV(4_m{s zeixFtVHsP|3X~eJU3FR90Uqi0;NCJ<*hms4^~+KRXLQEs4LL#R7QU9v}T zHA6U2Ap=&nn7l#@Fhgf%6yVdgmB%mnUZ>%%3!qpx~#n z#o8T^7&kWKtguZVa;SYvzS%35Cq27*g^Wt*8^iHS3iB?Z+yU2B&zG3fkvx+WMtlu6 zw6#Krj;GZCV}+Bs$}M>cS)+?!21^U8a?i3NHj{QmyMm{Ad}WYV8d{Z#+Q!WQIy9M@ zS1ZfD^vaa!yqXWaM>Pcqgl;da(H8mm&P8-I$F8$D4V&C+p8a_G`Eq<}*buB9F4Do} z(EDbC8dt-^+KzX4W^r5c(`(KWm7~-2f`jo8%{pn;Q7|W?8uw?m_OD6Vp{mCM2>(P` zW?yP`9zH!Ix2^ zxK*3~w???#y`((P$or|p26?ip0LxSyQ;8l+9o_I`hL*}YawNrPO(G4RvDa9h9Hji= zPd&a;sRnL|sy<*dN3j^gULzLDSmj0JhyqtE3vLaWp$p^#tf?W{0^=udDl=Q^+!eDn ze}IRsK#FLSsaMT8oVzp=FskdzIrOp7wY66?X0DUoVZR*U$zu~8D6!ILyknEZ0sOa< z*S|NNvd>K;g~}073U|;JGWXya+r6(tVXCjE-amViVeKXPCOIfSM$HZ=nU1?;ZqpYC zwE?mN<_TuKOJg-twcsLO=H>AE$5N}&Ie`kAgZ+ABJk(rAu+nggPhL@j)JiWHUFeJBSfvKkYL)8>3>>mjLUEnhnZB5Tyg|3!?{^nf&49`wsN=F)QA&gBo>E6{q5_^1ff+qG*#rQ=>CW(Jl_T z#)evBX`tl$i61HsRUVz$O>srHh6lZH)LAjLb|bZbgl_~6S7}v5$jRJZtJKN^i;EuV zr&vrn^5^aYsyK6sUdw4o=<*fHH?~1 zzS%`_2VNR}AH^))>9Jk)M?Non>3NUb=hnF(*BXS-X271+cHm8%`Ut(6o#oiVF-LUc zyPK?IZ(~$O(HS`C$AWcgQ7|}rpzYKSgX?xEJ?5wS1qD~HKEWG|d}ix92yM$AK%e?? zWe#pXlJ2~gQmL8$1FguOzj0G$fZclW7_PsK(|WXMX+ha4tNQK!MteUWvoJf{AuDeJ z1rHDxm+NO^7$cN+_^)zpV-Xh0gWq-{SVui%PbP``T}an2e5gYliwdkKLCORU*myfFUt8Xa> z)^t!twq0uuKUsx=f2T340w5-tH1SoS(fTF1|2EDv#m|_P=!#%H-@Kmy(Eny(I{Mm` IQ2Vg|0SopM;{X5v literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index d4481f7f0adc..ca71d4e44b14 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -38,7 +38,7 @@
    • -
    • +
    From 9e91ecc769a17f2a9674896f2aab236aa8ad0715 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 29 Sep 2015 20:20:01 +0200 Subject: [PATCH 140/436] Add Steven Christou --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index ca71d4e44b14..238a06bc58b9 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -300,6 +300,7 @@
  • TDD Base Camp
  • Hirofumi Nozaki
  • Takayuki Hayashi
  • +
  • Steven Christou
  • From e73b2b3bac527775baa7ca7ff3d1fffe97381de5 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 30 Sep 2015 22:15:18 +0200 Subject: [PATCH 141/436] Add synyx --- .../images/junit-lambda/contributors/synyx.jpg | Bin 0 -> 18378 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100755 src/site/resources/images/junit-lambda/contributors/synyx.jpg diff --git a/src/site/resources/images/junit-lambda/contributors/synyx.jpg b/src/site/resources/images/junit-lambda/contributors/synyx.jpg new file mode 100755 index 0000000000000000000000000000000000000000..5143a738fec8ff46031edfcbc742f1291a67efde GIT binary patch literal 18378 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
  • -
  • +
    • From fb69e99301d33a452d06df47c3e9e43efe808c0f Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 30 Sep 2015 22:15:30 +0200 Subject: [PATCH 142/436] Add more names --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 868c0fba49b9..daffc916ace8 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -301,6 +301,8 @@
    • Hirofumi Nozaki
    • Takayuki Hayashi
    • Steven Christou
    • +
    • Kostadin Golev
    • +
    • Ricardo Gladwell
    From 04c3f9955266bbb47542a17c486354b80cfe77e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Ro=C5=BCniecki?= Date: Fri, 2 Oct 2015 13:15:05 +0200 Subject: [PATCH 143/436] Fix typo and formatting in JavaDoc --- src/main/java/org/junit/rules/ExpectedException.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/junit/rules/ExpectedException.java b/src/main/java/org/junit/rules/ExpectedException.java index ea7e0ff97b15..a8c4685d2ba8 100644 --- a/src/main/java/org/junit/rules/ExpectedException.java +++ b/src/main/java/org/junit/rules/ExpectedException.java @@ -20,7 +20,7 @@ * *
     public class SimpleExpectedExceptionTest {
      *     @Rule
    - *     public ExpectedException thrown= ExpectedException.none();
    + *     public ExpectedException thrown = ExpectedException.none();
      *
      *     @Test
      *     public void throwsNothing() {
    @@ -43,7 +43,7 @@
      *
      * 

    * Instead of specifying the exception's type you can characterize the - * expected exception based on other criterias, too: + * expected exception based on other criteria, too: * *

      *
    • The exception's message contains a specific text: {@link #expectMessage(String)}
    • From 928fc1af5927b17173c5f89f7c6b8d7ec0982f94 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sat, 3 Oct 2015 15:26:39 +0200 Subject: [PATCH 144/436] Add Klarna --- .../images/junit-lambda/contributors/klarna.png | Bin 0 -> 6731 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/klarna.png diff --git a/src/site/resources/images/junit-lambda/contributors/klarna.png b/src/site/resources/images/junit-lambda/contributors/klarna.png new file mode 100644 index 0000000000000000000000000000000000000000..9122da6b4c76a3e8014aa3a01e3c11f1c87ec36f GIT binary patch literal 6731 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index daffc916ace8..018d30b0ad92 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -18,7 +18,7 @@
    • -
    • +
    • From 91c9ee567c1daae09eee84e35429598217d0701d Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sat, 3 Oct 2015 15:27:15 +0200 Subject: [PATCH 145/436] Add two small logos --- .../images/junit-lambda/contributors/sonrisa.png | Bin 0 -> 2418 bytes .../images/junit-lambda/contributors/topdesk.png | Bin 0 -> 9517 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 4 ++++ 3 files changed, 4 insertions(+) create mode 100644 src/site/resources/images/junit-lambda/contributors/sonrisa.png create mode 100644 src/site/resources/images/junit-lambda/contributors/topdesk.png diff --git a/src/site/resources/images/junit-lambda/contributors/sonrisa.png b/src/site/resources/images/junit-lambda/contributors/sonrisa.png new file mode 100644 index 0000000000000000000000000000000000000000..350e0df1042d58913bfb96baa5b17475c9b48038 GIT binary patch literal 2418 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 literal 0 HcmV?d00001 diff --git a/src/site/resources/images/junit-lambda/contributors/topdesk.png b/src/site/resources/images/junit-lambda/contributors/topdesk.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1d50c5767f1d117e07310c623d1c91cd4f8097 GIT binary patch literal 9517 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 LNkvXXu0mjfY;2~k literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 018d30b0ad92..6fe1f76a48b1 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -40,6 +40,10 @@
    • +
    • +
    • +
    • +
      From c650a0fa1aaed24a4446e6a284de9c2c84274a96 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Sat, 3 Oct 2015 15:27:24 +0200 Subject: [PATCH 146/436] Add more names --- src/site/xhtml/junit-lambda-contributors.xhtml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 6fe1f76a48b1..fa5099cb595c 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -307,6 +307,16 @@
    • Steven Christou
    • Kostadin Golev
    • Ricardo Gladwell
    • +
    • Thorsten Hoeger
    • +
    • Markus Gärtner
    • +
    • Hiroyuki Aoki
    • +
    • Gary Fleming
    • +
    • Samuel Eickelberg
    • +
    • Marcel Berschneider
    • +
    • Frank Jakop
    • +
    • Dominik Lange
    • +
    • Stefan Matzdorf
    • +
    • Suzanne Hamilton
    From a7dcfb47ba61634acae5467b4e9559497bc43496 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 5 Oct 2015 09:24:38 +0200 Subject: [PATCH 147/436] Add klose brothers --- .../junit-lambda/contributors/klosebrothers.png | Bin 0 -> 12751 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/klosebrothers.png diff --git a/src/site/resources/images/junit-lambda/contributors/klosebrothers.png b/src/site/resources/images/junit-lambda/contributors/klosebrothers.png new file mode 100644 index 0000000000000000000000000000000000000000..6ff579789d33830f1c0145fcef6061ab502a0578 GIT binary patch literal 12751 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 CU)jk3 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index fa5099cb595c..e6125fbacf34 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -36,15 +36,15 @@
  • +
  • -
  • -
  • -
  • +
  • +
    • Hans Sowa
    • From 383f1807be6a9b7e2ede634fe0907f8844169881 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 5 Oct 2015 09:24:55 +0200 Subject: [PATCH 148/436] Add Yamamoto Masaki --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index e6125fbacf34..884fbaebdc3d 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -245,6 +245,7 @@
    • Alexander Golonzovsky
    • Ryo Uchino
    • Shingo Ishimura
    • +
    • Yamamoto Masaki
    • 幸田英隆
    • Hiroyuki Ohnaka
    • Ito Sho
    • From d7e47e370e8db4d2a34dea3b75600a5c24fab942 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Mon, 5 Oct 2015 19:51:20 +0200 Subject: [PATCH 149/436] Just "TOPdesk" as requested --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 884fbaebdc3d..efaaf82c82d8 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -41,7 +41,7 @@
    • -
    • +
    • From 8e05e94956c1820e7a72d55795c5198835afca0e Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 7 Oct 2015 19:32:12 +0200 Subject: [PATCH 150/436] Add siili --- .../images/junit-lambda/contributors/siili.png | Bin 0 -> 4802 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/site/resources/images/junit-lambda/contributors/siili.png diff --git a/src/site/resources/images/junit-lambda/contributors/siili.png b/src/site/resources/images/junit-lambda/contributors/siili.png new file mode 100644 index 0000000000000000000000000000000000000000..a757885fb660d9a444a3c7649af26322136c8382 GIT binary patch literal 4802 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 literal 0 HcmV?d00001 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index efaaf82c82d8..0ccbf0c7b8a8 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -38,12 +38,12 @@
    • +
    • -
      From 24661e0729d2112c03b887eac7131e49334dd671 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 7 Oct 2015 19:32:42 +0200 Subject: [PATCH 151/436] Remove last placeholder --- .../junit-lambda/contributors/placeholder.png | Bin 16238 -> 0 bytes src/site/xhtml/junit-lambda-contributors.xhtml | 1 - 2 files changed, 1 deletion(-) delete mode 100644 src/site/resources/images/junit-lambda/contributors/placeholder.png diff --git a/src/site/resources/images/junit-lambda/contributors/placeholder.png b/src/site/resources/images/junit-lambda/contributors/placeholder.png deleted file mode 100644 index d86681a153f5362121c189643bfc6c187a5ee124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16238 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 diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 0ccbf0c7b8a8..10eaa2dbd1f9 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -44,7 +44,6 @@
    • -
    • Hans Sowa
    • From c55a66413b6f164b694e2409ab97927d89b509f4 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 13 Oct 2015 12:30:51 +0200 Subject: [PATCH 152/436] David Tanzer verlinkt --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 10eaa2dbd1f9..38e0760a5bf7 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -109,7 +109,7 @@
    • Juan Llado
    • Michał Bendowski
    • Samir Talwar
    • -
    • David Tanzer
    • +
    • David Tanzer
    • Siv Midtun Hollup
    • Alexander Schwartz
    • Oliver Paulus
    • From d6279729fcf9d19716723f52c8d2484d451b2fb8 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 19 Oct 2015 20:39:23 +0200 Subject: [PATCH 153/436] Added name to list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 38e0760a5bf7..6dd483e4017f 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -317,6 +317,7 @@
    • Dominik Lange
    • Stefan Matzdorf
    • Suzanne Hamilton
    • +
    • Satoru Kimura
    From 55210021e442d25a319fb389bedc2a0c6ee6fa98 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 19 Oct 2015 20:42:37 +0200 Subject: [PATCH 154/436] Added name to list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 6dd483e4017f..cf6f50d8886a 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -318,6 +318,7 @@
  • Stefan Matzdorf
  • Suzanne Hamilton
  • Satoru Kimura
  • +
  • 今井一幾 (Kazuki IMAI)
  • From d57c44614e0597e8cefeadeda60d32a77f634a23 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Mon, 19 Oct 2015 20:59:09 +0200 Subject: [PATCH 155/436] Removed name in brackets --- src/site/xhtml/junit-lambda-contributors.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index cf6f50d8886a..8463884f2f98 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -318,7 +318,7 @@
  • Stefan Matzdorf
  • Suzanne Hamilton
  • Satoru Kimura
  • -
  • 今井一幾 (Kazuki IMAI)
  • +
  • 今井一幾
  • From 0e242d7005927c9a7285c9ffe017997d5deed018 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Thu, 22 Oct 2015 18:02:00 +0200 Subject: [PATCH 156/436] Added name --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 8463884f2f98..53840fcbf94b 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -319,6 +319,7 @@
  • Suzanne Hamilton
  • Satoru Kimura
  • 今井一幾
  • +
  • Yasuharu Nakano
  • From 4f2ed5d7a7bbe77f6c917c6ccc7de303896d1beb Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 20 Nov 2015 08:21:02 +0100 Subject: [PATCH 157/436] Added name to contributors list --- src/site/xhtml/junit-lambda-contributors.xhtml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/site/xhtml/junit-lambda-contributors.xhtml b/src/site/xhtml/junit-lambda-contributors.xhtml index 53840fcbf94b..fad6d5355dd9 100644 --- a/src/site/xhtml/junit-lambda-contributors.xhtml +++ b/src/site/xhtml/junit-lambda-contributors.xhtml @@ -320,6 +320,7 @@
  • Satoru Kimura
  • 今井一幾
  • Yasuharu Nakano
  • +
  • Takatoshi Kawamura
  • From b581c7635782f53273239842ca2bf61745579c4a Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 20 Nov 2015 09:27:32 +0100 Subject: [PATCH 158/436] Changed JUnit Lambda part of the website to reflect current situation --- src/site/xhtml/junit-lambda-campaign.xhtml | 67 +++++++++++++ src/site/xhtml/junit-lambda.xhtml | 109 +++++++++++---------- 2 files changed, 125 insertions(+), 51 deletions(-) create mode 100644 src/site/xhtml/junit-lambda-campaign.xhtml diff --git a/src/site/xhtml/junit-lambda-campaign.xhtml b/src/site/xhtml/junit-lambda-campaign.xhtml new file mode 100644 index 000000000000..7ce2af343b1e --- /dev/null +++ b/src/site/xhtml/junit-lambda-campaign.xhtml @@ -0,0 +1,67 @@ + + + JUnit Lambda Crowdfunding Campaign + + +

    Crowdfunding JUnit Lambda #fundJUnit

    +
    + +
    +
    +

    The crowdfunding campaign has successfully ended.
    Thank you all!

    +

    + Campaign page on Indiegogo + Campaign Contributors + Follow @junitlambda on Twitter +

    +
    +

    Main Sponsors

    +

    Each of these companies will fund a developer for 6 weeks. They will not receive any money collected through the campaign.

    +
      +
    • +
    • +
    • +
    • +
    +

    Main Campaign Sponsor

    +

    This company will fund JUnit Lambda through the Main Sponsor campaign perk.

    +
      +
    • +
    +

    Campaign Contributors

    +

    Thank you to all other people, companies, and organizations that have contributed already! Please check out our contributors page.

    +
    +

    Why JUnit needs your support

    +

    With 43 million downloads from Maven Central in 2014 JUnit still is the default testing library for Java. Millions of projects rely on it being both stable and allowing to test the latest features of the latest JDK. Moreover, many other testing libraries hook into JUnit as a way to enable IDE and build tool integration. Keeping JUnit in shape is a major task for those maintaining and evolving the library.

    +

    As of today, none of the active JUnit maintainers are payed by their employer to do this work. Not surprisingly many unresolved issues have piled up and, what’s worse, there is no hope to get JUnit to support and make use of all the features in Java 8 any time soon. Since Lambdas are the most prominent of those features, we borrowed their name for the campaign.

    +

    This campaign will allow a team of long-time JUnit committers, backed by a few experienced Java developers, to focus on getting JUnit ready for the years—and JDKs—to come.

    +

    Obstacles for evolving JUnit

    +

    A major design goal of JUnit has always been simplicity. JUnit 4 was released 10 years ago and has served its purpose very well. Since then many things have changed: Java got a couple of new versions and many new testing frameworks and ideas about testing have popped up.

    +

    The basic design of JUnit, however, has remained the same since 2005. Some constructs like Rules were added, but at the same time backwards compatibility has always been and will continue to be the major goal of evolving JUnit. A number of issues have increasingly slowed down its evolution:

    +
      +
    • +

      Runners have found a widespread use and become a crucial concept to extend JUnit. Writing a custom runner is a very powerful way to customize how a test class is instantiated, how its children are collected, how they are run, reported, and so on. However, you can only have a single runner for each test class. For example, combining SpringJUnit4ClassRunner and Parameterized is not possible at the moment. We want to separate the different concerns, for which the runner is currently responsible, into separated interfaces.

      +
    • +
    • +

      The current execution model requires all test cases to be known a-priori. This prevents the dynamic creation of test cases as response to observed behaviour during test execution. This also means that you cannot use Streams (Java 8), e.g. in combination with @Parameters, to create your test data.

      +
    • +
    • +

      All IDEs and build tools include support for JUnit. While that makes it really easy to execute JUnit tests, on the flip side the IDEs and build tools are tightly coupled to JUnit internals. Some IDEs and build tools use internal JUnit classes or even reflection to circumvent the absence of a JUnit API that does what they want. For example, there is no extensible way to link to a test location in case it is not a Java method. Those “tricks” complicate the evolution of JUnit tremendously, and even render some changes virtually impossible. Therefore, we want to closely work with IDE and build tool developers to add features their users need in an extensible way.

      +
    • +
    +

    The Vision

    +

    We’ve identified two main areas to focus on during the upcoming JUnit overhaul:

    +
      +
    • +

      Decouple test execution and reporting from test definition and provisioning: This will greatly simplify further evolution of JUnit and allow users to mix test specifications from different test libraries—like JUnit, Spock, ScalaTest and so on—more easily. Other testing libraries should only depend on the test execution/reporting API of JUnit, not on the test definition API (e.g. Runner).

      +
    • +
    • +

      Rethinking the JUnit’s extensibility story: Runners, Rules, subclassing and other techniques will be revamped into a cohesive set of constructs to enhance JUnit and to allow—if possible—the seamless combination of individual extensions.

      +
    • +
    • +

      Making use of Java 8 features (Lambdas, Streams, Interface default methods) for better assertions, generating test cases, formulating test hierachies, testing asynchronous code and other stuff: We will provide those extensions in additional libraries to keep the JUnit core compatible with older JDKs.

      +
    • +
    +

    All development will happen openly on GitHub in order to foster early feedback and detect problems as soon as possible.

    + + diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 1ed78ed17ebd..8f3e712f5c85 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -3,65 +3,72 @@ JUnit Lambda -

    Crowdfunding JUnit Lambda #fundJUnit

    -
    - -
    +

    JUnit Lambda

    +

    + JUnit Lambda is the working title for the next generation of JUnit. + The goal is to create an up-to-date foundation for developer-side testing on the JVM. + This includes focusing on Java 8 and above, as well as enabling many different + styles of testing. +

    +

    + The initial phases of this work are enabled by a crowdfungin campaign on Indiegogo. +

    +

    Following our Work in Progress

    +

    + You're invited to follow our ongoing work, review it and give feedback. The short list of links will get you started: +

    + +
    +

    The Team

    + +

    + The JUnit Lambda core team consists of five developers. + All of them have extensive experience with Java, JUnit and other testing libraries: +

    +
      +
    • + Marc Philipp (a JUnit 4 core committer) +
    • +
    • + Stefan Bechtold +
    • +
    • + Sam Brannen +
    • +
    • + Johannes Link +
    • +
    • + Matthias Merdes +
    • +
    +

    + Additionally the team is being advised by three more JUnit 4 committers: + David Saff, Kevin Cooney and Stefan Birkner. +


    -

    The crowdfunding campaign has started!

    -

    - Contribute on Indiegogo - Campaign Contributors - Follow @junitlambda on Twitter -

    +

    Campaign Spending

    +

    + As part of our accountability we agreed with to make all campaign spending transparent. + + We are currently collecting and sorting out the initial data in order to present it on this website in the weeks to follow. +


    -

    Main Sponsors

    -

    Each of these companies will fund a developer for 6 weeks. They will not receive any money collected through the campaign.

    +

    Main Sponsors and Campaign Sponsor

    +

    Without sponsoring JUnit Lambda would not exist. We're especially grateful to the companies below:

    • -
    -

    Main Campaign Sponsor

    -

    This company will fund JUnit Lambda through the Main Sponsor campaign perk.

    -
    -

    Campaign Contributors

    -

    Thank you to all other people, companies, and organizations that have contributed already! Please check out our contributors page.

    -
    -

    Why JUnit needs your support

    -

    With 43 million downloads from Maven Central in 2014 JUnit still is the default testing library for Java. Millions of projects rely on it being both stable and allowing to test the latest features of the latest JDK. Moreover, many other testing libraries hook into JUnit as a way to enable IDE and build tool integration. Keeping JUnit in shape is a major task for those maintaining and evolving the library.

    -

    As of today, none of the active JUnit maintainers are payed by their employer to do this work. Not surprisingly many unresolved issues have piled up and, what’s worse, there is no hope to get JUnit to support and make use of all the features in Java 8 any time soon. Since Lambdas are the most prominent of those features, we borrowed their name for the campaign.

    -

    This campaign will allow a team of long-time JUnit committers, backed by a few experienced Java developers, to focus on getting JUnit ready for the years—and JDKs—to come.

    -

    Obstacles for evolving JUnit

    -

    A major design goal of JUnit has always been simplicity. JUnit 4 was released 10 years ago and has served its purpose very well. Since then many things have changed: Java got a couple of new versions and many new testing frameworks and ideas about testing have popped up.

    -

    The basic design of JUnit, however, has remained the same since 2005. Some constructs like Rules were added, but at the same time backwards compatibility has always been and will continue to be the major goal of evolving JUnit. A number of issues have increasingly slowed down its evolution:

    -
      -
    • -

      Runners have found a widespread use and become a crucial concept to extend JUnit. Writing a custom runner is a very powerful way to customize how a test class is instantiated, how its children are collected, how they are run, reported, and so on. However, you can only have a single runner for each test class. For example, combining SpringJUnit4ClassRunner and Parameterized is not possible at the moment. We want to separate the different concerns, for which the runner is currently responsible, into separated interfaces.

      -
    • -
    • -

      The current execution model requires all test cases to be known a-priori. This prevents the dynamic creation of test cases as response to observed behaviour during test execution. This also means that you cannot use Streams (Java 8), e.g. in combination with @Parameters, to create your test data.

      -
    • -
    • -

      All IDEs and build tools include support for JUnit. While that makes it really easy to execute JUnit tests, on the flip side the IDEs and build tools are tightly coupled to JUnit internals. Some IDEs and build tools use internal JUnit classes or even reflection to circumvent the absence of a JUnit API that does what they want. For example, there is no extensible way to link to a test location in case it is not a Java method. Those “tricks” complicate the evolution of JUnit tremendously, and even render some changes virtually impossible. Therefore, we want to closely work with IDE and build tool developers to add features their users need in an extensible way.

      -
    • -
    -

    The Vision

    -

    We’ve identified two main areas to focus on during the upcoming JUnit overhaul:

    -
      -
    • -

      Decouple test execution and reporting from test definition and provisioning: This will greatly simplify further evolution of JUnit and allow users to mix test specifications from different test libraries—like JUnit, Spock, ScalaTest and so on—more easily. Other testing libraries should only depend on the test execution/reporting API of JUnit, not on the test definition API (e.g. Runner).

      -
    • -
    • -

      Rethinking the JUnit’s extensibility story: Runners, Rules, subclassing and other techniques will be revamped into a cohesive set of constructs to enhance JUnit and to allow—if possible—the seamless combination of individual extensions.

      -
    • -
    • -

      Making use of Java 8 features (Lambdas, Streams, Interface default methods) for better assertions, generating test cases, formulating test hierachies, testing asynchronous code and other stuff: We will provide those extensions in additional libraries to keep the JUnit core compatible with older JDKs.

      -
    • -
    -

    All development will happen openly on GitHub in order to foster early feedback and detect problems as soon as possible.

    From c2ba99e9d67bc6d4ad2b31f452be664b23d949d2 Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 20 Nov 2015 09:37:09 +0100 Subject: [PATCH 159/436] Changed JUnit index page --- src/site/site.xml | 5 +++-- src/site/xdoc/index.xml | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/site/site.xml b/src/site/site.xml index 395c813ab5e3..4eeb73f12b6a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -37,8 +37,9 @@
    - - + + + diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index f26cce83c7f0..5616ceafece5 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -19,8 +19,8 @@

    JUnit Lambda

    @@ -52,7 +52,7 @@ @Test public void lookupEmailAddresses() { assertThat(new CartoonCharacterEmailLookupService().getResults("looney"), allOf( - not(empty()), + not(empty()), containsInAnyOrder( allOf(instanceOf(Map.class), hasEntry("id", "56"), hasEntry("email", "roadrunner@fast.org")), allOf(instanceOf(Map.class), hasEntry("id", "76"), hasEntry("email", "wiley@acme.com")) From 06187f3e2740e6e6a207484f1fbd9ede1a2ba4da Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Fri, 20 Nov 2015 14:58:37 +0100 Subject: [PATCH 160/436] typos --- src/site/xhtml/junit-lambda.xhtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 8f3e712f5c85..c4dcb543bee1 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -11,11 +11,11 @@ styles of testing.

    - The initial phases of this work are enabled by a crowdfungin campaign on Indiegogo. + The initial phases of this work are enabled by a crowdfunding campaign on Indiegogo.

    Following our Work in Progress

    - You're invited to follow our ongoing work, review it and give feedback. The short list of links will get you started: + You're invited to follow our ongoing work, review it and give feedback. This short list of links will get you started:

    • @@ -56,7 +56,7 @@

      Campaign Spending

      - As part of our accountability we agreed with to make all campaign spending transparent. + As part of our accountability we agreed to make all campaign spending transparent. We are currently collecting and sorting out the initial data in order to present it on this website in the weeks to follow.

      From ce82fff2f47b42224223562fe6e42e287e9e5b1a Mon Sep 17 00:00:00 2001 From: Johannes Link Date: Tue, 1 Dec 2015 10:32:01 +0100 Subject: [PATCH 161/436] Added campaign spending page --- src/site/site.xml | 1 + src/site/xhtml/junit-lambda-spending.xhtml | 108 +++++++++++++++++++++ src/site/xhtml/junit-lambda.xhtml | 4 +- 3 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 src/site/xhtml/junit-lambda-spending.xhtml diff --git a/src/site/site.xml b/src/site/site.xml index 4eeb73f12b6a..3bb239363d0a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -41,6 +41,7 @@ +
    diff --git a/src/site/xhtml/junit-lambda-spending.xhtml b/src/site/xhtml/junit-lambda-spending.xhtml new file mode 100644 index 000000000000..5532f9778773 --- /dev/null +++ b/src/site/xhtml/junit-lambda-spending.xhtml @@ -0,0 +1,108 @@ + + + JUnit Lambda - Campaign Spending + + +

    JUnit Lambda - Spending

    +

    + Since all the money is going through the books of a company (andrena objects ag), + the exact amount for taxes cannot be calculated. We will fill in details and + exact amounts for other positions as soon as we have them. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + What + + Credit/EUR + + Debit/EUR + + Balance/EUR +
    + Indiegogo Sum + + 53,937.00 + + + + 53,937.00 +
    + Indiegogo Fees (5%) + + + 2,696.85 + + 51,240.15 +
    + Paypal Fees + + + 2,270.06 + + 48,970.09 +
    + German VAT (estimated) + + + 7,666.49 + + 41,303.59 +
    + Kick-off Expenses, Travel and Food (estimated) + + + 2,000.00 + + 39,303.59 +
    + Development October + + + 6,000.00 + + 33,303.59 +
    + + diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index c4dcb543bee1..915067d659fb 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -56,9 +56,7 @@

    Campaign Spending

    - As part of our accountability we agreed to make all campaign spending transparent. - - We are currently collecting and sorting out the initial data in order to present it on this website in the weeks to follow. + As part of our accountability we agreed to make all campaign spending transparent.


    Main Sponsors and Campaign Sponsor

    From e0df1de980436169f9612d61174811edbc3f1a5d Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Tue, 1 Dec 2015 13:50:31 +0100 Subject: [PATCH 162/436] Correct balance --- src/site/xhtml/junit-lambda-spending.xhtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/site/xhtml/junit-lambda-spending.xhtml b/src/site/xhtml/junit-lambda-spending.xhtml index 5532f9778773..5edc23dfb60e 100644 --- a/src/site/xhtml/junit-lambda-spending.xhtml +++ b/src/site/xhtml/junit-lambda-spending.xhtml @@ -74,7 +74,7 @@ 7,666.49 - 41,303.59 + 41,303.60 @@ -87,7 +87,7 @@ 2,000.00 - 39,303.59 + 39,303.60 @@ -100,7 +100,7 @@ 6,000.00 - 33,303.59 + 33,303.60 From e8a73c823e14efe536cebd88e97d5d8084c66871 Mon Sep 17 00:00:00 2001 From: Marc Philipp Date: Wed, 2 Dec 2015 21:34:45 +0100 Subject: [PATCH 163/436] Add avatars and links for team members --- src/site/resources/css/junit-lambda.css | 18 ++++++++++++++++++ src/site/xhtml/junit-lambda.xhtml | 18 ++++++++++++------ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/site/resources/css/junit-lambda.css b/src/site/resources/css/junit-lambda.css index 901e634d1d94..fbcb1feb0242 100644 --- a/src/site/resources/css/junit-lambda.css +++ b/src/site/resources/css/junit-lambda.css @@ -49,3 +49,21 @@ ul.inline { height: 237px; line-height: 237px; } + +ul.people { + margin-left: 7px; + margin-right: 7px; +} +.people li { + display: block; + width: 170px; + margin: 0; + padding: 0 15px 0 0; + float: left; + text-align: center; +} +.people img.avatar { + display: block; + width: 100%; + margin: 0 0 10px 0; +} diff --git a/src/site/xhtml/junit-lambda.xhtml b/src/site/xhtml/junit-lambda.xhtml index 915067d659fb..d3ac47a53bae 100644 --- a/src/site/xhtml/junit-lambda.xhtml +++ b/src/site/xhtml/junit-lambda.xhtml @@ -32,21 +32,27 @@ The JUnit Lambda core team consists of five developers. All of them have extensive experience with Java, JUnit and other testing libraries:

    -
    - - - - - + + + diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index 5616ceafece5..661e28491055 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -16,11 +16,11 @@