diff options
Diffstat (limited to 'Test/Mono.Cecil.Tests')
-rw-r--r-- | Test/Mono.Cecil.Tests/PortablePdbTests.cs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Test/Mono.Cecil.Tests/PortablePdbTests.cs b/Test/Mono.Cecil.Tests/PortablePdbTests.cs index fe60dc8..45b0333 100644 --- a/Test/Mono.Cecil.Tests/PortablePdbTests.cs +++ b/Test/Mono.Cecil.Tests/PortablePdbTests.cs @@ -748,5 +748,27 @@ class Program Assert.AreNotEqual (mvid1_in, mvid2_in); Assert.AreNotEqual (mvid1_out, mvid2_out); } + + [Test] + public void LoadPdbOnDemand () + { + var assembly = File.ReadAllBytes (GetAssemblyResourcePath ("Microsoft.AspNetCore.Components.dll")); + var pdb = File.ReadAllBytes (GetAssemblyResourcePath ("Microsoft.AspNetCore.Components.pdb")); + + var module = ModuleDefinition.ReadModule (new MemoryStream (assembly), new ReaderParameters (ReadingMode.Immediate)); + + var type = module.GetType ("Microsoft.AspNetCore.Components.Rendering.ComponentState"); + var main = type.GetMethod ("RenderIntoBatch"); + var debug_info = main.DebugInformation; + + var pdbReaderProvider = new PdbReaderProvider (); + var symbolReader = pdbReaderProvider.GetSymbolReader (module, new MemoryStream (pdb)); + module.ReadSymbols (symbolReader); + type = module.GetType ("Microsoft.AspNetCore.Components.Rendering.ComponentState"); + main = type.GetMethod ("RenderIntoBatch"); + debug_info = main.DebugInformation; + Assert.AreEqual (9, debug_info.SequencePoints.Count); + } + } } |