private static DefaultTagHelperCompletionService CreateTagHelperCompletionFactsService() { var tagHelperFactsService = new DefaultTagHelperFactsService(); var completionFactService = new DefaultTagHelperCompletionService(tagHelperFactsService); return(completionFactService); }
public TagHelperServiceTestBase() { var builder1 = TagHelperDescriptorBuilder.Create("Test1TagHelper", "TestAssembly"); builder1.TagMatchingRule(rule => rule.TagName = "test1"); builder1.SetTypeName("Test1TagHelper"); builder1.BindAttribute(attribute => { attribute.Name = "bool-val"; attribute.SetPropertyName("BoolVal"); attribute.TypeName = typeof(bool).FullName; }); builder1.BindAttribute(attribute => { attribute.Name = "int-val"; attribute.SetPropertyName("IntVal"); attribute.TypeName = typeof(int).FullName; }); var builder2 = TagHelperDescriptorBuilder.Create("Test2TagHelper", "TestAssembly"); builder2.TagMatchingRule(rule => rule.TagName = "test2"); builder2.SetTypeName("Test2TagHelper"); builder2.BindAttribute(attribute => { attribute.Name = "bool-val"; attribute.SetPropertyName("BoolVal"); attribute.TypeName = typeof(bool).FullName; }); builder2.BindAttribute(attribute => { attribute.Name = "int-val"; attribute.SetPropertyName("IntVal"); attribute.TypeName = typeof(int).FullName; }); var builder3 = TagHelperDescriptorBuilder.Create(ComponentMetadata.Component.TagHelperKind, "Component1TagHelper", "TestAssembly"); builder3.TagMatchingRule(rule => rule.TagName = "Component1"); builder3.SetTypeName("Component1"); builder3.Metadata[ComponentMetadata.Component.NameMatchKey] = ComponentMetadata.Component.FullyQualifiedNameMatch; builder3.BindAttribute(attribute => { attribute.Name = "bool-val"; attribute.SetPropertyName("BoolVal"); attribute.TypeName = typeof(bool).FullName; }); builder3.BindAttribute(attribute => { attribute.Name = "int-val"; attribute.SetPropertyName("IntVal"); attribute.TypeName = typeof(int).FullName; }); var directiveAttribute1 = TagHelperDescriptorBuilder.Create(ComponentMetadata.Component.TagHelperKind, "TestDirectiveAttribute", "TestAssembly"); directiveAttribute1.TagMatchingRule(rule => { rule.TagName = "*"; rule.RequireAttributeDescriptor(b => { b.Name = "@test"; b.NameComparisonMode = RequiredAttributeDescriptor.NameComparisonMode.PrefixMatch; }); }); directiveAttribute1.TagMatchingRule(rule => { rule.TagName = "*"; rule.RequireAttributeDescriptor(b => { b.Name = "@test"; b.NameComparisonMode = RequiredAttributeDescriptor.NameComparisonMode.FullMatch; }); }); directiveAttribute1.BindAttribute(attribute => { attribute.Metadata[ComponentMetadata.Common.DirectiveAttribute] = bool.TrueString; attribute.Name = "@test"; attribute.SetPropertyName("Test"); attribute.TypeName = typeof(string).FullName; attribute.BindAttributeParameter(parameter => { parameter.Name = "something"; parameter.TypeName = typeof(string).FullName; parameter.SetPropertyName("Something"); }); }); directiveAttribute1.Metadata[TagHelperMetadata.Common.ClassifyAttributesOnly] = bool.TrueString; directiveAttribute1.Metadata[ComponentMetadata.Component.NameMatchKey] = ComponentMetadata.Component.FullyQualifiedNameMatch; directiveAttribute1.SetTypeName("TestDirectiveAttribute"); var directiveAttribute2 = TagHelperDescriptorBuilder.Create(ComponentMetadata.Component.TagHelperKind, "MinimizedDirectiveAttribute", "TestAssembly"); directiveAttribute2.TagMatchingRule(rule => { rule.TagName = "*"; rule.RequireAttributeDescriptor(b => { b.Name = "@minimized"; b.NameComparisonMode = RequiredAttributeDescriptor.NameComparisonMode.PrefixMatch; }); }); directiveAttribute2.TagMatchingRule(rule => { rule.TagName = "*"; rule.RequireAttributeDescriptor(b => { b.Name = "@minimized"; b.NameComparisonMode = RequiredAttributeDescriptor.NameComparisonMode.FullMatch; }); }); directiveAttribute2.BindAttribute(attribute => { attribute.Metadata[ComponentMetadata.Common.DirectiveAttribute] = bool.TrueString; attribute.Name = "@minimized"; attribute.SetPropertyName("Minimized"); attribute.TypeName = typeof(bool).FullName; attribute.BindAttributeParameter(parameter => { parameter.Name = "something"; parameter.TypeName = typeof(string).FullName; parameter.SetPropertyName("Something"); }); }); directiveAttribute2.Metadata[TagHelperMetadata.Common.ClassifyAttributesOnly] = bool.TrueString; directiveAttribute2.Metadata[ComponentMetadata.Component.NameMatchKey] = ComponentMetadata.Component.FullyQualifiedNameMatch; directiveAttribute2.SetTypeName("TestDirectiveAttribute"); DefaultTagHelpers = new[] { builder1.Build(), builder2.Build(), builder3.Build(), directiveAttribute1.Build(), directiveAttribute2.Build() }; HtmlFactsService = new DefaultHtmlFactsService(); TagHelperFactsService = new DefaultTagHelperFactsService(); RazorTagHelperCompletionService = new DefaultRazorTagHelperCompletionService(TagHelperFactsService); }