@@ -814,5 +814,128 @@ private static List<MetadataReference> GetMetadataReferences()
814814 MetadataReference . CreateFromFile ( Assembly . Load ( new AssemblyName ( "System.Runtime" ) ) . Location )
815815 } ;
816816 }
817+
818+
819+
820+ [ TestMethod ]
821+ public void TestCompileAndRun_IncludeDebuggingForTypedMode_DisabledDebugging ( )
822+ {
823+ string templateText = @"
824+ @inherits RazorEngineCore.RazorEngineTemplateBase<RazorEngineCore.Tests.Models.TestModel>
825+ Hello @Model.Decorator(Model.C)
826+ " ;
827+
828+ RazorEngine razorEngine = new RazorEngine ( ) ;
829+ IRazorEngineCompiledTemplate < RazorEngineTemplateBase < TestModel > > template = razorEngine . Compile < RazorEngineTemplateBase < TestModel > > ( templateText , builder =>
830+ {
831+ builder . IncludeDebuggingInfo ( ) ;
832+ } ) ;
833+
834+ string actual = template . Run ( instance =>
835+ {
836+ instance . Model = new TestModel
837+ {
838+ C = "Alex"
839+ } ;
840+ } ) ;
841+
842+ Assert . AreEqual ( "Hello -=Alex=-" , actual . Trim ( ) ) ;
843+ }
844+
845+ [ TestMethod ]
846+ public void TestCompileAndRun_IncludeDebuggingForTypedAnonymous_DisabledDebugging ( )
847+ {
848+ RazorEngine razorEngine = new RazorEngine ( ) ;
849+ IRazorEngineCompiledTemplate template = razorEngine . Compile ( "<h1>Hello @Model.Name</h1>" , builder =>
850+ {
851+ builder . IncludeDebuggingInfo ( ) ;
852+ } ) ;
853+
854+ string actual = template . Run ( new
855+ {
856+ Name = "Alex"
857+ } ) ;
858+
859+ Assert . AreEqual ( "<h1>Hello Alex</h1>" , actual ) ;
860+ }
861+
862+
863+
864+
865+ [ TestMethod ]
866+ public void TestCompileAndRun_IncludeDebuggingForTypedMode_EnabledDebugging ( )
867+ {
868+ string templateText = @"
869+ @inherits RazorEngineCore.RazorEngineTemplateBase<RazorEngineCore.Tests.Models.TestModel>
870+ Hello @Model.Decorator(Model.C)
871+ " ;
872+
873+ RazorEngine razorEngine = new RazorEngine ( ) ;
874+ IRazorEngineCompiledTemplate < RazorEngineTemplateBase < TestModel > > template = razorEngine . Compile < RazorEngineTemplateBase < TestModel > > ( templateText , builder =>
875+ {
876+ builder . IncludeDebuggingInfo ( ) ;
877+ } ) ;
878+
879+ template . EnableDebugging ( ) ;
880+
881+ string actual = template . Run ( instance =>
882+ {
883+ instance . Model = new TestModel
884+ {
885+ C = "Alex"
886+ } ;
887+ } ) ;
888+
889+ Assert . AreEqual ( "Hello -=Alex=-" , actual . Trim ( ) ) ;
890+ }
891+
892+ [ TestMethod ]
893+ public void TestCompileAndRun_IncludeDebuggingForTypedAnonymous_EnabledDebugging ( )
894+ {
895+ RazorEngine razorEngine = new RazorEngine ( ) ;
896+ IRazorEngineCompiledTemplate template = razorEngine . Compile ( "<h1>Hello @Model.Name</h1>" , builder =>
897+ {
898+ builder . IncludeDebuggingInfo ( ) ;
899+ } ) ;
900+
901+ template . EnableDebugging ( ) ;
902+
903+ string actual = template . Run ( new
904+ {
905+ Name = "Alex"
906+ } ) ;
907+
908+ Assert . AreEqual ( "<h1>Hello Alex</h1>" , actual ) ;
909+ }
910+
911+ [ TestMethod ]
912+ public void TestCompileAndRun_Typed_EnabledDebuggingThrowsException ( )
913+ {
914+ string templateText = @"
915+ @inherits RazorEngineCore.RazorEngineTemplateBase<RazorEngineCore.Tests.Models.TestModel>
916+ Hello @Model.Decorator(Model.C)
917+ " ;
918+
919+ RazorEngine razorEngine = new RazorEngine ( ) ;
920+ IRazorEngineCompiledTemplate < RazorEngineTemplateBase < TestModel > > template = razorEngine . Compile < RazorEngineTemplateBase < TestModel > > ( templateText ) ;
921+
922+ Assert . ThrowsException < RazorEngineException > ( ( ) =>
923+ {
924+ template . EnableDebugging ( ) ;
925+ } ) ;
926+ }
927+
928+ [ TestMethod ]
929+ public void TestCompileAndRun_Anonymous_EnabledDebuggingThrowsException ( )
930+ {
931+ RazorEngine razorEngine = new RazorEngine ( ) ;
932+ IRazorEngineCompiledTemplate template = razorEngine . Compile ( "<h1>Hello @Model.Name</h1>" ) ;
933+
934+ Assert . ThrowsException < RazorEngineException > ( ( ) =>
935+ {
936+ template . EnableDebugging ( ) ;
937+ } ) ;
938+
939+ }
817940 }
818941}
0 commit comments