From 2200f7dc3a83f2b88ab222e8ece91494c8364b32 Mon Sep 17 00:00:00 2001 From: "N. Taylor Mullen" Date: Thu, 30 Oct 2014 14:33:52 -0700 Subject: [PATCH] Add AssemblyName to TagHelperDescriptor. - TagHelperDescriptor's need a way to showcase where they came from so tooling can reverse look them up. - Update tests to specify TagHelperDescriptor assembly names. #214 --- .../TagHelpers/TagHelperDescriptorFactory.cs | 2 + .../TagHelpers/TagHelperDescriptor.cs | 16 +++++- .../TagHelpers/TagHelperDescriptorComparer.cs | 2 + .../TagHelperDescriptorFactoryTest.cs | 53 ++++++++++++++++--- .../TagHelperDescriptorResolverTest.cs | 7 +++ .../Generator/CSharpTagHelperRenderingTest.cs | 18 ++++--- ...TagHelperAttributeValueCodeRendererTest.cs | 4 +- .../AddOrRemoveTagHelperSpanVisitorTest.cs | 4 +- .../TagHelperDescriptorProviderTest.cs | 18 +++---- .../TagHelperParseTreeRewriterTest.cs | 2 +- 10 files changed, 97 insertions(+), 29 deletions(-) diff --git a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs index b3a0482f87..020479e797 100644 --- a/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs +++ b/src/Microsoft.AspNet.Razor.Runtime/TagHelpers/TagHelperDescriptorFactory.cs @@ -30,10 +30,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var typeName = type.FullName; var attributeDescriptors = GetAttributeDescriptors(type); var contentBehavior = GetContentBehavior(type); + var assemblyName = type.GetTypeInfo().Assembly.GetName().Name; return tagNames.Select(tagName => new TagHelperDescriptor(tagName, typeName, + assemblyName, contentBehavior, attributeDescriptors)); } diff --git a/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptor.cs b/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptor.cs index c3631e16fc..c2d38a04cd 100644 --- a/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptor.cs +++ b/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptor.cs @@ -19,12 +19,18 @@ namespace Microsoft.AspNet.Razor.TagHelpers /// The tag name that the tag helper targets. '*' indicates a catch-all /// which applies to every HTML tag. /// The full name of the tag helper class. + /// The name of the assembly the tag helper was resolved from. /// The /// of the tag helper. public TagHelperDescriptor([NotNull] string tagName, [NotNull] string tagHelperName, + [NotNull] string tagHelperAssemblyName, ContentBehavior contentBehavior) - : this(tagName, tagHelperName, contentBehavior, Enumerable.Empty()) + : this(tagName, + tagHelperName, + tagHelperAssemblyName, + contentBehavior, + Enumerable.Empty()) { } @@ -36,6 +42,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers /// which applies to every HTML tag. /// The code class used to render the tag helper. Corresponds to /// the tag helper's . + /// The name of the assembly the tag helper was resolved from. /// The /// of the tag helper. /// @@ -43,11 +50,13 @@ namespace Microsoft.AspNet.Razor.TagHelpers /// public TagHelperDescriptor([NotNull] string tagName, [NotNull] string tagHelperName, + [NotNull] string tagHelperAssemblyName, ContentBehavior contentBehavior, [NotNull] IEnumerable attributes) { TagName = tagName; TagHelperName = tagHelperName; + AssemblyName = tagHelperAssemblyName; ContentBehavior = contentBehavior; Attributes = new List(attributes); } @@ -62,6 +71,11 @@ namespace Microsoft.AspNet.Razor.TagHelpers /// public string TagHelperName { get; private set; } + /// + /// The name of the assembly the tag helper was resolved from. + /// + public string AssemblyName { get; private set; } + /// /// The of the tag helper. /// diff --git a/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptorComparer.cs b/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptorComparer.cs index f49f41eb10..cbe6aade36 100644 --- a/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptorComparer.cs +++ b/src/Microsoft.AspNet.Razor/TagHelpers/TagHelperDescriptorComparer.cs @@ -35,6 +35,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers { return string.Equals(descriptorX.TagHelperName, descriptorY.TagHelperName, StringComparison.Ordinal) && string.Equals(descriptorX.TagName, descriptorY.TagName, StringComparison.OrdinalIgnoreCase) && + string.Equals(descriptorX.AssemblyName, descriptorY.AssemblyName, StringComparison.Ordinal) && descriptorX.ContentBehavior == descriptorY.ContentBehavior; } @@ -48,6 +49,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers return HashCodeCombiner.Start() .Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase) .Add(descriptor.TagHelperName, StringComparer.Ordinal) + .Add(descriptor.AssemblyName, StringComparer.Ordinal) .Add(descriptor.ContentBehavior) .CombinedHash; } diff --git a/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorFactoryTest.cs b/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorFactoryTest.cs index f07ccb8519..0b0e146d51 100644 --- a/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorFactoryTest.cs +++ b/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorFactoryTest.cs @@ -9,6 +9,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { public class TagHelperDescriptorFactoryTest { + private static readonly string AssemblyName = + typeof(TagHelperDescriptorFactoryTest).GetTypeInfo().Assembly.GetName().Name; + [Fact] public void CreateDescriptor_OverridesAttributeNameFromAttribute() { @@ -21,6 +24,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers new TagHelperDescriptor( "OverriddenAttribute", typeof(OverriddenAttributeTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor("SomethingElse", validProperty1), @@ -47,6 +51,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers new TagHelperDescriptor( "InheritedOverriddenAttribute", typeof(InheritedOverriddenAttributeTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(InheritedOverriddenAttributeTagHelper.ValidAttribute1), @@ -74,6 +79,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers new TagHelperDescriptor( "InheritedNotOverriddenAttribute", typeof(InheritedNotOverriddenAttributeTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor("SomethingElse", validProperty1), @@ -92,7 +98,8 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers public void CreateDescriptor_BuildsDescriptorsFromSimpleTypes() { // Arrange - var expectedDescriptor = new TagHelperDescriptor("Object", "System.Object", ContentBehavior.None); + var assemblyName = typeof(object).GetTypeInfo().Assembly.GetName().Name; + var expectedDescriptor = new TagHelperDescriptor("Object", "System.Object", assemblyName, ContentBehavior.None); // Act var descriptors = TagHelperDescriptorFactory.CreateDescriptors(typeof(object)); @@ -111,6 +118,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "InheritedSingleAttribute", typeof(InheritedSingleAttributeTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(InheritedSingleAttributeTagHelper.IntAttribute), intProperty) @@ -132,6 +140,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "SingleAttribute", typeof(SingleAttributeTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(SingleAttributeTagHelper.IntAttribute), intProperty) @@ -154,6 +163,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "MissingAccessor", typeof(MissingAccessorTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(MissingAccessorTagHelper.ValidAttribute), validProperty) @@ -176,6 +186,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "PrivateAccessor", typeof(PrivateAccessorTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor( @@ -197,6 +208,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "CustomContentBehavior", typeof(CustomContentBehaviorTagHelper).FullName, + AssemblyName, ContentBehavior.Append); // Act @@ -214,6 +226,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "InheritedCustomContentBehavior", typeof(InheritedCustomContentBehaviorTagHelper).FullName, + AssemblyName, ContentBehavior.None); // Act @@ -234,6 +247,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers new TagHelperDescriptor( "div", typeof(MultiTagTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp) @@ -241,6 +255,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers new TagHelperDescriptor( "p", typeof(MultiTagTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp) @@ -262,6 +277,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var expectedDescriptor = new TagHelperDescriptor( "InheritedMultiTag", typeof(InheritedMultiTagTagHelper).FullName, + AssemblyName, ContentBehavior.None, new[] { new TagHelperAttributeDescriptor(nameof(InheritedMultiTagTagHelper.ValidAttribute), validProp) @@ -280,8 +296,16 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { // Arrange var expectedDescriptors = new[] { - new TagHelperDescriptor("p", typeof(DuplicateTagNameTagHelper).FullName, ContentBehavior.None), - new TagHelperDescriptor("div", typeof(DuplicateTagNameTagHelper).FullName, ContentBehavior.None) + new TagHelperDescriptor( + "p", + typeof(DuplicateTagNameTagHelper).FullName, + AssemblyName, + ContentBehavior.None), + new TagHelperDescriptor( + "div", + typeof(DuplicateTagNameTagHelper).FullName, + AssemblyName, + ContentBehavior.None) }; // Act @@ -296,8 +320,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { // Arrange var expectedDescriptors = new[] { - new TagHelperDescriptor("data-condition", - typeof(OverrideNameTagHelper).FullName, + new TagHelperDescriptor("data-condition", + typeof(OverrideNameTagHelper).FullName, + AssemblyName, ContentBehavior.None), }; @@ -313,9 +338,21 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { // Arrange var expectedDescriptors = new[] { - new TagHelperDescriptor("span", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None), - new TagHelperDescriptor("p", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None), - new TagHelperDescriptor("div", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None) + new TagHelperDescriptor( + "span", + typeof(MultipleAttributeTagHelper).FullName, + AssemblyName, + ContentBehavior.None), + new TagHelperDescriptor( + "p", + typeof(MultipleAttributeTagHelper).FullName, + AssemblyName, + ContentBehavior.None), + new TagHelperDescriptor( + "div", + typeof(MultipleAttributeTagHelper).FullName, + AssemblyName, + ContentBehavior.None) }; // Act diff --git a/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorResolverTest.cs b/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorResolverTest.cs index 3930d14085..30e133652b 100644 --- a/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorResolverTest.cs +++ b/test/Microsoft.AspNet.Razor.Runtime.Test/TagHelpers/TagHelperDescriptorResolverTest.cs @@ -12,6 +12,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { public class TagHelperDescriptorResolverTest : TagHelperTypeResolverTest { + private static readonly string AssemblyName = + typeof(TagHelperDescriptorFactoryTest).GetTypeInfo().Assembly.GetName().Name; + [Fact] public void DescriptorResolver_DoesNotReturnInvalidTagHelpersWhenSpecified() { @@ -63,6 +66,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers var tagHelperDescriptorResolver = new TagHelperDescriptorResolver(tagHelperTypeResolver); var expectedDescriptor = new TagHelperDescriptor("Valid_Plain", typeof(Valid_PlainTagHelper).FullName, + AssemblyName, ContentBehavior.None); // Act @@ -86,6 +90,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers })); var expectedDescriptor = new TagHelperDescriptor("Valid_Plain", typeof(Valid_PlainTagHelper).FullName, + AssemblyName, ContentBehavior.None); // Act @@ -110,9 +115,11 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers { new TagHelperDescriptor("Valid_Plain", typeof(Valid_PlainTagHelper).FullName, + AssemblyName, ContentBehavior.None), new TagHelperDescriptor("Valid_Inherited", typeof(Valid_InheritedTagHelper).FullName, + AssemblyName, ContentBehavior.None) }; diff --git a/test/Microsoft.AspNet.Razor.Test/Generator/CSharpTagHelperRenderingTest.cs b/test/Microsoft.AspNet.Razor.Test/Generator/CSharpTagHelperRenderingTest.cs index 68427874c6..7c021180d8 100644 --- a/test/Microsoft.AspNet.Razor.Test/Generator/CSharpTagHelperRenderingTest.cs +++ b/test/Microsoft.AspNet.Razor.Test/Generator/CSharpTagHelperRenderingTest.cs @@ -22,18 +22,21 @@ namespace Microsoft.AspNet.Razor.Test.Generator { new TagHelperDescriptor("p", "PTagHelper", + "SomeAssembly", ContentBehavior.None, new [] { new TagHelperAttributeDescriptor("age", pAgePropertyInfo) }), new TagHelperDescriptor("input", "InputTagHelper", + "SomeAssembly", ContentBehavior.None, new TagHelperAttributeDescriptor[] { new TagHelperAttributeDescriptor("type", inputTypePropertyInfo) }), new TagHelperDescriptor("input", "InputTagHelper2", + "SomeAssembly", ContentBehavior.None, new TagHelperAttributeDescriptor[] { new TagHelperAttributeDescriptor("type", inputTypePropertyInfo), @@ -49,11 +52,11 @@ namespace Microsoft.AspNet.Razor.Test.Generator { return new[] { - new TagHelperDescriptor("modify", "ModifyTagHelper", ContentBehavior.Modify), - new TagHelperDescriptor("none", "NoneTagHelper", ContentBehavior.None), - new TagHelperDescriptor("append", "AppendTagHelper", ContentBehavior.Append), - new TagHelperDescriptor("prepend", "PrependTagHelper", ContentBehavior.Prepend), - new TagHelperDescriptor("replace", "ReplaceTagHelper", ContentBehavior.Replace) + new TagHelperDescriptor("modify", "ModifyTagHelper", "SomeAssembly", ContentBehavior.Modify), + new TagHelperDescriptor("none", "NoneTagHelper", "SomeAssembly", ContentBehavior.None), + new TagHelperDescriptor("append", "AppendTagHelper", "SomeAssembly", ContentBehavior.Append), + new TagHelperDescriptor("prepend", "PrependTagHelper", "SomeAssembly", ContentBehavior.Prepend), + new TagHelperDescriptor("replace", "ReplaceTagHelper", "SomeAssembly", ContentBehavior.Replace) }; } } @@ -214,7 +217,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator RunTagHelperTest("AddTagHelperDirective", designTimeMode: true, tagHelperDescriptors: new[] { - new TagHelperDescriptor("p", "pTagHelper", ContentBehavior.None) + new TagHelperDescriptor("p", "pTagHelper", "SomeAssembly", ContentBehavior.None) }); } @@ -229,12 +232,13 @@ namespace Microsoft.AspNet.Razor.Test.Generator { new TagHelperDescriptor("MyTagHelper", "MyTagHelper", + "SomeAssembly", ContentBehavior.None, new [] { new TagHelperAttributeDescriptor("BoundProperty", propertyInfo) }), - new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", ContentBehavior.Modify) + new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", "SomeAssembly", ContentBehavior.Modify) }; // Act & Assert diff --git a/test/Microsoft.AspNet.Razor.Test/Generator/TagHelperAttributeValueCodeRendererTest.cs b/test/Microsoft.AspNet.Razor.Test/Generator/TagHelperAttributeValueCodeRendererTest.cs index 27359bbcc3..daf328e15f 100644 --- a/test/Microsoft.AspNet.Razor.Test/Generator/TagHelperAttributeValueCodeRendererTest.cs +++ b/test/Microsoft.AspNet.Razor.Test/Generator/TagHelperAttributeValueCodeRendererTest.cs @@ -21,15 +21,17 @@ namespace Microsoft.AspNet.Razor.Test.Generator var checkedPropertyInfo = typeof(TestType).GetProperty("Checked"); var tagHelperDescriptors = new TagHelperDescriptor[] { - new TagHelperDescriptor("p", "PTagHelper", ContentBehavior.None), + new TagHelperDescriptor("p", "PTagHelper", "SomeAssembly", ContentBehavior.None), new TagHelperDescriptor("input", "InputTagHelper", + "SomeAssembly", ContentBehavior.None, new TagHelperAttributeDescriptor[] { new TagHelperAttributeDescriptor("type", inputTypePropertyInfo) }), new TagHelperDescriptor("input", "InputTagHelper2", + "SomeAssembly", ContentBehavior.None, new TagHelperAttributeDescriptor[] { new TagHelperAttributeDescriptor("type", inputTypePropertyInfo), diff --git a/test/Microsoft.AspNet.Razor.Test/TagHelpers/AddOrRemoveTagHelperSpanVisitorTest.cs b/test/Microsoft.AspNet.Razor.Test/TagHelpers/AddOrRemoveTagHelperSpanVisitorTest.cs index 2d6fd620d3..fce4083250 100644 --- a/test/Microsoft.AspNet.Razor.Test/TagHelpers/AddOrRemoveTagHelperSpanVisitorTest.cs +++ b/test/Microsoft.AspNet.Razor.Test/TagHelpers/AddOrRemoveTagHelperSpanVisitorTest.cs @@ -23,7 +23,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers { get { - return new TagHelperDescriptor("p", "PTagHelper", ContentBehavior.None); + return new TagHelperDescriptor("p", "PTagHelper", "SomeAssembly", ContentBehavior.None); } } @@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers { get { - return new TagHelperDescriptor("div", "DivTagHelper", ContentBehavior.None); + return new TagHelperDescriptor("div", "DivTagHelper", "SomeAssembly", ContentBehavior.None); } } diff --git a/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperDescriptorProviderTest.cs b/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperDescriptorProviderTest.cs index d5797c47e1..0ffd256bdc 100644 --- a/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperDescriptorProviderTest.cs +++ b/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperDescriptorProviderTest.cs @@ -13,8 +13,8 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers public void TagHelperDescriptorProvider_GetTagHelpersReturnsNothingForUnregisteredTags() { // Arrange - var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None); - var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None); + var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None); + var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None); var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor }; var provider = new TagHelperDescriptorProvider(descriptors); @@ -29,9 +29,9 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers public void TagHelperDescriptorProvider_GetTagHelpersDoesntReturnNonCatchAllTagsForCatchAll() { // Arrange - var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None); - var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None); - var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", ContentBehavior.None); + var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None); + var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None); + var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly", ContentBehavior.None); var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor }; var provider = new TagHelperDescriptorProvider(descriptors); @@ -47,9 +47,9 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers public void TagHelperDescriptorProvider_GetTagHelpersReturnsCatchAllsWithEveryTagName() { // Arrange - var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None); - var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None); - var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", ContentBehavior.None); + var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None); + var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None); + var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly", ContentBehavior.None); var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor }; var provider = new TagHelperDescriptorProvider(descriptors); @@ -73,7 +73,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers public void TagHelperDescriptorProvider_DuplicateDescriptorsAreNotPartOfTagHelperDescriptorPool() { // Arrange - var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None); + var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None); var descriptors = new TagHelperDescriptor[] { divDescriptor, divDescriptor }; var provider = new TagHelperDescriptorProvider(descriptors); diff --git a/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperParseTreeRewriterTest.cs b/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperParseTreeRewriterTest.cs index 51b2dd10c2..f878ee453c 100644 --- a/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperParseTreeRewriterTest.cs +++ b/test/Microsoft.AspNet.Razor.Test/TagHelpers/TagHelperParseTreeRewriterTest.cs @@ -1175,7 +1175,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers foreach (var tagName in tagNames) { descriptors.Add( - new TagHelperDescriptor(tagName, tagName + "taghelper", ContentBehavior.None)); + new TagHelperDescriptor(tagName, tagName + "taghelper", "SomeAssembly", ContentBehavior.None)); } return new TagHelperDescriptorProvider(descriptors);