public void InjectDirectiveTargetExtension_WritesPropertyWithLinePragma_WhenSourceIsSet() { // Arrange var context = TestCodeRenderingContext.CreateRuntime(); var target = new InjectTargetExtension(); var node = new InjectIntermediateNode() { TypeName = "PropertyType<ModelType>", MemberName = "PropertyName", Source = new SourceSpan( filePath: "test-path", absoluteIndex: 0, lineIndex: 1, characterIndex: 1, length: 10) }; // Act target.WriteInjectProperty(context, node); // Assert Assert.Equal(Environment.NewLine + "#nullable restore" + Environment.NewLine + "#line 2 \"test-path\"" + Environment.NewLine + "[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]" + Environment.NewLine + "public PropertyType<ModelType> PropertyName { get; private set; }" + Environment.NewLine + Environment.NewLine + "#line default" + Environment.NewLine + "#line hidden" + Environment.NewLine + "#nullable disable" + Environment.NewLine, context.CodeWriter.GenerateCode()); }
public void InjectDirectiveTargetExtension_WritesProperty() { // Arrange var context = TestCodeRenderingContext.CreateRuntime(); var target = new InjectTargetExtension(); var node = new InjectIntermediateNode() { TypeName = "PropertyType", MemberName = "PropertyName", }; // Act target.WriteInjectProperty(context, node); // Assert Assert.Equal( "[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]" + Environment.NewLine + "public PropertyType PropertyName { get; private set; }" + Environment.NewLine, context.CodeWriter.GenerateCode()); }