Remove ContentBehavior.
- Removed all tests and instances of ContentBehavior in preparation for moving to a non-ContentBehavior based design. - Removed ContentBehavior specific CodeGeneration. #221
This commit is contained in:
parent
de4cafa8cd
commit
c38761f504
|
|
@ -1,31 +0,0 @@
|
|||
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using Microsoft.AspNet.Razor.TagHelpers;
|
||||
|
||||
namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
||||
{
|
||||
/// <summary>
|
||||
/// Used to override <see cref="ITagHelper"/>'s behavior when its
|
||||
/// <see cref="ITagHelper.ProcessAsync"/> is invoked.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
|
||||
public sealed class ContentBehaviorAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Instantiates a new instance of the <see cref="ContentBehaviorAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="contentBehavior">The <see cref="Razor.TagHelpers.ContentBehavior"/> for the
|
||||
/// <see cref="ITagHelper"/>.</param>
|
||||
public ContentBehaviorAttribute(ContentBehavior contentBehavior)
|
||||
{
|
||||
ContentBehavior = contentBehavior;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="Razor.TagHelpers.ContentBehavior"/> for the <see cref="ITagHelper"/>.
|
||||
/// </summary>
|
||||
public ContentBehavior ContentBehavior { get; private set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -38,14 +38,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
var tagNames = GetTagNames(type);
|
||||
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));
|
||||
}
|
||||
|
||||
|
|
@ -89,16 +87,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
return new TagHelperAttributeDescriptor(attributeName, property.Name, property.PropertyType.FullName);
|
||||
}
|
||||
|
||||
private static ContentBehavior GetContentBehavior(Type type)
|
||||
{
|
||||
var typeInfo = type.GetTypeInfo();
|
||||
var contentBehaviorAttribute = typeInfo.GetCustomAttribute<ContentBehaviorAttribute>(inherit: false);
|
||||
|
||||
return contentBehaviorAttribute != null ?
|
||||
contentBehaviorAttribute.ContentBehavior :
|
||||
ContentBehavior.None;
|
||||
}
|
||||
|
||||
private static bool IsValidProperty(PropertyInfo property)
|
||||
{
|
||||
return property.GetMethod != null &&
|
||||
|
|
|
|||
|
|
@ -58,13 +58,6 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
|
|||
{
|
||||
var tagHelperDescriptors = chunk.Descriptors;
|
||||
|
||||
// Find the first content behavior that doesn't have a content behavior of None.
|
||||
// The resolver restricts content behavior collisions so the first one that's not None will be
|
||||
// the content behavior we need to abide by. None can work in unison with other ContentBehaviors.
|
||||
var contentBehavior = tagHelperDescriptors.Select(descriptor => descriptor.ContentBehavior)
|
||||
.FirstOrDefault(
|
||||
behavior => behavior != ContentBehavior.None);
|
||||
|
||||
RenderBeginTagHelperScope(chunk.TagName);
|
||||
|
||||
RenderTagHelpersCreation(chunk);
|
||||
|
|
@ -78,42 +71,11 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
|
|||
|
||||
RenderUnboundHTMLAttributes(unboundHTMLAttributes);
|
||||
|
||||
switch (contentBehavior)
|
||||
{
|
||||
case ContentBehavior.None:
|
||||
RenderRunTagHelpers(bufferedBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
RenderTagHelperBody(chunk.Children, bufferBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
break;
|
||||
case ContentBehavior.Append:
|
||||
RenderRunTagHelpers(bufferedBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
RenderTagHelperBody(chunk.Children, bufferBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateContentMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
break;
|
||||
case ContentBehavior.Prepend:
|
||||
RenderRunTagHelpers(bufferedBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateContentMethodName);
|
||||
RenderTagHelperBody(chunk.Children, bufferBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
break;
|
||||
case ContentBehavior.Replace:
|
||||
RenderRunTagHelpers(bufferedBody: false);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateContentMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
break;
|
||||
case ContentBehavior.Modify:
|
||||
RenderTagHelperBody(chunk.Children, bufferBody: true);
|
||||
RenderRunTagHelpers(bufferedBody: true);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateContentMethodName);
|
||||
RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
break;
|
||||
}
|
||||
// TODO: Modify code generation to handle all content modes
|
||||
//RenderRunTagHelpers(bufferedBody: false);
|
||||
//RenderTagOutput(_tagHelperContext.OutputGenerateStartTagMethodName);
|
||||
//RenderTagHelperBody(chunk.Children, bufferBody: false);
|
||||
//RenderTagOutput(_tagHelperContext.OutputGenerateEndTagMethodName);
|
||||
|
||||
RenderEndTagHelpersScope();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
namespace Microsoft.AspNet.Razor.TagHelpers
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines how a tag helper will utilize its inner HTML.
|
||||
/// </summary>
|
||||
public enum ContentBehavior
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates that a tag helper will not modify its content in any way. This is the default
|
||||
/// <see cref="ContentBehavior"/>.
|
||||
/// </summary>
|
||||
/// <remarks>Children of the current tag helper will execute after the current tag helper.</remarks>
|
||||
None,
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the tag helper's content should be appended to what its children generate.
|
||||
/// </summary>
|
||||
/// <remarks>Children of the current tag helper will execute before the current tag helper.</remarks>
|
||||
Append,
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the tag helper will modify its HTML content. Therefore this <see cref="ContentBehavior"/>
|
||||
/// enables the tag helper to examine the content its children generate.
|
||||
/// </summary>
|
||||
/// <remarks>Children of the current tag helper will execute before the current tag helper.</remarks>
|
||||
Modify,
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the tag helper's content should be prepended to what its children generate.
|
||||
/// </summary>
|
||||
/// <remarks>Children of the current tag helper will execute after the current tag helper.</remarks>
|
||||
Prepend,
|
||||
|
||||
/// <summary>
|
||||
/// Indicates the tag helper's content should replace the HTML its children generate.
|
||||
/// </summary>
|
||||
/// <remarks>Children of the current tag helper will not execute.</remarks>
|
||||
Replace,
|
||||
}
|
||||
}
|
||||
|
|
@ -16,12 +16,10 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
|||
/// </summary>
|
||||
internal TagHelperDescriptor([NotNull] string tagName,
|
||||
[NotNull] string typeName,
|
||||
[NotNull] string assemblyName,
|
||||
ContentBehavior contentBehavior)
|
||||
[NotNull] string assemblyName)
|
||||
: this(tagName,
|
||||
typeName,
|
||||
assemblyName,
|
||||
contentBehavior,
|
||||
Enumerable.Empty<TagHelperAttributeDescriptor>())
|
||||
{
|
||||
}
|
||||
|
|
@ -34,21 +32,17 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
|||
/// <see cref="TagHelperDescriptor"/> which applies to every HTML tag.</param>
|
||||
/// <param name="typeName">The full name of the tag helper class.</param>
|
||||
/// <param name="assemblyName">The name of the assembly containing the tag helper class.</param>
|
||||
/// <param name="contentBehavior">The <see cref="TagHelpers.ContentBehavior"/>
|
||||
/// of the tag helper.</param>
|
||||
/// <param name="attributes">
|
||||
/// The <see cref="TagHelperAttributeDescriptor"/>s to request from the HTML tag.
|
||||
/// </param>
|
||||
public TagHelperDescriptor([NotNull] string tagName,
|
||||
[NotNull] string typeName,
|
||||
[NotNull] string assemblyName,
|
||||
ContentBehavior contentBehavior,
|
||||
[NotNull] IEnumerable<TagHelperAttributeDescriptor> attributes)
|
||||
{
|
||||
TagName = tagName;
|
||||
TypeName = typeName;
|
||||
AssemblyName = assemblyName;
|
||||
ContentBehavior = contentBehavior;
|
||||
Attributes = new List<TagHelperAttributeDescriptor>(attributes);
|
||||
}
|
||||
|
||||
|
|
@ -67,11 +61,6 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
|||
/// </summary>
|
||||
public string AssemblyName { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="TagHelpers.ContentBehavior"/> of the tag helper.
|
||||
/// </summary>
|
||||
public ContentBehavior ContentBehavior { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// The list of attributes the tag helper expects.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -29,15 +29,13 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
|||
/// <c>false</c> otherwise.</returns>
|
||||
/// <remarks>
|
||||
/// Determines equality based on <see cref="TagHelperDescriptor.TypeName"/>,
|
||||
/// <see cref="TagHelperDescriptor.AssemblyName"/>, <see cref="TagHelperDescriptor.TagName"/> and
|
||||
/// <see cref="TagHelperDescriptor.ContentBehavior"/>.
|
||||
/// <see cref="TagHelperDescriptor.AssemblyName"/> and <see cref="TagHelperDescriptor.TagName"/>.
|
||||
/// </remarks>
|
||||
public bool Equals(TagHelperDescriptor descriptorX, TagHelperDescriptor descriptorY)
|
||||
{
|
||||
return string.Equals(descriptorX.TypeName, descriptorY.TypeName, StringComparison.Ordinal) &&
|
||||
string.Equals(descriptorX.TagName, descriptorY.TagName, StringComparison.OrdinalIgnoreCase) &&
|
||||
string.Equals(descriptorX.AssemblyName, descriptorY.AssemblyName, StringComparison.Ordinal) &&
|
||||
descriptorX.ContentBehavior == descriptorY.ContentBehavior;
|
||||
string.Equals(descriptorX.AssemblyName, descriptorY.AssemblyName, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -51,7 +49,6 @@ namespace Microsoft.AspNet.Razor.TagHelpers
|
|||
.Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase)
|
||||
.Add(descriptor.TypeName, StringComparer.Ordinal)
|
||||
.Add(descriptor.AssemblyName, StringComparer.Ordinal)
|
||||
.Add(descriptor.ContentBehavior)
|
||||
.CombinedHash;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"overridden-attribute",
|
||||
typeof(OverriddenAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
||||
new TagHelperAttributeDescriptor("Something-Else", validProperty2)
|
||||
|
|
@ -89,7 +88,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"inherited-overridden-attribute",
|
||||
typeof(InheritedOverriddenAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("valid-attribute1",
|
||||
validProperty1),
|
||||
|
|
@ -117,7 +115,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"inherited-not-overridden-attribute",
|
||||
typeof(InheritedNotOverriddenAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("SomethingElse", validProperty1),
|
||||
new TagHelperAttributeDescriptor("Something-Else", validProperty2)
|
||||
|
|
@ -137,7 +134,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
// Arrange
|
||||
var objectAssemblyName = typeof(object).GetTypeInfo().Assembly.GetName().Name;
|
||||
var expectedDescriptor =
|
||||
new TagHelperDescriptor("object", "System.Object", objectAssemblyName, ContentBehavior.None);
|
||||
new TagHelperDescriptor("object", "System.Object", objectAssemblyName);
|
||||
|
||||
// Act
|
||||
var descriptors = TagHelperDescriptorFactory.CreateDescriptors(typeof(object));
|
||||
|
|
@ -157,7 +154,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"inherited-single-attribute",
|
||||
typeof(InheritedSingleAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("int-attribute", intProperty)
|
||||
});
|
||||
|
|
@ -179,7 +175,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"single-attribute",
|
||||
typeof(SingleAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("int-attribute", intProperty)
|
||||
});
|
||||
|
|
@ -202,7 +197,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"missing-accessor",
|
||||
typeof(MissingAccessorTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("valid-attribute", validProperty)
|
||||
});
|
||||
|
|
@ -225,7 +219,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"private-accessor",
|
||||
typeof(PrivateAccessorTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor(
|
||||
"valid-attribute", validProperty)
|
||||
|
|
@ -239,43 +232,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
Assert.Equal(expectedDescriptor, descriptor, CompleteTagHelperDescriptorComparer.Default);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateDescriptor_ResolvesCustomContentBehavior()
|
||||
{
|
||||
// Arrange
|
||||
var expectedDescriptor = new TagHelperDescriptor(
|
||||
"custom-content-behavior",
|
||||
typeof(CustomContentBehaviorTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.Append);
|
||||
|
||||
// Act
|
||||
var descriptors = TagHelperDescriptorFactory.CreateDescriptors(typeof(CustomContentBehaviorTagHelper));
|
||||
|
||||
// Assert
|
||||
var descriptor = Assert.Single(descriptors);
|
||||
Assert.Equal(expectedDescriptor, descriptor, CompleteTagHelperDescriptorComparer.Default);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateDescriptor_DoesNotResolveInheritedCustomContentBehavior()
|
||||
{
|
||||
// Arrange
|
||||
var expectedDescriptor = new TagHelperDescriptor(
|
||||
"inherited-custom-content-behavior",
|
||||
typeof(InheritedCustomContentBehaviorTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None);
|
||||
|
||||
// Act
|
||||
var descriptors = TagHelperDescriptorFactory.CreateDescriptors(
|
||||
typeof(InheritedCustomContentBehaviorTagHelper));
|
||||
|
||||
// Assert
|
||||
var descriptor = Assert.Single(descriptors);
|
||||
Assert.Equal(expectedDescriptor, descriptor, CompleteTagHelperDescriptorComparer.Default);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateDescriptor_ResolvesMultipleTagHelperDescriptorsFromSingleType()
|
||||
{
|
||||
|
|
@ -286,7 +242,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"div",
|
||||
typeof(MultiTagTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("valid-attribute", validProp)
|
||||
}),
|
||||
|
|
@ -294,7 +249,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"p",
|
||||
typeof(MultiTagTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("valid-attribute", validProp)
|
||||
})
|
||||
|
|
@ -316,7 +270,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
"inherited-multi-tag",
|
||||
typeof(InheritedMultiTagTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None,
|
||||
new[] {
|
||||
new TagHelperAttributeDescriptor("valid-attribute", validProp)
|
||||
});
|
||||
|
|
@ -337,13 +290,11 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
new TagHelperDescriptor(
|
||||
"p",
|
||||
typeof(DuplicateTagNameTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None),
|
||||
AssemblyName),
|
||||
new TagHelperDescriptor(
|
||||
"div",
|
||||
typeof(DuplicateTagNameTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None)
|
||||
AssemblyName)
|
||||
};
|
||||
|
||||
// Act
|
||||
|
|
@ -360,8 +311,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
var expectedDescriptors = new[] {
|
||||
new TagHelperDescriptor("data-condition",
|
||||
typeof(OverrideNameTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None),
|
||||
AssemblyName),
|
||||
};
|
||||
|
||||
// Act
|
||||
|
|
@ -379,18 +329,15 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
new TagHelperDescriptor(
|
||||
"span",
|
||||
typeof(MultipleAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None),
|
||||
AssemblyName),
|
||||
new TagHelperDescriptor(
|
||||
"p",
|
||||
typeof(MultipleAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None),
|
||||
AssemblyName),
|
||||
new TagHelperDescriptor(
|
||||
"div",
|
||||
typeof(MultipleAttributeTagHelper).FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None)
|
||||
AssemblyName)
|
||||
};
|
||||
|
||||
// Act
|
||||
|
|
@ -400,15 +347,6 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
Assert.Equal(expectedDescriptors, descriptors, CompleteTagHelperDescriptorComparer.Default);
|
||||
}
|
||||
|
||||
[ContentBehavior(ContentBehavior.Append)]
|
||||
private class CustomContentBehaviorTagHelper
|
||||
{
|
||||
}
|
||||
|
||||
private class InheritedCustomContentBehaviorTagHelper : CustomContentBehaviorTagHelper
|
||||
{
|
||||
}
|
||||
|
||||
[HtmlElementName("p", "div")]
|
||||
private class MultiTagTagHelper
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
return new TagHelperDescriptor("valid_plain",
|
||||
Valid_PlainTagHelperType.FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None);
|
||||
AssemblyName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -38,8 +37,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
{
|
||||
return new TagHelperDescriptor("valid_inherited",
|
||||
Valid_InheritedTagHelperType.FullName,
|
||||
AssemblyName,
|
||||
ContentBehavior.None);
|
||||
AssemblyName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -75,8 +73,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
var stringTagHelperDescriptor =
|
||||
new TagHelperDescriptor("string",
|
||||
"System.String",
|
||||
assemblyB,
|
||||
ContentBehavior.None);
|
||||
assemblyB);
|
||||
|
||||
return new TheoryData<Dictionary<string, IEnumerable<Type>>, // descriptorAssemblyLookups
|
||||
IEnumerable<TagHelperDirectiveDescriptor>, // directiveDescriptors
|
||||
|
|
@ -230,8 +227,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
|
|||
var stringTagHelperDescriptor =
|
||||
new TagHelperDescriptor("string",
|
||||
"System.String",
|
||||
assemblyB,
|
||||
ContentBehavior.None);
|
||||
assemblyB);
|
||||
|
||||
return new TheoryData<Dictionary<string, IEnumerable<Type>>, // descriptorAssemblyLookups
|
||||
IEnumerable<TagHelperDirectiveDescriptor>> // directiveDescriptors
|
||||
|
|
|
|||
|
|
@ -26,21 +26,18 @@ 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),
|
||||
new TagHelperAttributeDescriptor("checked", checkedPropertyInfo)
|
||||
|
|
@ -49,21 +46,6 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
}
|
||||
}
|
||||
|
||||
private static IEnumerable<TagHelperDescriptor> ContentBehaviorTagHelperDescriptors
|
||||
{
|
||||
get
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
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)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public static TheoryData TagHelperDescriptorFlowTestData
|
||||
{
|
||||
get
|
||||
|
|
@ -109,13 +91,6 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
Enumerable.Empty<TagHelperDescriptor>(),
|
||||
false
|
||||
},
|
||||
{
|
||||
"ContentBehaviorTagHelpers",
|
||||
"ContentBehaviorTagHelpers",
|
||||
ContentBehaviorTagHelperDescriptors,
|
||||
ContentBehaviorTagHelperDescriptors,
|
||||
false
|
||||
},
|
||||
{
|
||||
"ComplexTagHelpers",
|
||||
"ComplexTagHelpers",
|
||||
|
|
@ -144,7 +119,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
bool designTimeMode)
|
||||
{
|
||||
RunTagHelperTest(
|
||||
testName,
|
||||
testName,
|
||||
baseLineName: baselineName,
|
||||
tagHelperDescriptors: tagHelperDescriptors,
|
||||
onResults: (results) =>
|
||||
|
|
@ -203,20 +178,6 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
contentLength: 4)
|
||||
}
|
||||
},
|
||||
{
|
||||
"ContentBehaviorTagHelpers",
|
||||
"ContentBehaviorTagHelpers.DesignTime",
|
||||
ContentBehaviorTagHelperDescriptors,
|
||||
new List<LineMapping>
|
||||
{
|
||||
BuildLineMapping(documentAbsoluteIndex: 14,
|
||||
documentLineIndex: 0,
|
||||
generatedAbsoluteIndex: 495,
|
||||
generatedLineIndex: 15,
|
||||
characterOffsetIndex: 14,
|
||||
contentLength: 11)
|
||||
}
|
||||
},
|
||||
{
|
||||
"ComplexTagHelpers",
|
||||
"ComplexTagHelpers.DesignTime",
|
||||
|
|
@ -283,7 +244,6 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{ "SingleTagHelper", PAndInputTagHelperDescriptors },
|
||||
{ "BasicTagHelpers", PAndInputTagHelperDescriptors },
|
||||
{ "BasicTagHelpers.RemoveTagHelper", PAndInputTagHelperDescriptors },
|
||||
{ "ContentBehaviorTagHelpers", ContentBehaviorTagHelperDescriptors },
|
||||
{ "ComplexTagHelpers", PAndInputTagHelperDescriptors },
|
||||
};
|
||||
}
|
||||
|
|
@ -339,7 +299,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
RunTagHelperTest("AddTagHelperDirective",
|
||||
designTimeMode: true,
|
||||
tagHelperDescriptors: new[] {
|
||||
new TagHelperDescriptor("p", "pTagHelper", "SomeAssembly", ContentBehavior.None)
|
||||
new TagHelperDescriptor("p", "pTagHelper", "SomeAssembly")
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -355,12 +315,11 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
new TagHelperDescriptor("MyTagHelper",
|
||||
"MyTagHelper",
|
||||
"SomeAssembly",
|
||||
ContentBehavior.None,
|
||||
new [] {
|
||||
new TagHelperAttributeDescriptor("BoundProperty",
|
||||
propertyInfo)
|
||||
}),
|
||||
new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", "SomeAssembly", ContentBehavior.Modify)
|
||||
new TagHelperDescriptor("NestedTagHelper", "NestedTagHelper", "SomeAssembly")
|
||||
};
|
||||
|
||||
// Act & Assert
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNet.Razor.Generator;
|
||||
using Microsoft.AspNet.Razor.Generator.Compiler;
|
||||
using Microsoft.AspNet.Razor.Generator.Compiler.CSharp;
|
||||
|
|
@ -16,7 +15,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var chunk = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
||||
|
|
@ -32,8 +31,8 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var chunk = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None),
|
||||
new TagHelperDescriptor("div", "Div2TagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName"),
|
||||
new TagHelperDescriptor("div", "Div2TagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
||||
|
|
@ -49,10 +48,10 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var chunk1 = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var chunk2 = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
||||
|
|
@ -69,10 +68,10 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var parentChunk = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var childChunk = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
parentChunk.Children.Add(childChunk);
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
|
@ -89,10 +88,10 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var divChunk = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var spanChunk = CreateTagHelperChunk("span", new[] {
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
||||
|
|
@ -109,15 +108,15 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
{
|
||||
// Arrange
|
||||
var chunk1 = CreateTagHelperChunk("div", new[] {
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName", ContentBehavior.None),
|
||||
new TagHelperDescriptor("div", "Div2TagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("div", "DivTagHelper", "FakeAssemblyName"),
|
||||
new TagHelperDescriptor("div", "Div2TagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var chunk2 = CreateTagHelperChunk("span", new[] {
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var chunk3 = CreateTagHelperChunk("span", new[] {
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName", ContentBehavior.None),
|
||||
new TagHelperDescriptor("span", "Span2TagHelper", "FakeAssemblyName", ContentBehavior.None)
|
||||
new TagHelperDescriptor("span", "SpanTagHelper", "FakeAssemblyName"),
|
||||
new TagHelperDescriptor("span", "Span2TagHelper", "FakeAssemblyName")
|
||||
});
|
||||
var codeRenderer = CreateCodeRenderer();
|
||||
|
||||
|
|
|
|||
|
|
@ -23,18 +23,16 @@ namespace Microsoft.AspNet.Razor.Test.Generator
|
|||
var checkedPropertyInfo = typeof(TestType).GetProperty("Checked");
|
||||
var tagHelperDescriptors = new TagHelperDescriptor[]
|
||||
{
|
||||
new TagHelperDescriptor("p", "PTagHelper", "SomeAssembly", ContentBehavior.None),
|
||||
new TagHelperDescriptor("p", "PTagHelper", "SomeAssembly"),
|
||||
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),
|
||||
new TagHelperAttributeDescriptor("checked", checkedPropertyInfo)
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
|||
public void TagHelperDescriptorProvider_GetTagHelpersReturnsNothingForUnregisteredTags()
|
||||
{
|
||||
// Arrange
|
||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly", ContentBehavior.None);
|
||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None);
|
||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly");
|
||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly");
|
||||
var descriptors = new TagHelperDescriptor[] { divDescriptor, spanDescriptor };
|
||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||
|
||||
|
|
@ -29,9 +29,9 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
|||
public void TagHelperDescriptorProvider_GetTagHelpersDoesNotReturnNonCatchAllTagsForCatchAll()
|
||||
{
|
||||
// Arrange
|
||||
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 divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly");
|
||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly");
|
||||
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly");
|
||||
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", "SomeAssembly", ContentBehavior.None);
|
||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly", ContentBehavior.None);
|
||||
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly", ContentBehavior.None);
|
||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly");
|
||||
var spanDescriptor = new TagHelperDescriptor("span", "foo2", "SomeAssembly");
|
||||
var catchAllDescriptor = new TagHelperDescriptor("*", "foo3", "SomeAssembly");
|
||||
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", "SomeAssembly", ContentBehavior.None);
|
||||
var divDescriptor = new TagHelperDescriptor("div", "foo1", "SomeAssembly");
|
||||
var descriptors = new TagHelperDescriptor[] { divDescriptor, divDescriptor };
|
||||
var provider = new TagHelperDescriptorProvider(descriptors);
|
||||
|
||||
|
|
|
|||
|
|
@ -518,7 +518,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
|||
// Arrange
|
||||
var descriptors = new TagHelperDescriptor[]
|
||||
{
|
||||
new TagHelperDescriptor("person", "PersonTagHelper", "personAssembly", ContentBehavior.None,
|
||||
new TagHelperDescriptor("person", "PersonTagHelper", "personAssembly",
|
||||
attributes: new[]
|
||||
{
|
||||
new TagHelperAttributeDescriptor("age", "Age", typeof(int).FullName),
|
||||
|
|
@ -1714,7 +1714,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
|
|||
foreach (var tagName in tagNames)
|
||||
{
|
||||
descriptors.Add(
|
||||
new TagHelperDescriptor(tagName, tagName + "taghelper", "SomeAssembly", ContentBehavior.None));
|
||||
new TagHelperDescriptor(tagName, tagName + "taghelper", "SomeAssembly"));
|
||||
}
|
||||
|
||||
return new TagHelperDescriptorProvider(descriptors);
|
||||
|
|
|
|||
|
|
@ -1,45 +0,0 @@
|
|||
namespace TestOutput
|
||||
{
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class ContentBehaviorTagHelpers
|
||||
{
|
||||
private static object @__o;
|
||||
private void @__RazorDesignTimeHelpers__()
|
||||
{
|
||||
#pragma warning disable 219
|
||||
string __tagHelperDirectiveSyntaxHelper = null;
|
||||
__tagHelperDirectiveSyntaxHelper =
|
||||
#line 1 "ContentBehaviorTagHelpers.cshtml"
|
||||
"something"
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
;
|
||||
#pragma warning restore 219
|
||||
}
|
||||
#line hidden
|
||||
private ModifyTagHelper __ModifyTagHelper = null;
|
||||
private NoneTagHelper __NoneTagHelper = null;
|
||||
private AppendTagHelper __AppendTagHelper = null;
|
||||
private PrependTagHelper __PrependTagHelper = null;
|
||||
private ReplaceTagHelper __ReplaceTagHelper = null;
|
||||
#line hidden
|
||||
public ContentBehaviorTagHelpers()
|
||||
{
|
||||
}
|
||||
|
||||
#pragma warning disable 1998
|
||||
public override async Task ExecuteAsync()
|
||||
{
|
||||
__ModifyTagHelper = CreateTagHelper<ModifyTagHelper>();
|
||||
__NoneTagHelper = CreateTagHelper<NoneTagHelper>();
|
||||
__AppendTagHelper = CreateTagHelper<AppendTagHelper>();
|
||||
__PrependTagHelper = CreateTagHelper<PrependTagHelper>();
|
||||
__ReplaceTagHelper = CreateTagHelper<ReplaceTagHelper>();
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
}
|
||||
}
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
#pragma checksum "ContentBehaviorTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "5aeeb0a2b5283b353efaff2cd2fb0c739020b899"
|
||||
namespace TestOutput
|
||||
{
|
||||
using Microsoft.AspNet.Razor.Runtime.TagHelpers;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
public class ContentBehaviorTagHelpers
|
||||
{
|
||||
#line hidden
|
||||
#pragma warning disable 0414
|
||||
private System.IO.TextWriter __tagHelperStringValueBuffer = null;
|
||||
#pragma warning restore 0414
|
||||
private TagHelperExecutionContext __tagHelperExecutionContext = null;
|
||||
private TagHelperRunner __tagHelperRunner = new TagHelperRunner();
|
||||
private TagHelperScopeManager __tagHelperScopeManager = new TagHelperScopeManager();
|
||||
private ModifyTagHelper __ModifyTagHelper = null;
|
||||
private NoneTagHelper __NoneTagHelper = null;
|
||||
private AppendTagHelper __AppendTagHelper = null;
|
||||
private PrependTagHelper __PrependTagHelper = null;
|
||||
private ReplaceTagHelper __ReplaceTagHelper = null;
|
||||
#line hidden
|
||||
public ContentBehaviorTagHelpers()
|
||||
{
|
||||
}
|
||||
|
||||
#pragma warning disable 1998
|
||||
public override async Task ExecuteAsync()
|
||||
{
|
||||
Instrumentation.BeginContext(27, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
Instrumentation.EndContext();
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("modify", "test");
|
||||
__ModifyTagHelper = CreateTagHelper<ModifyTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__ModifyTagHelper);
|
||||
StartWritingScope();
|
||||
WriteLiteral("\r\n ");
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("none", "test");
|
||||
__NoneTagHelper = CreateTagHelper<NoneTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__NoneTagHelper);
|
||||
__tagHelperExecutionContext.Output = __tagHelperRunner.RunAsync(__tagHelperExecutionContext).Result;
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateStartTag());
|
||||
WriteLiteral("\r\n ");
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("append", "test");
|
||||
__AppendTagHelper = CreateTagHelper<AppendTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__AppendTagHelper);
|
||||
__tagHelperExecutionContext.Output = __tagHelperRunner.RunAsync(__tagHelperExecutionContext).Result;
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateStartTag());
|
||||
WriteLiteral("\r\n ");
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("prepend", "test");
|
||||
__PrependTagHelper = CreateTagHelper<PrependTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__PrependTagHelper);
|
||||
__tagHelperExecutionContext.Output = __tagHelperRunner.RunAsync(__tagHelperExecutionContext).Result;
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateStartTag());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateContent());
|
||||
WriteLiteral("\r\n ");
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("replace", "test");
|
||||
__ReplaceTagHelper = CreateTagHelper<ReplaceTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__ReplaceTagHelper);
|
||||
__tagHelperExecutionContext.Output = __tagHelperRunner.RunAsync(__tagHelperExecutionContext).Result;
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateStartTag());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateContent());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateEndTag());
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
WriteLiteral("\r\n ");
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateEndTag());
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
WriteLiteral("\r\n ");
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateContent());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateEndTag());
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
WriteLiteral("\r\n ");
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateEndTag());
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
WriteLiteral("\r\n");
|
||||
__tagHelperStringValueBuffer = EndWritingScope();
|
||||
__tagHelperExecutionContext.Output = __tagHelperRunner.RunAsync(__tagHelperExecutionContext, __tagHelperStringValueBuffer).Result;
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateStartTag());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateContent());
|
||||
WriteLiteral(__tagHelperExecutionContext.Output.GenerateEndTag());
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
@addtaghelper "something"
|
||||
|
||||
<modify>
|
||||
<none>
|
||||
<append>
|
||||
<prepend>
|
||||
<replace>This should not be in the output</replace>
|
||||
</prepend>
|
||||
</append>
|
||||
</none>
|
||||
</modify>
|
||||
Loading…
Reference in New Issue