Skip to content

Commit 9e474a9

Browse files
committed
Merge pull request #50 from NullStress/master
Adding locale upstream
2 parents c12b7fa + 9318c5c commit 9e474a9

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

Diff for: src/main/groovy/org/scoverage/OverallCheckTask.groovy

+5-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ class OverallCheckTask extends DefaultTask {
4646
/** Set if want to change default from 'reportDir' in scoverage extension. */
4747
File reportDir
4848

49+
/** Overwrite to test for a specific locale. */
50+
Locale locale
51+
4952
protected XmlParser parser
53+
5054
protected DecimalFormat df = new DecimalFormat("#.##")
5155

5256
OverallCheckTask() {
@@ -73,7 +77,7 @@ class OverallCheckTask extends DefaultTask {
7377

7478
try {
7579
Node xml = parser.parse(reportFile)
76-
NumberFormat nf = NumberFormat.getInstance(Locale.getDefault());
80+
NumberFormat nf = NumberFormat.getInstance(locale == null ? Locale.getDefault() : locale);
7781
Double coverageValue = nf.parse(xml.attribute(coverageType.paramName) as String).doubleValue();
7882
Double overallRate = coverageType.normalize(coverageValue)
7983
def difference = (minimumRate - overallRate)

Diff for: src/test/groovy/org/scoverage/AcceptanceTestUtils.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class AcceptanceTestUtils {
4141
File reportFile = new File(reportDir, coverageType.fileName)
4242
def xml = parser.parse(reportFile)
4343
println("reportfile path: ${reportFile.absolutePath}")
44-
NumberFormat nf = NumberFormat.getInstance(Locale.getDefault());
44+
NumberFormat nf = NumberFormat.getInstance();
4545
nf.parse(xml.attribute(coverageType.paramName) as String).doubleValue();
4646
}
4747
}

Diff for: src/test/groovy/org/scoverage/OverallCheckTaskTest.groovy

+7-12
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ import org.junit.Rule
1313
import org.junit.Test
1414
import org.junit.rules.ExpectedException
1515

16+
import javax.swing.text.NumberFormatter
17+
import java.text.NumberFormat
18+
1619
/**
1720
* Copied from the Internet, just to check if we have correct exception thrown.
1821
*/
@@ -41,17 +44,6 @@ class CauseMatcher extends TypeSafeMatcher<Throwable> {
4144
}
4245

4346
class OverallCheckTaskTest {
44-
private static Locale defaultLocale
45-
@BeforeClass
46-
public static void setup() {
47-
defaultLocale = Locale.getDefault()
48-
Locale.setDefault(Locale.US)
49-
}
50-
51-
@AfterClass
52-
public static void tearDown() {
53-
Locale.setDefault(defaultLocale)
54-
}
5547

5648
@Rule
5749
public ExpectedException expectedException = ExpectedException.none()
@@ -60,6 +52,7 @@ class OverallCheckTaskTest {
6052
Project project = ProjectBuilder.builder().build()
6153
project.plugins.apply(ScoveragePlugin)
6254
project.tasks.create('bob', OverallCheckTask) {
55+
locale = Locale.US
6356
minimumRate = coverageRate
6457
reportDir = new File('src/test/resources')
6558
coverageType = type
@@ -74,6 +67,7 @@ class OverallCheckTaskTest {
7467
Project project = ProjectBuilder.builder().build()
7568
project.plugins.apply(ScoveragePlugin)
7669
project.tasks.create('bob', OverallCheckTask) {
70+
locale = Locale.US
7771
minimumRate = 1.0
7872
reportDir = new File('src/test/nothingthere')
7973
coverageType = CoverageType.Line
@@ -114,9 +108,10 @@ class OverallCheckTaskTest {
114108
@Test
115109
void failsWhenStatementRateIsBelowTarget() {
116110
Project project = projectForRate(1, CoverageType.Statement)
111+
NumberFormat nf = NumberFormat.getInstance()
117112
expectedException.expectCause(new CauseMatcher(
118113
GradleException.class,
119-
OverallCheckTask.errorMsg("33.33", "100", CoverageType.Statement)
114+
OverallCheckTask.errorMsg(nf.format(new Double(33.33)), "100", CoverageType.Statement)
120115
))
121116
project.tasks.bob.execute()
122117
}

0 commit comments

Comments
 (0)