public void Resolve_ResolvesDesignTimeTagHelperDescriptors() { // Arrange var assemblyNameLookups = new Dictionary <string, IEnumerable <Type> > { { CustomTagHelperAssembly, new[] { typeof(DesignTimeTagHelper) } } }; var descriptorResolver = new TestAssemblyTagHelperDescriptorResolver(assemblyNameLookups); var expectedDescriptor = new TagHelperDescriptor { Prefix = DefaultPrefix, TagName = "design-time", TypeName = typeof(DesignTimeTagHelper).FullName, AssemblyName = typeof(DesignTimeTagHelper).GetTypeInfo().Assembly.GetName().Name, AllowedChildren = new[] { "br" }, TagStructure = TagStructure.NormalOrSelfClosing, DesignTimeDescriptor = new TagHelperDesignTimeDescriptor { OutputElementHint = "strong" } }; var errorSink = new ErrorSink(); // Act var descriptors = descriptorResolver.Resolve(CustomTagHelperAssembly, errorSink); // Assert Assert.NotNull(descriptors); var descriptor = Assert.Single(descriptors); Assert.Equal(CustomTagHelperAssembly, descriptor.AssemblyName, StringComparer.Ordinal); Assert.Equal(expectedDescriptor, descriptor, CaseSensitiveTagHelperDescriptorComparer.Default); Assert.Empty(errorSink.Errors); }
public void Resolve_ResolvesTagHelperDescriptors() { // Arrange var assemblyNameLookups = new Dictionary <string, IEnumerable <Type> > { { CustomTagHelperAssembly, new[] { typeof(CustomTagHelper) } } }; var descriptorResolver = new TestAssemblyTagHelperDescriptorResolver(assemblyNameLookups); var errorSink = new ErrorSink(); // Act var descriptors = descriptorResolver.Resolve(CustomTagHelperAssembly, errorSink); // Assert Assert.NotNull(descriptors); var descriptor = Assert.Single(descriptors); Assert.Equal(CustomTagHelperAssembly, descriptor.AssemblyName, StringComparer.Ordinal); Assert.Equal(CustomTagHelperDescriptor, descriptor, CaseSensitiveTagHelperDescriptorComparer.Default); Assert.Empty(errorSink.Errors); }
public void Resolve_CreatesErrors() { // Arrange var assemblyNameLookups = new Dictionary <string, IEnumerable <Type> > { { CustomTagHelperAssembly, new[] { typeof(InvalidTagHelper) } } }; var descriptorResolver = new TestAssemblyTagHelperDescriptorResolver(assemblyNameLookups); var errorSink = new ErrorSink(); // Act var descriptors = descriptorResolver.Resolve(CustomTagHelperAssembly, errorSink); // Assert Assert.NotEmpty(descriptors); var error = Assert.Single(errorSink.Errors); Assert.Equal( "Tag helpers cannot target tag name 'inv@lid' because it contains a '@' character.", error.Message, StringComparer.Ordinal); Assert.Equal(SourceLocation.Zero, error.Location); Assert.Equal(0, error.Length); }