public void SourceLink(DebugInformationFormat format) { string source = @" using System; class C { public static void Main() { Console.WriteLine(); } } "; var sourceLinkBlob = Encoding.UTF8.GetBytes(@" { ""documents"": { ""f:/build/*"" : ""https://raw.githubusercontent.com/my-org/my-project/1111111111111111111111111111111111111111/*"" } } "); var c = CreateCompilation(Parse(source, "f:/build/goo.cs"), options: TestOptions.DebugDll); var pdbStream = new MemoryStream(); c.EmitToArray(EmitOptions.Default.WithDebugInformationFormat(format), pdbStream: pdbStream, sourceLinkStream: new MemoryStream(sourceLinkBlob)); var actualData = PdbValidation.GetSourceLinkData(pdbStream); AssertEx.Equal(sourceLinkBlob, actualData); }
public void SourceLink_Empty(DebugInformationFormat format) { string source = @" using System; class C { public static void Main() { Console.WriteLine(); } } "; var sourceLinkBlob = new byte[0]; var c = CreateCompilation(Parse(source, "f:/build/goo.cs"), options: TestOptions.DebugDll); var pdbStream = new MemoryStream(); c.EmitToArray(EmitOptions.Default.WithDebugInformationFormat(format), pdbStream: pdbStream, sourceLinkStream: new MemoryStream(sourceLinkBlob)); pdbStream.Position = 0; var bs = Roslyn.Utilities.StreamExtensions.ReadAllBytes(pdbStream); var actualData = PdbValidation.GetSourceLinkData(pdbStream); AssertEx.Equal(sourceLinkBlob, actualData); }