Skip to content

Commit 5e6c40e

Browse files
committed
Added PackageSettings to FrontLoadedReporter
1 parent f26a0d7 commit 5e6c40e

File tree

6 files changed

+74
-9
lines changed

6 files changed

+74
-9
lines changed

.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<classpathentry kind="lib" path="java/jars/hadoop/hadoop-core-0.20.2.jar"/>
5454
<classpathentry kind="lib" path="java/jars/hadoop/hadoop-mapred-test-0.22.0.jar"/>
5555
<classpathentry kind="lib" path="java/jars/gson-2.7.jar"/>
56+
<classpathentry kind="lib" path="java/jars/package-settings-1.0.1.jar"/>
5657
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
5758
<classpathentry kind="output" path="bin"/>
5859
</classpath>
5.98 KB
Binary file not shown.

java/org/approvaltests/ReporterFactory.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.ArrayList;
66
import java.util.HashMap;
77
import java.util.List;
8+
import java.util.Map;
89

910
import org.approvaltests.core.ApprovalFailureReporter;
1011
import org.approvaltests.reporters.DefaultFrontLoadedReporter;
@@ -16,13 +17,16 @@
1617
import org.approvaltests.reporters.MultiReporter;
1718
import org.approvaltests.reporters.QuietReporter;
1819
import org.approvaltests.reporters.UseReporter;
20+
import org.packagesettings.PackageLevelSettings;
21+
import org.packagesettings.Settings;
1922

2023
import com.spun.util.ClassUtils;
2124
import com.spun.util.ObjectUtils;
2225

2326
public class ReporterFactory
2427
{
25-
private static HashMap<String, Class<? extends ApprovalFailureReporter>> reporters = new HashMap<String, Class<? extends ApprovalFailureReporter>>();
28+
public static final String FRONTLOADED_REPORTER = "FrontloadedReporter";
29+
private static HashMap<String, Class<? extends ApprovalFailureReporter>> reporters = new HashMap<String, Class<? extends ApprovalFailureReporter>>();
2630
public static class FileTypes
2731
{
2832
public static final String Text = "txt";
@@ -43,9 +47,21 @@ public static ApprovalFailureReporter get(String string)
4347
returned = tryFor(returned, reporters.get(FileTypes.Default));
4448
return FirstWorkingReporter.combine(getFrontLoadedReporter(), returned);
4549
}
46-
private static EnvironmentAwareReporter getFrontLoadedReporter()
50+
/**
51+
* Loaded from PackageSettings.FrontloadedReporter
52+
*/
53+
public static EnvironmentAwareReporter getFrontLoadedReporter()
4754
{
48-
return DefaultFrontLoadedReporter.INSTANCE;
55+
Map<String, Settings> settings = PackageLevelSettings.get();
56+
Settings value = settings.get(FRONTLOADED_REPORTER);
57+
if (value != null && value.getValue() instanceof EnvironmentAwareReporter)
58+
{
59+
return (EnvironmentAwareReporter) value.getValue();
60+
}
61+
else
62+
{
63+
return DefaultFrontLoadedReporter.INSTANCE;
64+
}
4965
}
5066
public static ApprovalFailureReporter getFromAnnotation()
5167
{
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.approvaltests.packagesettings.tests;
2+
3+
import org.approvaltests.reporters.EnvironmentAwareReporter;
4+
5+
public class PackageSettings
6+
{
7+
public static class CountingReporter implements EnvironmentAwareReporter
8+
{
9+
public int count;
10+
@Override
11+
public void report(String received, String approved) throws Exception
12+
{
13+
// do Nothing
14+
}
15+
@Override
16+
public boolean isWorkingInThisEnvironment(String forFile)
17+
{
18+
count++;
19+
return count == 11;
20+
}
21+
}
22+
public static CountingReporter FrontloadedReporter = new CountingReporter();
23+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.approvaltests.packagesettings.tests;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.approvaltests.Approvals;
6+
import org.junit.Test;
7+
8+
public class PackageSettingsTest
9+
{
10+
@Test
11+
public void testFrontLoadedReporter()
12+
{
13+
PackageSettings.FrontloadedReporter.count = 10;
14+
failApproval();
15+
assertEquals(11, PackageSettings.FrontloadedReporter.count);
16+
}
17+
private void failApproval()
18+
{
19+
try
20+
{
21+
Approvals.verify("foo");
22+
}
23+
catch (Throwable e)
24+
{
25+
// ignore
26+
}
27+
}
28+
}

java/org/lambda/tests/EfficiencyTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ public void testFastLambdas() throws Exception
1313
{
1414
int times = 1000000;
1515
final Integer matching = 18;
16-
System.out.println(getTimeStotistics("org.lamba", times, new F1<Integer, Boolean>(0, matching)
17-
{
18-
{
19-
ret(a == matching);
20-
}
21-
}));
16+
// @formatter:off
17+
System.out.println(getTimeStotistics("org.lamba", times, new F1<Integer, Boolean>(0, matching){{ret(a == matching);}}));
18+
// @formatter:on
2219
System.out.println(getTimeStotistics("Lambda8", times, a -> a == matching));
2320
}
2421
private String getTimeStotistics(String name, int times, Function1<Integer, Boolean> function)

0 commit comments

Comments
 (0)