- #89 remainder - support adding attributes (that aren't otherwise bound) to a tag helper dictionary - use two `TagHelperAttributeDescriptor`s for dictionary and indexer - most exising descriptor properties have two meanings depending on new `IsIndexer` - add `TagHelperAttributeDescriptor.IsNameMatch()` - create no `TagHelperAttributeDescriptor`s if property name or `HtmlAttributeNameAttribute` is invalid - avoid corner case misfeatures where invalidity removes just one descriptor - extend handling of invalid attribute names to include `[HtmlAttributeName]` - handle prefix matches in `TagHelperBlockRewriter` - add parse error when resolved dictionary key is `string.Empty` - generate code for indexer property assignments - add code generation for runtime error if using indexer when property is `null` - use new `GeneratedTagHelperContext.FormatInvalidIndexerAssignmentMethodName` for message - code generation now handles attributes in source order; thus above errors occur only when expected if dictionary is also initialized in the Razor source - surprisingly generation order change did not break existing tests! nits: - improve `TagHelperDescriptorFactory_InvalidBoundAttributeName` wording - rename resource to `TagHelperDescriptorFactory_InvalidAttributeNameOrPrefixStart` - correct order of arguments to `FormatTagHelperDescriptorFactory_InvalidBoundAttributeName` - correct `TagHelperBlockRewriter_TagHelperAttributeListMustBeWellFormed` resource - correct `TagHelperDescriptorFactoryTest` test names - remove a few unnecessary `ToArray()` calls - update `TagHelperAttributeDescriptorComparer` comments |
||
|---|---|---|
| .. | ||
| Editor | ||
| Framework | ||
| Generator | ||
| Parser | ||
| TagHelpers | ||
| TestFiles | ||
| Text | ||
| Tokenizer | ||
| Utils | ||
| CSharpRazorCodeLanguageTest.cs | ||
| Microsoft.AspNet.Razor.Test.xproj | ||
| RazorCodeLanguageTest.cs | ||
| RazorEngineHostTest.cs | ||
| RazorErrorTest.cs | ||
| RazorTemplateEngineTest.cs | ||
| SourceLocationTest.cs | ||
| StringTextBuffer.cs | ||
| project.json | ||