Change '?' in add and remove TagHelper to mean 1 character.
- Modified tests to account for new behavior of the '?' character in @addtaghelper and @removetaghelper. #297
This commit is contained in:
parent
1dd54e4331
commit
f53b6bb0e3
|
|
@ -129,7 +129,8 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
|
||||
// We surround the escaped with ^ and $ in order ot ensure a regex match matches the entire
|
||||
// string. We also replace any '*' or '?' characters with regex to match appropriate content.
|
||||
var pattern = "^" + escaped.Replace(@"\?", ".?").Replace(@"\*", ".*?") + "$";
|
||||
// '*' matches 0 or more characters lazily and '?' matches 1 character.
|
||||
var pattern = "^" + escaped.Replace(@"\?", ".").Replace(@"\*", ".*?") + "$";
|
||||
var regex = new Regex(pattern, RegexOptions.Singleline);
|
||||
|
||||
return regex.IsMatch(descriptor.TypeName);
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"?*?" + Valid_PlainTagHelperType.FullName + "?*?, " + assemblyA,
|
||||
"*" + Valid_PlainTagHelperType.FullName + "*, " + assemblyA,
|
||||
TagHelperDirectiveType.AddTagHelper),
|
||||
},
|
||||
new [] { Valid_PlainTagHelperDescriptor }
|
||||
|
|
@ -368,7 +368,20 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor("?*?, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor("*?rin?g?, " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
new TagHelperDirectiveDescriptor("*?r?n?, " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
},
|
||||
new [] { Valid_PlainTagHelperDescriptor }
|
||||
},
|
||||
{
|
||||
new Dictionary<string, IEnumerable<Type>>
|
||||
{
|
||||
{ assemblyA, new [] { Valid_PlainTagHelperType } },
|
||||
{ assemblyB, new [] { stringType } }
|
||||
},
|
||||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor("?*TagHelper, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor("?" + stringType.FullName + ", " + assemblyB, TagHelperDirectiveType.AddTagHelper)
|
||||
},
|
||||
new [] { Valid_PlainTagHelperDescriptor }
|
||||
},
|
||||
|
|
@ -400,6 +413,54 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
},
|
||||
new [] { stringTagHelperDescriptor }
|
||||
},
|
||||
{
|
||||
new Dictionary<string, IEnumerable<Type>>
|
||||
{
|
||||
{ assemblyA, new [] { Valid_PlainTagHelperType, Valid_InheritedTagHelperType } },
|
||||
{ assemblyB, new [] { stringType } }
|
||||
},
|
||||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"*, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"?Microsoft*, " + assemblyA, TagHelperDirectiveType.RemoveTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"?" + stringType.FullName + ", " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
},
|
||||
new []
|
||||
{
|
||||
Valid_InheritedTagHelperDescriptor,
|
||||
Valid_PlainTagHelperDescriptor,
|
||||
stringTagHelperDescriptor
|
||||
}
|
||||
},
|
||||
{
|
||||
new Dictionary<string, IEnumerable<Type>>
|
||||
{
|
||||
{ assemblyA, new [] { Valid_PlainTagHelperType, Valid_InheritedTagHelperType } },
|
||||
{ assemblyB, new [] { stringType } }
|
||||
},
|
||||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"*, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
"Microsoft*TagHelper?, " + assemblyA, TagHelperDirectiveType.RemoveTagHelper),
|
||||
new TagHelperDirectiveDescriptor(
|
||||
stringType.FullName + "?, " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
},
|
||||
new []
|
||||
{
|
||||
Valid_InheritedTagHelperDescriptor,
|
||||
Valid_PlainTagHelperDescriptor,
|
||||
stringTagHelperDescriptor
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -566,9 +627,21 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
new TagHelperDirectiveDescriptor("?icrosoft.*, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor("?ystem.*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor("*?????r, " + assemblyA, TagHelperDirectiveType.RemoveTagHelper),
|
||||
new TagHelperDirectiveDescriptor("Sy????em.*, " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
new TagHelperDirectiveDescriptor("Sy??em.*, " + assemblyB, TagHelperDirectiveType.RemoveTagHelper)
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
new Dictionary<string, IEnumerable<Type>>
|
||||
{
|
||||
{ assemblyA, new [] { Valid_PlainTagHelperType, Valid_InheritedTagHelperType } },
|
||||
{ assemblyB, new [] { stringType } },
|
||||
},
|
||||
new []
|
||||
{
|
||||
new TagHelperDirectiveDescriptor("?i?crosoft.*, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||
new TagHelperDirectiveDescriptor("??ystem.*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ namespace TestOutput
|
|||
string __tagHelperDirectiveSyntaxHelper = null;
|
||||
__tagHelperDirectiveSyntaxHelper =
|
||||
#line 1 "AddTagHelperDirective.cshtml"
|
||||
"something, nice"
|
||||
"**??**??*, nice"
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace TestOutput
|
|||
string __tagHelperDirectiveSyntaxHelper = null;
|
||||
__tagHelperDirectiveSyntaxHelper =
|
||||
#line 1 "ComplexTagHelpers.cshtml"
|
||||
"something, nice"
|
||||
"T?g??lpe*, nice"
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#pragma checksum "ComplexTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "34039b21327142e9261c7acb3bcd0a4365e0cfa2"
|
||||
#pragma checksum "ComplexTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "184461ac3cd2d1747e4480d78478e69dbf800e65"
|
||||
namespace TestOutput
|
||||
{
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
@addTagHelper "something, nice"
|
||||
@addTagHelper "**??**??*, nice"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
@addTagHelper "something, nice"
|
||||
@addTagHelper "T?g??lpe*, nice"
|
||||
|
||||
@if (true)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue