From ad66a71eebd0b86683cc285e565cd0f07c62f74c Mon Sep 17 00:00:00 2001 From: damianedwards Date: Tue, 3 Feb 2015 11:41:50 -0800 Subject: [PATCH] LinkTagHelper activates ILogger directly from DI: - #1948 --- .../LinkTagHelper.cs | 14 ++++------ .../LinkTagHelperTest.cs | 28 ++++++++----------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs index 3ea3820e5f..b857040dd2 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/LinkTagHelper.cs @@ -57,18 +57,16 @@ namespace Microsoft.AspNet.Mvc.TagHelpers // Protected to ensure subclasses are correctly activated. Internal for ease of use when testing. [Activate] - protected internal ILoggerFactory LoggerFactory { get; set; } - + protected internal ILogger Logger { get; set; } + /// public override void Process(TagHelperContext context, TagHelperOutput output) { - var logger = LoggerFactory.Create(); - - if (!context.AllRequiredAttributesArePresent(RequiredAttributes, logger)) + if (!context.AllRequiredAttributesArePresent(RequiredAttributes, Logger)) { - if (logger.IsEnabled(LogLevel.Verbose)) + if (Logger.IsEnabled(LogLevel.Verbose)) { - logger.WriteVerbose("Skipping processing for {0} {1}", nameof(LinkTagHelper), context.UniqueId); + Logger.WriteVerbose("Skipping processing for {0} {1}", nameof(LinkTagHelper), context.UniqueId); } return; } @@ -101,7 +99,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers JavaScriptUtility.JavaScriptStringEncode(FallbackTestValue), JavaScriptUtility.JavaScriptStringEncode(FallbackHref)); content.Append(""); - + output.Content = content.ToString(); } } diff --git a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs index 2b8c1f1da4..ed3bc509f5 100644 --- a/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs +++ b/test/Microsoft.AspNet.Mvc.TagHelpers.Test/LinkTagHelperTest.cs @@ -26,12 +26,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test { "asp-fallback-test-value", "hidden" }, }); var output = MakeTagHelperOutput("link"); - var loggerFactory = new Mock(); + var logger = new Mock>(); // Act var helper = new LinkTagHelper { - LoggerFactory = loggerFactory.Object, + Logger = logger.Object, FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visible", @@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test Assert.NotNull(output.Content); Assert.True(output.ContentSet); } - + [Fact] public void PreservesOrderOfSourceAttributesWhenRun() { @@ -67,12 +67,12 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test { "data-extra", "something"}, { "href", "test.css"} }); - var loggerFactory = new Mock(); + var logger = new Mock>(); // Act var helper = new LinkTagHelper { - LoggerFactory = loggerFactory.Object, + Logger = logger.Object, FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visible", @@ -83,7 +83,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test // Assert Assert.StartsWith("(); - var loggerFactory = new Mock(); - loggerFactory.Setup(f => f.Create(It.IsAny())).Returns(logger.Object); + var logger = new Mock>(); // Act var helper = new LinkTagHelper { - LoggerFactory = loggerFactory.Object, + Logger = logger.Object, // This is commented out on purpose: FallbackHref = "test.css", FallbackTestClass = "hidden", FallbackTestProperty = "visible", @@ -116,21 +114,19 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test Assert.NotNull(output.TagName); Assert.False(output.ContentSet); } - + [Fact] public void DoesNotRunWhenAllRequiredAttributesAreMissing() { // Arrange var context = MakeTagHelperContext(); var output = MakeTagHelperOutput("link"); - var logger = new Mock(); - var loggerFactory = new Mock(); - loggerFactory.Setup(f => f.Create(It.IsAny())).Returns(logger.Object); + var logger = new Mock>(); // Act var helper = new LinkTagHelper { - LoggerFactory = loggerFactory.Object + Logger = logger.Object }; helper.Process(context, output); @@ -138,7 +134,7 @@ namespace Microsoft.AspNet.Mvc.TagHelpers.Test Assert.NotNull(output.TagName); Assert.False(output.ContentSet); } - + private TagHelperContext MakeTagHelperContext( IDictionary attributes = null, string content = null)