public void SerializeMappingEntry_WithOriginalFileNameNoOriginalName_FourSegments() { // Arrange var sourceMapGenerator = new SourceMapGenerator(); var state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.IsFirstSegment = false; var entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition(0, 10), OriginalFileName = state.Sources[0], OriginalSourcePosition = new SourcePosition(0, 5), }; // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.AreEqual(",UAAK", result.ToString()); }
public void SerializeMappingEntry_NoOriginalFileName_OneSegment() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); MappingEntry entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 0, ZeroBasedColumnNumber = 10 }, OriginalSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 0, ZeroBasedColumnNumber = 1 }, }; // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.Equal("U", result.ToString()); }
public void SerializeMappingEntry_DifferentLineNumber_SemicolonAdded() { // Arrange var sourceMapGenerator = new SourceMapGenerator(); var state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.LastGeneratedPosition.ZeroBasedColumnNumber = 1; var entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition(1, 0), OriginalFileName = state.Sources[0], OriginalName = state.Names[0], OriginalSourcePosition = new SourcePosition(1, 0), }; // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.IsTrue(result.ToString().IndexOf(';') >= 0); }
public void SerializeMappingEntry_NoOriginalFileName_OneSegment() { // Arrange var sourceMapGenerator = new SourceMapGenerator(); var state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); var entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition(0, 10), OriginalSourcePosition = new SourcePosition(0, 1), }; // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.AreEqual("U", result.ToString()); }
public void SerializeMappingEntry_WithOriginalFileNameAndOriginalName_FiveSegments() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.AdvanceLastGeneratedPositionLine(); MappingEntry entry = new MappingEntry( generatedSourcePosition: new SourcePosition(zeroBasedLineNumber: 1, zeroBasedColumnNumber: 5), originalSourcePosition: new SourcePosition(zeroBasedLineNumber: 1, zeroBasedColumnNumber: 6), originalName: state.Names[0], originalFileName: state.Sources[0]); // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.Equal("KACMA", result.ToString()); }
public void SerializeMappingEntry_WithOriginalFileNameAndOriginalName_FiveSegments() { // Arrange var sourceMapGenerator = new SourceMapGenerator(); var state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.LastGeneratedPosition.ZeroBasedLineNumber = 1; var entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition(1, 5), OriginalSourcePosition = new SourcePosition(1, 6), OriginalFileName = state.Sources[0], OriginalName = state.Names[0], }; // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.AreEqual("KACMA", result.ToString()); }
public void SerializeMappingEntry_WithOriginalFileNameNoOriginalName_FourSegments() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.IsFirstSegment = false; MappingEntry entry = new MappingEntry( generatedSourcePosition: new SourcePosition(zeroBasedLineNumber: 0, zeroBasedColumnNumber: 10), originalSourcePosition: new SourcePosition(zeroBasedLineNumber: 0, zeroBasedColumnNumber: 5), originalFileName: state.Sources[0]); // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.Equal(",UAAK", result.ToString()); }
public void SerializeMappingEntry_DifferentLineNumber_SemicolonAdded() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.UpdateLastGeneratedPositionColumn(zeroBasedColumnNumber: 1); MappingEntry entry = new MappingEntry( generatedSourcePosition: new SourcePosition(zeroBasedLineNumber: 1, zeroBasedColumnNumber: 0), originalSourcePosition: new SourcePosition(zeroBasedLineNumber: 1, zeroBasedColumnNumber: 0), originalName: state.Names[0], originalFileName: state.Sources[0]); // Act var result = new StringBuilder(); sourceMapGenerator.SerializeMappingEntry(entry, state, result); // Assert Assert.True(result.ToString().IndexOf(';') >= 0); }
public void SerializeMappingEntry_NoOriginalFileName_OneSegment() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); MappingEntry entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 0, ZeroBasedColumnNumber = 10 }, OriginalSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 0, ZeroBasedColumnNumber = 1 }, }; // Act List <char> output = new List <char>(); sourceMapGenerator.SerializeMappingEntry(entry, state, output); // Assert Assert.AreEqual("U", new string(output.ToArray())); }
public void SerializeMappingIntoBast64_NullInput_ThrowsException() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = null; // Act Assert.Throws <ArgumentNullException>(() => sourceMapGenerator.GenerateSourceMapInlineComment(input)); }
public void SerializeMappingIntoBast64_NullInput_ThrowsException() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = null; // Act string output = sourceMapGenerator.GenerateSourceMapInlineComment(input); }
public void SerializeMapping_NullInput_ThrowsException() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = null; // Act string output = sourceMapGenerator.SerializeMapping(input); }
public void SerializeMapping_NullInput_ThrowsException() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = null; // Act Assert.Throws <ArgumentNullException>(() => sourceMapGenerator.SerializeMapping(input)); }
string ProcessWithSourceMaps(IEnumerable <AssetContent> assets) { var results = assets.Select(a => new { asset = a, result = this.reactEnvironment.ExecuteWithBabel <JavaScriptWithSourceMap>("ReactNET_transform_sourcemap", a.Contents, babelConfig, a.Path) }).ToArray(); var offset = 0; var map = new SourcemapToolkit.SourcemapParser.SourceMap(); var sourceMapParser = new SourceMapParser(); var outputBuilder = new StringBuilder(); foreach (var result in results) { var json = result.result.SourceMap.ToJson(); using (var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(json))) { using (var streamReader = new StreamReader(memoryStream)) { var sourceMap = sourceMapParser.ParseSourceMap(streamReader); foreach (var name in sourceMap.Names) { map.Names.Add(name); } map.Sources.Add(result.asset.Path.ToLower()); foreach (var mappingEntry in sourceMap.ParsedMappings) { if (mappingEntry.OriginalSourcePosition == null) { continue; } map.ParsedMappings.Add(mappingEntry); mappingEntry.OriginalFileName = result.asset.Path.ToLower(); mappingEntry.GeneratedSourcePosition.ZeroBasedLineNumber += offset; } offset += result.result.Code.Split('\n').Length; } } outputBuilder.AppendLine(result.result.Code); } var sourceMapGenerator = new SourceMapGenerator(); var generateSourceMapInlineComment = sourceMapGenerator.GenerateSourceMapInlineComment(map); outputBuilder.AppendLine(generateSourceMapInlineComment); return(outputBuilder.ToString()); }
public void SerializeMappingBase64_SimpleSourceMap_CorrectlySerialized() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = this.GetSimpleSourceMap(); // Act string output = sourceMapGenerator.GenerateSourceMapInlineComment(input); // Assert Assert.AreEqual("//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbW9uSW50bCIsIm1hcHBpbmdzIjoiQUFDQUEsYUFBQSxDQUFjOyIsInNvdXJjZXMiOlsiaW5wdXQvQ29tbW9uSW50bC5qcyJdLCJuYW1lcyI6WyJDb21tb25TdHJpbmdzIiwiYWZyaWthYW5zIl19", output); }
public void SerializeMapping_SimpleSourceMap_CorrectlySerialized() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); SourceMap input = this.GetSimpleSourceMap(); // Act string output = sourceMapGenerator.SerializeMapping(input); // Assert Assert.AreEqual("{\"version\":3,\"file\":\"CommonIntl\",\"mappings\":\"AACAA,aAAA,CAAc;\",\"sources\":[\"input/CommonIntl.js\"],\"names\":[\"CommonStrings\",\"afrikaans\"]}", output); }
public void SimpleGeneratorTest() { var generator = new SourceMapGenerator(); var stdin = "<stdin>"; generator.AddMapping(new Mapping(stdin, new FilePosition(0, 0), new FilePosition(0, 0))); generator.AddMapping(new Mapping(stdin, new FilePosition(0, 1), new FilePosition(1, 0))); generator.AddMapping(new Mapping(stdin, new FilePosition(0, 2), new FilePosition(1, 3))); generator.AddMapping(new Mapping(stdin, new FilePosition(0, 3), new FilePosition(2, 0))); var map = generator.Generate(); Assert.StartsWith("AAAA;AAAC,GAAC;AAAC", map.mappings); }
public void DecodeEncodeTest() { var consumer = new SourceMapConsumer(); consumer.Parse(SimpleSourceMapObject); var generator = new SourceMapGenerator(); foreach (var m in consumer.Mappings) { generator.AddMapping(m); } var map = generator.Generate(); Assert.Contains("AAAA;AAAC,GAAC;AAAC,GAAC;AAAC,GAAC;AAAC,MAAG,IAAI,EAAC;OAAG;AAAC,SAAK;QAAG,KAAK,EAAC;SAAG;AAAC,WAAK;SAAG;AAAC;;CAAC", map.mappings); }
public void SerializeMappingEntry_DifferentLineNumber_SemicolonAdded() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.LastGeneratedPosition.ZeroBasedColumnNumber = 1; MappingEntry entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 1, ZeroBasedColumnNumber = 0 }, OriginalFileName = state.Sources[0], OriginalName = state.Names[0], OriginalSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 1, ZeroBasedColumnNumber = 0 }, }; // Act List <char> output = new List <char>(); sourceMapGenerator.SerializeMappingEntry(entry, state, output); // Assert Assert.IsTrue(output.IndexOf(';') >= 0); }
public void SerializeMappingEntry_WithOriginalFileNameAndOriginalName_FiveSegments() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.LastGeneratedPosition.ZeroBasedLineNumber = 1; MappingEntry entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 1, ZeroBasedColumnNumber = 5 }, OriginalSourcePosition = new SourcePosition() { ZeroBasedLineNumber = 1, ZeroBasedColumnNumber = 6 }, OriginalFileName = state.Sources[0], OriginalName = state.Names[0], }; // Act List <char> output = new List <char>(); sourceMapGenerator.SerializeMappingEntry(entry, state, output); // Assert Assert.AreEqual("KACMA", new string(output.ToArray())); }
public void SerializeMappingEntry_WithOriginalFileNameNoOriginalName_FourSegments() { // Arrange SourceMapGenerator sourceMapGenerator = new SourceMapGenerator(); MappingGenerateState state = new MappingGenerateState(new List <string>() { "Name" }, new List <string>() { "Source" }); state.IsFirstSegment = false; MappingEntry entry = new MappingEntry() { GeneratedSourcePosition = new SourcePosition() { ZeroBasedColumnNumber = 10 }, OriginalFileName = state.Sources[0], OriginalSourcePosition = new SourcePosition() { ZeroBasedColumnNumber = 5 }, }; // Act List <char> output = new List <char>(); sourceMapGenerator.SerializeMappingEntry(entry, state, output); // Assert Assert.AreEqual(",UAAK", new string(output.ToArray())); }