This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/johnzon.git
The following commit(s) were added to refs/heads/master by this push: new 48a6c5f JOHNZON-362 johnzon maven plugin tests fail on windows (#81) 48a6c5f is described below commit 48a6c5f60ad891b4118edf40ffc2e7eb7789ada9 Author: Raymond Augé <rotty3...@apache.org> AuthorDate: Sun Feb 20 12:30:54 2022 -0500 JOHNZON-362 johnzon maven plugin tests fail on windows (#81) Signed-off-by: Raymond Augé <rotty3...@apache.org> --- .../johnzon/maven/plugin/ExampleToModelMojo.java | 6 ++- .../maven/plugin/ExampleToModelMojoTest.java | 43 ++++++++++++++++++---- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java index af34fbd..03c7ff7 100644 --- a/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java +++ b/johnzon-maven-plugin/src/main/java/org/apache/johnzon/maven/plugin/ExampleToModelMojo.java @@ -18,6 +18,7 @@ */ package org.apache.johnzon.maven.plugin; +import static java.nio.charset.StandardCharsets.UTF_8; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; @@ -32,9 +33,10 @@ import javax.json.JsonReaderFactory; import javax.json.JsonStructure; import javax.json.JsonValue; import java.io.File; +import java.io.FileOutputStream; import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.StringWriter; import java.io.Writer; import java.util.Collection; @@ -342,7 +344,7 @@ public class ExampleToModelMojo extends AbstractMojo { final File outputFile = new File(target, jsonToClass.replace('.', '/') + ".java"); outputFile.getParentFile().mkdirs(); - try (final FileWriter writer = new FileWriter(outputFile)) { + try (final OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(outputFile), UTF_8.name())) { generate(readerFactory, source, writer, javaName); } catch (IOException e) { throw new MojoExecutionException(e.getMessage(), e); diff --git a/johnzon-maven-plugin/src/test/java/org/apache/johnzon/maven/plugin/ExampleToModelMojoTest.java b/johnzon-maven-plugin/src/test/java/org/apache/johnzon/maven/plugin/ExampleToModelMojoTest.java index 5a32199..b04bfd7 100644 --- a/johnzon-maven-plugin/src/test/java/org/apache/johnzon/maven/plugin/ExampleToModelMojoTest.java +++ b/johnzon-maven-plugin/src/test/java/org/apache/johnzon/maven/plugin/ExampleToModelMojoTest.java @@ -18,15 +18,18 @@ */ package org.apache.johnzon.maven.plugin; +import static java.util.stream.Collectors.joining; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.codehaus.plexus.util.IOUtil; import org.junit.Test; +import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; +import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -110,9 +113,21 @@ public class ExampleToModelMojoTest { final File output = new File(targetFolder, "org/test/apache/johnzon/mojo/SomeValue.java"); assertTrue(output.isFile()); - assertEquals( - new String(IOUtil.toByteArray(Thread.currentThread().getContextClassLoader().getResourceAsStream("SomeValue.java"))), - new String(IOUtil.toByteArray(new FileReader(output))).replace(File.separatorChar, '/')); + + try ( + BufferedReader expectedBR = new BufferedReader( + new InputStreamReader( + Thread.currentThread().getContextClassLoader().getResourceAsStream("SomeValue.java"), + StandardCharsets.UTF_8)); + BufferedReader resultBR = new BufferedReader( + new InputStreamReader( + new FileInputStream(output), StandardCharsets.UTF_8))) { + + String expected = expectedBR.lines().collect(joining("\n")).trim(); + String result = resultBR.lines().collect(joining("\n")).trim(); + + assertEquals(expected, result); + } } @Test @@ -195,8 +210,20 @@ public class ExampleToModelMojoTest { final File output = new File(targetFolder, "org/test/apache/johnzon/mojo/SomeValue.java"); assertTrue(output.isFile()); - assertEquals( - new String(IOUtil.toByteArray(Thread.currentThread().getContextClassLoader().getResourceAsStream("SomeValue.record.java"))), - new String(IOUtil.toByteArray(new FileReader(output))).replace(File.separatorChar, '/')); + + try ( + BufferedReader expectedBR = new BufferedReader( + new InputStreamReader( + Thread.currentThread().getContextClassLoader().getResourceAsStream("SomeValue.record.java"), + StandardCharsets.UTF_8)); + BufferedReader resultBR = new BufferedReader( + new InputStreamReader( + new FileInputStream(output), StandardCharsets.UTF_8))) { + + String expected = expectedBR.lines().collect(joining("\n")).trim(); + String result = resultBR.lines().collect(joining("\n")).trim(); + + assertEquals(expected, result); + } } }