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
|
// 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.
|
// 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);
|
var regex = new Regex(pattern, RegexOptions.Singleline);
|
||||||
|
|
||||||
return regex.IsMatch(descriptor.TypeName);
|
return regex.IsMatch(descriptor.TypeName);
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new []
|
new []
|
||||||
{
|
{
|
||||||
new TagHelperDirectiveDescriptor(
|
new TagHelperDirectiveDescriptor(
|
||||||
"?*?" + Valid_PlainTagHelperType.FullName + "?*?, " + assemblyA,
|
"*" + Valid_PlainTagHelperType.FullName + "*, " + assemblyA,
|
||||||
TagHelperDirectiveType.AddTagHelper),
|
TagHelperDirectiveType.AddTagHelper),
|
||||||
},
|
},
|
||||||
new [] { Valid_PlainTagHelperDescriptor }
|
new [] { Valid_PlainTagHelperDescriptor }
|
||||||
|
|
@ -368,7 +368,20 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
new []
|
new []
|
||||||
{
|
{
|
||||||
new TagHelperDirectiveDescriptor("?*?, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
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 }
|
new [] { Valid_PlainTagHelperDescriptor }
|
||||||
},
|
},
|
||||||
|
|
@ -400,6 +413,54 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||||
},
|
},
|
||||||
new [] { stringTagHelperDescriptor }
|
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("?icrosoft.*, " + assemblyA, TagHelperDirectiveType.AddTagHelper),
|
||||||
new TagHelperDirectiveDescriptor("?ystem.*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
new TagHelperDirectiveDescriptor("?ystem.*, " + assemblyB, TagHelperDirectiveType.AddTagHelper),
|
||||||
new TagHelperDirectiveDescriptor("*?????r, " + assemblyA, TagHelperDirectiveType.RemoveTagHelper),
|
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;
|
string __tagHelperDirectiveSyntaxHelper = null;
|
||||||
__tagHelperDirectiveSyntaxHelper =
|
__tagHelperDirectiveSyntaxHelper =
|
||||||
#line 1 "AddTagHelperDirective.cshtml"
|
#line 1 "AddTagHelperDirective.cshtml"
|
||||||
"something, nice"
|
"**??**??*, nice"
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ namespace TestOutput
|
||||||
string __tagHelperDirectiveSyntaxHelper = null;
|
string __tagHelperDirectiveSyntaxHelper = null;
|
||||||
__tagHelperDirectiveSyntaxHelper =
|
__tagHelperDirectiveSyntaxHelper =
|
||||||
#line 1 "ComplexTagHelpers.cshtml"
|
#line 1 "ComplexTagHelpers.cshtml"
|
||||||
"something, nice"
|
"T?g??lpe*, nice"
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#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
|
namespace TestOutput
|
||||||
{
|
{
|
||||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
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)
|
@if (true)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue