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
This commit is contained in:
parent
8d4bdbdb84
commit
2200f7dc3a
|
|
@ -30,10 +30,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var typeName = type.FullName;
|
var typeName = type.FullName;
|
||||||
var attributeDescriptors = GetAttributeDescriptors(type);
|
var attributeDescriptors = GetAttributeDescriptors(type);
|
||||||
var contentBehavior = GetContentBehavior(type);
|
var contentBehavior = GetContentBehavior(type);
|
||||||
|
var assemblyName = type.GetTypeInfo().Assembly.GetName().Name;
|
||||||
|
|
||||||
return tagNames.Select(tagName =>
|
return tagNames.Select(tagName =>
|
||||||
new TagHelperDescriptor(tagName,
|
new TagHelperDescriptor(tagName,
|
||||||
typeName,
|
typeName,
|
||||||
|
assemblyName,
|
||||||
contentBehavior,
|
contentBehavior,
|
||||||
attributeDescriptors));
|
attributeDescriptors));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,18 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
/// <param name="tagName">The tag name that the tag helper targets. '*' indicates a catch-all
|
/// <param name="tagName">The tag name that the tag helper targets. '*' indicates a catch-all
|
||||||
/// <see cref="TagHelperDescriptor"/> which applies to every HTML tag.</param>
|
/// <see cref="TagHelperDescriptor"/> which applies to every HTML tag.</param>
|
||||||
/// <param name="tagHelperName">The full name of the tag helper class.</param>
|
/// <param name="tagHelperName">The full name of the tag helper class.</param>
|
||||||
|
/// <param name="tagHelperAssemblyName">The name of the assembly the tag helper was resolved from.</param>
|
||||||
/// <param name="contentBehavior">The <see cref="TagHelpers.ContentBehavior"/>
|
/// <param name="contentBehavior">The <see cref="TagHelpers.ContentBehavior"/>
|
||||||
/// of the tag helper.</param>
|
/// of the tag helper.</param>
|
||||||
public TagHelperDescriptor([NotNull] string tagName,
|
public TagHelperDescriptor([NotNull] string tagName,
|
||||||
[NotNull] string tagHelperName,
|
[NotNull] string tagHelperName,
|
||||||
|
[NotNull] string tagHelperAssemblyName,
|
||||||
ContentBehavior contentBehavior)
|
ContentBehavior contentBehavior)
|
||||||
: this(tagName, tagHelperName, contentBehavior, Enumerable.Empty<TagHelperAttributeDescriptor>())
|
: this(tagName,
|
||||||
|
tagHelperName,
|
||||||
|
tagHelperAssemblyName,
|
||||||
|
contentBehavior,
|
||||||
|
Enumerable.Empty<TagHelperAttributeDescriptor>())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,6 +42,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
/// <see cref="TagHelperDescriptor"/> which applies to every HTML tag.</param>
|
/// <see cref="TagHelperDescriptor"/> which applies to every HTML tag.</param>
|
||||||
/// <param name="tagHelperName">The code class used to render the tag helper. Corresponds to
|
/// <param name="tagHelperName">The code class used to render the tag helper. Corresponds to
|
||||||
/// the tag helper's <see cref="Type.FullName"/>.</param>
|
/// the tag helper's <see cref="Type.FullName"/>.</param>
|
||||||
|
/// <param name="tagHelperAssemblyName">The name of the assembly the tag helper was resolved from.</param>
|
||||||
/// <param name="contentBehavior">The <see cref="TagHelpers.ContentBehavior"/>
|
/// <param name="contentBehavior">The <see cref="TagHelpers.ContentBehavior"/>
|
||||||
/// of the tag helper.</param>
|
/// of the tag helper.</param>
|
||||||
/// <param name="attributes">
|
/// <param name="attributes">
|
||||||
|
|
@ -43,11 +50,13 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
/// </param>
|
/// </param>
|
||||||
public TagHelperDescriptor([NotNull] string tagName,
|
public TagHelperDescriptor([NotNull] string tagName,
|
||||||
[NotNull] string tagHelperName,
|
[NotNull] string tagHelperName,
|
||||||
|
[NotNull] string tagHelperAssemblyName,
|
||||||
ContentBehavior contentBehavior,
|
ContentBehavior contentBehavior,
|
||||||
[NotNull] IEnumerable<TagHelperAttributeDescriptor> attributes)
|
[NotNull] IEnumerable<TagHelperAttributeDescriptor> attributes)
|
||||||
{
|
{
|
||||||
TagName = tagName;
|
TagName = tagName;
|
||||||
TagHelperName = tagHelperName;
|
TagHelperName = tagHelperName;
|
||||||
|
AssemblyName = tagHelperAssemblyName;
|
||||||
ContentBehavior = contentBehavior;
|
ContentBehavior = contentBehavior;
|
||||||
Attributes = new List<TagHelperAttributeDescriptor>(attributes);
|
Attributes = new List<TagHelperAttributeDescriptor>(attributes);
|
||||||
}
|
}
|
||||||
|
|
@ -62,6 +71,11 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TagHelperName { get; private set; }
|
public string TagHelperName { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The name of the assembly the tag helper was resolved from.
|
||||||
|
/// </summary>
|
||||||
|
public string AssemblyName { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The <see cref="TagHelpers.ContentBehavior"/> of the tag helper.
|
/// The <see cref="TagHelpers.ContentBehavior"/> of the tag helper.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
{
|
{
|
||||||
return string.Equals(descriptorX.TagHelperName, descriptorY.TagHelperName, StringComparison.Ordinal) &&
|
return string.Equals(descriptorX.TagHelperName, descriptorY.TagHelperName, StringComparison.Ordinal) &&
|
||||||
string.Equals(descriptorX.TagName, descriptorY.TagName, StringComparison.OrdinalIgnoreCase) &&
|
string.Equals(descriptorX.TagName, descriptorY.TagName, StringComparison.OrdinalIgnoreCase) &&
|
||||||
|
string.Equals(descriptorX.AssemblyName, descriptorY.AssemblyName, StringComparison.Ordinal) &&
|
||||||
descriptorX.ContentBehavior == descriptorY.ContentBehavior;
|
descriptorX.ContentBehavior == descriptorY.ContentBehavior;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -48,6 +49,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
return HashCodeCombiner.Start()
|
return HashCodeCombiner.Start()
|
||||||
.Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase)
|
.Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase)
|
||||||
.Add(descriptor.TagHelperName, StringComparer.Ordinal)
|
.Add(descriptor.TagHelperName, StringComparer.Ordinal)
|
||||||
|
.Add(descriptor.AssemblyName, StringComparer.Ordinal)
|
||||||
.Add(descriptor.ContentBehavior)
|
.Add(descriptor.ContentBehavior)
|
||||||
.CombinedHash;
|
.CombinedHash;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
public class TagHelperDescriptorFactoryTest
|
public class TagHelperDescriptorFactoryTest
|
||||||
{
|
{
|
||||||
|
private static readonly string AssemblyName =
|
||||||
|
typeof(TagHelperDescriptorFactoryTest).GetTypeInfo().Assembly.GetName().Name;
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void CreateDescriptor_OverridesAttributeNameFromAttribute()
|
public void CreateDescriptor_OverridesAttributeNameFromAttribute()
|
||||||
{
|
{
|
||||||
|
|
@ -21,6 +24,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new TagHelperDescriptor(
|
new TagHelperDescriptor(
|
||||||
"OverriddenAttribute",
|
"OverriddenAttribute",
|
||||||
typeof(OverriddenAttributeTagHelper).FullName,
|
typeof(OverriddenAttributeTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
||||||
|
|
@ -47,6 +51,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new TagHelperDescriptor(
|
new TagHelperDescriptor(
|
||||||
"InheritedOverriddenAttribute",
|
"InheritedOverriddenAttribute",
|
||||||
typeof(InheritedOverriddenAttributeTagHelper).FullName,
|
typeof(InheritedOverriddenAttributeTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(InheritedOverriddenAttributeTagHelper.ValidAttribute1),
|
new TagHelperAttributeDescriptor(nameof(InheritedOverriddenAttributeTagHelper.ValidAttribute1),
|
||||||
|
|
@ -74,6 +79,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new TagHelperDescriptor(
|
new TagHelperDescriptor(
|
||||||
"InheritedNotOverriddenAttribute",
|
"InheritedNotOverriddenAttribute",
|
||||||
typeof(InheritedNotOverriddenAttributeTagHelper).FullName,
|
typeof(InheritedNotOverriddenAttributeTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
||||||
|
|
@ -92,7 +98,8 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
public void CreateDescriptor_BuildsDescriptorsFromSimpleTypes()
|
public void CreateDescriptor_BuildsDescriptorsFromSimpleTypes()
|
||||||
{
|
{
|
||||||
// Arrange
|
// 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
|
// Act
|
||||||
var descriptors = TagHelperDescriptorFactory.CreateDescriptors(typeof(object));
|
var descriptors = TagHelperDescriptorFactory.CreateDescriptors(typeof(object));
|
||||||
|
|
@ -111,6 +118,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"InheritedSingleAttribute",
|
"InheritedSingleAttribute",
|
||||||
typeof(InheritedSingleAttributeTagHelper).FullName,
|
typeof(InheritedSingleAttributeTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(InheritedSingleAttributeTagHelper.IntAttribute), intProperty)
|
new TagHelperAttributeDescriptor(nameof(InheritedSingleAttributeTagHelper.IntAttribute), intProperty)
|
||||||
|
|
@ -132,6 +140,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"SingleAttribute",
|
"SingleAttribute",
|
||||||
typeof(SingleAttributeTagHelper).FullName,
|
typeof(SingleAttributeTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(SingleAttributeTagHelper.IntAttribute), intProperty)
|
new TagHelperAttributeDescriptor(nameof(SingleAttributeTagHelper.IntAttribute), intProperty)
|
||||||
|
|
@ -154,6 +163,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"MissingAccessor",
|
"MissingAccessor",
|
||||||
typeof(MissingAccessorTagHelper).FullName,
|
typeof(MissingAccessorTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(MissingAccessorTagHelper.ValidAttribute), validProperty)
|
new TagHelperAttributeDescriptor(nameof(MissingAccessorTagHelper.ValidAttribute), validProperty)
|
||||||
|
|
@ -176,6 +186,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"PrivateAccessor",
|
"PrivateAccessor",
|
||||||
typeof(PrivateAccessorTagHelper).FullName,
|
typeof(PrivateAccessorTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(
|
new TagHelperAttributeDescriptor(
|
||||||
|
|
@ -197,6 +208,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"CustomContentBehavior",
|
"CustomContentBehavior",
|
||||||
typeof(CustomContentBehaviorTagHelper).FullName,
|
typeof(CustomContentBehaviorTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.Append);
|
ContentBehavior.Append);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -214,6 +226,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"InheritedCustomContentBehavior",
|
"InheritedCustomContentBehavior",
|
||||||
typeof(InheritedCustomContentBehaviorTagHelper).FullName,
|
typeof(InheritedCustomContentBehaviorTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None);
|
ContentBehavior.None);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -234,6 +247,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new TagHelperDescriptor(
|
new TagHelperDescriptor(
|
||||||
"div",
|
"div",
|
||||||
typeof(MultiTagTagHelper).FullName,
|
typeof(MultiTagTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp)
|
new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp)
|
||||||
|
|
@ -241,6 +255,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new TagHelperDescriptor(
|
new TagHelperDescriptor(
|
||||||
"p",
|
"p",
|
||||||
typeof(MultiTagTagHelper).FullName,
|
typeof(MultiTagTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp)
|
new TagHelperAttributeDescriptor(nameof(MultiTagTagHelper.ValidAttribute), validProp)
|
||||||
|
|
@ -262,6 +277,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var expectedDescriptor = new TagHelperDescriptor(
|
var expectedDescriptor = new TagHelperDescriptor(
|
||||||
"InheritedMultiTag",
|
"InheritedMultiTag",
|
||||||
typeof(InheritedMultiTagTagHelper).FullName,
|
typeof(InheritedMultiTagTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new[] {
|
new[] {
|
||||||
new TagHelperAttributeDescriptor(nameof(InheritedMultiTagTagHelper.ValidAttribute), validProp)
|
new TagHelperAttributeDescriptor(nameof(InheritedMultiTagTagHelper.ValidAttribute), validProp)
|
||||||
|
|
@ -280,8 +296,16 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var expectedDescriptors = new[] {
|
var expectedDescriptors = new[] {
|
||||||
new TagHelperDescriptor("p", typeof(DuplicateTagNameTagHelper).FullName, ContentBehavior.None),
|
new TagHelperDescriptor(
|
||||||
new TagHelperDescriptor("div", typeof(DuplicateTagNameTagHelper).FullName, ContentBehavior.None)
|
"p",
|
||||||
|
typeof(DuplicateTagNameTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
|
ContentBehavior.None),
|
||||||
|
new TagHelperDescriptor(
|
||||||
|
"div",
|
||||||
|
typeof(DuplicateTagNameTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
|
ContentBehavior.None)
|
||||||
};
|
};
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -296,8 +320,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var expectedDescriptors = new[] {
|
var expectedDescriptors = new[] {
|
||||||
new TagHelperDescriptor("data-condition",
|
new TagHelperDescriptor("data-condition",
|
||||||
typeof(OverrideNameTagHelper).FullName,
|
typeof(OverrideNameTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None),
|
ContentBehavior.None),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -313,9 +338,21 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var expectedDescriptors = new[] {
|
var expectedDescriptors = new[] {
|
||||||
new TagHelperDescriptor("span", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None),
|
new TagHelperDescriptor(
|
||||||
new TagHelperDescriptor("p", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None),
|
"span",
|
||||||
new TagHelperDescriptor("div", typeof(MultipleAttributeTagHelper).FullName, ContentBehavior.None)
|
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
|
// Act
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
public class TagHelperDescriptorResolverTest : TagHelperTypeResolverTest
|
public class TagHelperDescriptorResolverTest : TagHelperTypeResolverTest
|
||||||
{
|
{
|
||||||
|
private static readonly string AssemblyName =
|
||||||
|
typeof(TagHelperDescriptorFactoryTest).GetTypeInfo().Assembly.GetName().Name;
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void DescriptorResolver_DoesNotReturnInvalidTagHelpersWhenSpecified()
|
public void DescriptorResolver_DoesNotReturnInvalidTagHelpersWhenSpecified()
|
||||||
{
|
{
|
||||||
|
|
@ -63,6 +66,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
var tagHelperDescriptorResolver = new TagHelperDescriptorResolver(tagHelperTypeResolver);
|
var tagHelperDescriptorResolver = new TagHelperDescriptorResolver(tagHelperTypeResolver);
|
||||||
var expectedDescriptor = new TagHelperDescriptor("Valid_Plain",
|
var expectedDescriptor = new TagHelperDescriptor("Valid_Plain",
|
||||||
typeof(Valid_PlainTagHelper).FullName,
|
typeof(Valid_PlainTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None);
|
ContentBehavior.None);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -86,6 +90,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
}));
|
}));
|
||||||
var expectedDescriptor = new TagHelperDescriptor("Valid_Plain",
|
var expectedDescriptor = new TagHelperDescriptor("Valid_Plain",
|
||||||
typeof(Valid_PlainTagHelper).FullName,
|
typeof(Valid_PlainTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None);
|
ContentBehavior.None);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
|
|
@ -110,9 +115,11 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
{
|
{
|
||||||
new TagHelperDescriptor("Valid_Plain",
|
new TagHelperDescriptor("Valid_Plain",
|
||||||
typeof(Valid_PlainTagHelper).FullName,
|
typeof(Valid_PlainTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None),
|
ContentBehavior.None),
|
||||||
new TagHelperDescriptor("Valid_Inherited",
|
new TagHelperDescriptor("Valid_Inherited",
|
||||||
typeof(Valid_InheritedTagHelper).FullName,
|
typeof(Valid_InheritedTagHelper).FullName,
|
||||||
|
AssemblyName,
|
||||||
ContentBehavior.None)
|
ContentBehavior.None)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,18 +22,21 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
||||||
{
|
{
|
||||||
new TagHelperDescriptor("p",
|
new TagHelperDescriptor("p",
|
||||||
"PTagHelper",
|
"PTagHelper",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new [] {
|
new [] {
|
||||||
new TagHelperAttributeDescriptor("age", pAgePropertyInfo)
|
new TagHelperAttributeDescriptor("age", pAgePropertyInfo)
|
||||||
}),
|
}),
|
||||||
new TagHelperDescriptor("input",
|
new TagHelperDescriptor("input",
|
||||||
"InputTagHelper",
|
"InputTagHelper",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new TagHelperAttributeDescriptor[] {
|
new TagHelperAttributeDescriptor[] {
|
||||||
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo)
|
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo)
|
||||||
}),
|
}),
|
||||||
new TagHelperDescriptor("input",
|
new TagHelperDescriptor("input",
|
||||||
"InputTagHelper2",
|
"InputTagHelper2",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new TagHelperAttributeDescriptor[] {
|
new TagHelperAttributeDescriptor[] {
|
||||||
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo),
|
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo),
|
||||||
|
|
@ -49,11 +52,11 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
||||||
{
|
{
|
||||||
return new[]
|
return new[]
|
||||||
{
|
{
|
||||||
new TagHelperDescriptor("modify", "ModifyTagHelper", ContentBehavior.Modify),
|
new TagHelperDescriptor("modify", "ModifyTagHelper", "SomeAssembly", ContentBehavior.Modify),
|
||||||
new TagHelperDescriptor("none", "NoneTagHelper", ContentBehavior.None),
|
new TagHelperDescriptor("none", "NoneTagHelper", "SomeAssembly", ContentBehavior.None),
|
||||||
new TagHelperDescriptor("append", "AppendTagHelper", ContentBehavior.Append),
|
new TagHelperDescriptor("append", "AppendTagHelper", "SomeAssembly", ContentBehavior.Append),
|
||||||
new TagHelperDescriptor("prepend", "PrependTagHelper", ContentBehavior.Prepend),
|
new TagHelperDescriptor("prepend", "PrependTagHelper", "SomeAssembly", ContentBehavior.Prepend),
|
||||||
new TagHelperDescriptor("replace", "ReplaceTagHelper", ContentBehavior.Replace)
|
new TagHelperDescriptor("replace", "ReplaceTagHelper", "SomeAssembly", ContentBehavior.Replace)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -214,7 +217,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
||||||
RunTagHelperTest("AddTagHelperDirective",
|
RunTagHelperTest("AddTagHelperDirective",
|
||||||
designTimeMode: true,
|
designTimeMode: true,
|
||||||
tagHelperDescriptors: new[] {
|
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",
|
new TagHelperDescriptor("MyTagHelper",
|
||||||
"MyTagHelper",
|
"MyTagHelper",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new [] {
|
new [] {
|
||||||
new TagHelperAttributeDescriptor("BoundProperty",
|
new TagHelperAttributeDescriptor("BoundProperty",
|
||||||
propertyInfo)
|
propertyInfo)
|
||||||
}),
|
}),
|
||||||
new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", ContentBehavior.Modify)
|
new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", "SomeAssembly", ContentBehavior.Modify)
|
||||||
};
|
};
|
||||||
|
|
||||||
// Act & Assert
|
// Act & Assert
|
||||||
|
|
|
||||||
|
|
@ -21,15 +21,17 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
||||||
var checkedPropertyInfo = typeof(TestType).GetProperty("Checked");
|
var checkedPropertyInfo = typeof(TestType).GetProperty("Checked");
|
||||||
var tagHelperDescriptors = new TagHelperDescriptor[]
|
var tagHelperDescriptors = new TagHelperDescriptor[]
|
||||||
{
|
{
|
||||||
new TagHelperDescriptor("p", "PTagHelper", ContentBehavior.None),
|
new TagHelperDescriptor("p", "PTagHelper", "SomeAssembly", ContentBehavior.None),
|
||||||
new TagHelperDescriptor("input",
|
new TagHelperDescriptor("input",
|
||||||
"InputTagHelper",
|
"InputTagHelper",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new TagHelperAttributeDescriptor[] {
|
new TagHelperAttributeDescriptor[] {
|
||||||
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo)
|
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo)
|
||||||
}),
|
}),
|
||||||
new TagHelperDescriptor("input",
|
new TagHelperDescriptor("input",
|
||||||
"InputTagHelper2",
|
"InputTagHelper2",
|
||||||
|
"SomeAssembly",
|
||||||
ContentBehavior.None,
|
ContentBehavior.None,
|
||||||
new TagHelperAttributeDescriptor[] {
|
new TagHelperAttributeDescriptor[] {
|
||||||
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo),
|
new TagHelperAttributeDescriptor("type", inputTypePropertyInfo),
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
||||||
{
|
{
|
||||||
get
|
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
|
get
|
||||||
{
|
{
|
||||||
return new TagHelperDescriptor("div", "DivTagHelper", ContentBehavior.None);
|
return new TagHelperDescriptor("div", "DivTagHelper", "SomeAssembly", ContentBehavior.None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,8 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
||||||
public void TagHelperDescriptorProvider_GetTagHelpersReturnsNothingForUnregisteredTags()
|
public void TagHelperDescriptorProvider_GetTagHelpersReturnsNothingForUnregisteredTags()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None);
|
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None);
|
||||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None);
|
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None);
|
||||||
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor };
|
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor };
|
||||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||||
|
|
||||||
|
|
@ -29,9 +29,9 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
||||||
public void TagHelperDescriptorProvider_GetTagHelpersDoesntReturnNonCatchAllTagsForCatchAll()
|
public void TagHelperDescriptorProvider_GetTagHelpersDoesntReturnNonCatchAllTagsForCatchAll()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None);
|
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None);
|
||||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None);
|
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None);
|
||||||
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", ContentBehavior.None);
|
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly", ContentBehavior.None);
|
||||||
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor };
|
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor };
|
||||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||||
|
|
||||||
|
|
@ -47,9 +47,9 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
||||||
public void TagHelperDescriptorProvider_GetTagHelpersReturnsCatchAllsWithEveryTagName()
|
public void TagHelperDescriptorProvider_GetTagHelpersReturnsCatchAllsWithEveryTagName()
|
||||||
{
|
{
|
||||||
// Arrange
|
// Arrange
|
||||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", ContentBehavior.None);
|
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None);
|
||||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", ContentBehavior.None);
|
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None);
|
||||||
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", ContentBehavior.None);
|
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly", ContentBehavior.None);
|
||||||
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor };
|
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor, catchAllDescriptor };
|
||||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
||||||
public void TagHelperDescriptorProvider_DuplicateDescriptorsAreNotPartOfTagHelperDescriptorPool()
|
public void TagHelperDescriptorProvider_DuplicateDescriptorsAreNotPartOfTagHelperDescriptorPool()
|
||||||
{
|
{
|
||||||
// Arrange
|
// 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 descriptors = new TagHelperDescriptor[] { divDescriptor, divDescriptor };
|
||||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1175,7 +1175,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
||||||
foreach (var tagName in tagNames)
|
foreach (var tagName in tagNames)
|
||||||
{
|
{
|
||||||
descriptors.Add(
|
descriptors.Add(
|
||||||
new TagHelperDescriptor(tagName, tagName + "taghelper", ContentBehavior.None));
|
new TagHelperDescriptor(tagName, tagName + "taghelper", "SomeAssembly", ContentBehavior.None));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TagHelperDescriptorProvider(descriptors);
|
return new TagHelperDescriptorProvider(descriptors);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue