diff --git a/src/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriter.java b/src/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriter.java index 2f6c1db..e69193f 100644 --- a/src/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriter.java +++ b/src/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriter.java @@ -77,7 +77,9 @@ public class SourceMapWriter { // sourceRoot if( sourceRoot != null && !sourceRoot.isEmpty() ) { - appendJsonField( out, "sourceRoot", sourceRoot ); + out.append( ",\n" ); + appendJsonField( out, "sourceRoot", "" ); + appendQuoteString( out, sourceRoot ); } // the source file names diff --git a/test/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriterTest.java b/test/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriterTest.java index aa2765e..15d6a13 100644 --- a/test/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriterTest.java +++ b/test/de/inetsoftware/jwebassembly/sourcemap/SourceMapWriterTest.java @@ -27,4 +27,25 @@ public class SourceMapWriterTest { "}"; assertEquals( expected, generate.toString() ); } + + @Test + public void sourceRootNotNull() throws IOException { + SourceMapWriter map = new SourceMapWriter( "../../src/main/java/" ); + + map.addMapping( new SourceMapping( 0, 1, "Test1.java" ) ); + map.addMapping( new SourceMapping( 5, 2, "Test1.java" ) ); + map.addMapping( new SourceMapping( 0, 4, "Test2.java" ) ); + map.addMapping( new SourceMapping( 5, 9, "Test2.java" ) ); + + StringBuilder generate = new StringBuilder(); + map.generate( generate ); + String expected = "{\n" + + "\"version\":3,\n" + + "\"sourceRoot\":\"../../src/main/java/\",\n" + + "\"sources\":[\"Test1.java\",\"Test2.java\"],\n" + + "\"names\":[],\n" + + "\"mappings\":\"AAAA,KACA,LCEA,KAKA;\"\n" + + "}"; + assertEquals( expected, generate.toString() ); + } }