From 12e4307f3a68c7c0e873c7429312705d02331ec1 Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Wed, 13 May 2015 12:24:11 -0700 Subject: [PATCH] Add tests to account for aspnet/Razor#220. - Added unit and functional test. --- .../TagHelpersWebSite.Home.Index.html | 2 +- .../RazorPageTest.cs | 85 ++++++++++++++++++- .../TagHelpers/BoldTagHelper.cs | 26 ++++++ .../TagHelpersWebSite/Views/Home/Index.cshtml | 4 +- 4 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 test/WebSites/TagHelpersWebSite/TagHelpers/BoldTagHelper.cs diff --git a/test/Microsoft.AspNet.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Home.Index.html b/test/Microsoft.AspNet.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Home.Index.html index bf3bb5485f..fa6c2c7e46 100644 --- a/test/Microsoft.AspNet.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Home.Index.html +++ b/test/Microsoft.AspNet.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Home.Index.html @@ -35,7 +35,7 @@

Current Tag Cloud from Tag Helper

["Lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit","sed","do","eiusmod","tempor","incididunt","ut","labore","et","dolore","magna","aliquaUt","enim"]

Current Tag Cloud from ViewComponentHelper:

-
["Lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit","sed","do","eiusmod","tempor","incididunt","ut","labore"]
+
["Lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit","sed","do","eiusmod","tempor","incididunt","ut","labore"]
diff --git a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs index a61625ddaa..5c9aaa6ab7 100644 --- a/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs +++ b/test/Microsoft.AspNet.Mvc.Razor.Test/RazorPageTest.cs @@ -272,7 +272,7 @@ namespace Microsoft.AspNet.Mvc.Razor public void IsSectionDefined_ThrowsIfPreviousSectionWritersIsNotRegistered() { // Arrange - var page = CreatePage(v => + var page = CreatePage(v => { v.Path = "/Views/TestPath/Test.cshtml"; }); @@ -804,6 +804,89 @@ namespace Microsoft.AspNet.Mvc.Razor postElement: null), "

Hello World!

" }, + { + GetTagHelperOutput( + tagName: "p", + attributes: new TagHelperAttributeList() + { + ["test"] = new TagHelperAttribute + { + Name = "test", + Minimized = true + }, + }, + selfClosing: false, + preElement: null, + preContent: null, + content: "Hello World!", + postContent: null, + postElement: null), + "

Hello World!

" + }, + { + GetTagHelperOutput( + tagName: "p", + attributes: new TagHelperAttributeList() + { + ["test"] = new TagHelperAttribute + { + Name = "test", + Minimized = true + }, + ["test2"] = new TagHelperAttribute + { + Name = "test2", + Minimized = true + }, + }, + selfClosing: false, + preElement: null, + preContent: null, + content: "Hello World!", + postContent: null, + postElement: null), + "

Hello World!

" + }, + { + GetTagHelperOutput( + tagName: "p", + attributes: new TagHelperAttributeList() + { + ["first"] = "unminimized", + ["test"] = new TagHelperAttribute + { + Name = "test", + Minimized = true + }, + }, + selfClosing: false, + preElement: null, + preContent: null, + content: "Hello World!", + postContent: null, + postElement: null), + "

Hello World!

" + }, + { + GetTagHelperOutput( + tagName: "p", + attributes: new TagHelperAttributeList() + { + ["test"] = new TagHelperAttribute + { + Name = "test", + Minimized = true + }, + ["last"] = "unminimized", + }, + selfClosing: false, + preElement: null, + preContent: null, + content: "Hello World!", + postContent: null, + postElement: null), + "

Hello World!

" + }, { GetTagHelperOutput( tagName: "p", diff --git a/test/WebSites/TagHelpersWebSite/TagHelpers/BoldTagHelper.cs b/test/WebSites/TagHelpersWebSite/TagHelpers/BoldTagHelper.cs new file mode 100644 index 0000000000..3849165477 --- /dev/null +++ b/test/WebSites/TagHelpersWebSite/TagHelpers/BoldTagHelper.cs @@ -0,0 +1,26 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.AspNet.Razor.Runtime.TagHelpers; + +namespace TagHelpersWebSite.TagHelpers +{ + [TargetElement(Attributes = "bold")] + public class BoldTagHelper : TagHelper + { + public override int Order + { + get + { + return int.MinValue; + } + } + + public override void Process(TagHelperContext context, TagHelperOutput output) + { + output.Attributes.RemoveAll("bold"); + output.PreContent.SetContent(""); + output.PostContent.SetContent(""); + } + } +} diff --git a/test/WebSites/TagHelpersWebSite/Views/Home/Index.cshtml b/test/WebSites/TagHelpersWebSite/Views/Home/Index.cshtml index 79fec8959f..6a26f0289c 100644 --- a/test/WebSites/TagHelpersWebSite/Views/Home/Index.cshtml +++ b/test/WebSites/TagHelpersWebSite/Views/Home/Index.cshtml @@ -24,9 +24,9 @@

Current Tag Cloud from Tag Helper

Current Tag Cloud from ViewComponentHelper:

-
@await Component.InvokeAsync("Tags", 15)
+
@await Component.InvokeAsync("Tags", 15)
@section footerContent { -

© @Model.CopyrightYear - My ASP.NET Application

+

© @Model.CopyrightYear - My ASP.NET Application

} \ No newline at end of file