Fix reflected attribute ordering in tests for Mono build.

https://github.com/davidfowl/MonoBugs/issues/3
This commit is contained in:
N. Taylor Mullen 2015-04-01 19:43:35 -07:00
parent 37a90af7d0
commit be4fb7649f
1 changed files with 23 additions and 8 deletions

View File

@ -191,7 +191,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
// Assert // Assert
Assert.Empty(errorSink.Errors); Assert.Empty(errorSink.Errors);
Assert.Equal(expectedDescriptors, descriptors.ToArray(), CaseSensitiveTagHelperDescriptorComparer.Default);
// We don't care about order. Mono returns reflected attributes differently so we need to ensure order
// doesn't matter by sorting.
descriptors = descriptors.OrderBy(descriptor => descriptor.TagName).ToArray();
Assert.Equal(expectedDescriptors, descriptors, CaseSensitiveTagHelperDescriptorComparer.Default);
} }
public static TheoryData HtmlCaseData public static TheoryData HtmlCaseData
@ -328,7 +333,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
// Assert // Assert
Assert.Empty(errorSink.Errors); Assert.Empty(errorSink.Errors);
Assert.Equal(expectedDescriptors, descriptors.ToArray(), CaseSensitiveTagHelperDescriptorComparer.Default); Assert.Equal(expectedDescriptors, descriptors, CaseSensitiveTagHelperDescriptorComparer.Default);
} }
[Fact] [Fact]
@ -468,14 +473,14 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var validProp = typeof(MultiTagTagHelper).GetProperty(nameof(MultiTagTagHelper.ValidAttribute)); var validProp = typeof(MultiTagTagHelper).GetProperty(nameof(MultiTagTagHelper.ValidAttribute));
var expectedDescriptors = new[] { var expectedDescriptors = new[] {
new TagHelperDescriptor( new TagHelperDescriptor(
"p", "div",
typeof(MultiTagTagHelper).FullName, typeof(MultiTagTagHelper).FullName,
AssemblyName, AssemblyName,
new[] { new[] {
new TagHelperAttributeDescriptor("valid-attribute", validProp) new TagHelperAttributeDescriptor("valid-attribute", validProp)
}), }),
new TagHelperDescriptor( new TagHelperDescriptor(
"div", "p",
typeof(MultiTagTagHelper).FullName, typeof(MultiTagTagHelper).FullName,
AssemblyName, AssemblyName,
new[] { new[] {
@ -491,7 +496,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
// Assert // Assert
Assert.Empty(errorSink.Errors); Assert.Empty(errorSink.Errors);
Assert.Equal(expectedDescriptors, descriptors.ToArray(), CaseSensitiveTagHelperDescriptorComparer.Default);
// We don't care about order. Mono returns reflected attributes differently so we need to ensure order
// doesn't matter by sorting.
descriptors = descriptors.OrderBy(descriptor => descriptor.TagName).ToArray();
Assert.Equal(expectedDescriptors, descriptors, CaseSensitiveTagHelperDescriptorComparer.Default);
} }
[Fact] [Fact]
@ -527,11 +537,11 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var errorSink = new ParserErrorSink(); var errorSink = new ParserErrorSink();
var expectedDescriptors = new[] { var expectedDescriptors = new[] {
new TagHelperDescriptor( new TagHelperDescriptor(
"p", "div",
typeof(DuplicateTagNameTagHelper).FullName, typeof(DuplicateTagNameTagHelper).FullName,
AssemblyName), AssemblyName),
new TagHelperDescriptor( new TagHelperDescriptor(
"div", "p",
typeof(DuplicateTagNameTagHelper).FullName, typeof(DuplicateTagNameTagHelper).FullName,
AssemblyName) AssemblyName)
}; };
@ -544,7 +554,12 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
// Assert // Assert
Assert.Empty(errorSink.Errors); Assert.Empty(errorSink.Errors);
Assert.Equal(expectedDescriptors, descriptors.ToArray(), CaseSensitiveTagHelperDescriptorComparer.Default);
// We don't care about order. Mono returns reflected attributes differently so we need to ensure order
// doesn't matter by sorting.
descriptors = descriptors.OrderBy(descriptor => descriptor.TagName).ToArray();
Assert.Equal(expectedDescriptors, descriptors, CaseSensitiveTagHelperDescriptorComparer.Default);
} }
[Fact] [Fact]