Browse Source

Fix PropertyParserTests.

Jeremy Koritzinsky 7 years ago
parent
commit
2cd66f4d49
1 changed files with 30 additions and 44 deletions
  1. 30 44
      tests/Avalonia.Markup.Xaml.UnitTests/Parsers/PropertyParserTests.cs

+ 30 - 44
tests/Avalonia.Markup.Xaml.UnitTests/Parsers/PropertyParserTests.cs

@@ -13,7 +13,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Parses_Name()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo");
+            var reader = new CharacterReader("Foo".AsSpan());
             var (ns, owner, name) = target.Parse(reader);
 
             Assert.Null(ns);
@@ -25,7 +25,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Parses_Owner_And_Name()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo.Bar");
+            var reader = new CharacterReader("Foo.Bar".AsSpan());
             var (ns, owner, name) = target.Parse(reader);
 
             Assert.Null(ns);
@@ -37,7 +37,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Parses_Namespace_Owner_And_Name()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("foo:Bar.Baz");
+            var reader = new CharacterReader("foo:Bar.Baz".AsSpan());
             var (ns, owner, name) = target.Parse(reader);
 
             Assert.Equal("foo", ns);
@@ -49,7 +49,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Parses_Owner_And_Name_With_Parentheses()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("(Foo.Bar)");
+            var reader = new CharacterReader("(Foo.Bar)".AsSpan());
             var (ns, owner, name) = target.Parse(reader);
 
             Assert.Null(ns);
@@ -61,7 +61,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Parses_Namespace_Owner_And_Name_With_Parentheses()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("(foo:Bar.Baz)");
+            var reader = new CharacterReader("(foo:Bar.Baz)".AsSpan());
             var (ns, owner, name) = target.Parse(reader);
 
             Assert.Equal("foo", ns);
@@ -73,9 +73,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Empty_String()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("");
 
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader(ReadOnlySpan<char>.Empty)));
             Assert.Equal(0, ex.Column);
             Assert.Equal("Expected property name.", ex.Message);
         }
@@ -84,9 +83,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Only_Whitespace()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("  ");
 
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("  ".AsSpan())));
             Assert.Equal(0, ex.Column);
             Assert.Equal("Unexpected ' '.", ex.Message);
         }
@@ -95,9 +93,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Leading_Whitespace()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader(" Foo");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader(" Foo".AsSpan())));
             Assert.Equal(0, ex.Column);
             Assert.Equal("Unexpected ' '.", ex.Message);
         }
@@ -106,9 +103,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Trailing_Whitespace()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo ");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo ".AsSpan())));
             Assert.Equal(3, ex.Column);
             Assert.Equal("Unexpected ' '.", ex.Message);
         }
@@ -117,9 +113,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Invalid_Property_Name()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("123");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("123".AsSpan())));
             Assert.Equal(0, ex.Column);
             Assert.Equal("Unexpected '1'.", ex.Message);
         }
@@ -128,9 +123,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Trailing_Junk()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo%");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo%".AsSpan())));
             Assert.Equal(3, ex.Column);
             Assert.Equal("Unexpected '%'.", ex.Message);
         }
@@ -139,9 +133,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Invalid_Property_Name_After_Owner()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo.123");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo.123".AsSpan())));
             Assert.Equal(4, ex.Column);
             Assert.Equal("Unexpected '1'.", ex.Message);
         }
@@ -150,9 +143,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Whitespace_Between_Owner_And_Name()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo. Bar");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo. Bar".AsSpan())));
             Assert.Equal(4, ex.Column);
             Assert.Equal("Unexpected ' '.", ex.Message);
         }
@@ -161,9 +153,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Too_Many_Segments()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo.Bar.Baz");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo.Bar.Baz".AsSpan())));
             Assert.Equal(8, ex.Column);
             Assert.Equal("Unexpected '.'.", ex.Message);
         }
@@ -172,9 +163,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Too_Many_Namespaces()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("foo:bar:Baz");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("foo:bar:Baz".AsSpan())));
             Assert.Equal(8, ex.Column);
             Assert.Equal("Unexpected ':'.", ex.Message);
         }
@@ -183,9 +173,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Parens_But_No_Owner()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("(Foo)");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("(Foo)".AsSpan())));
             Assert.Equal(1, ex.Column);
             Assert.Equal("Expected property owner.", ex.Message);
         }
@@ -194,9 +183,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Parens_And_Namespace_But_No_Owner()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("(foo:Bar)");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("(foo:Bar)".AsSpan())));
             Assert.Equal(1, ex.Column);
             Assert.Equal("Expected property owner.", ex.Message);
         }
@@ -205,9 +193,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Missing_Close_Parens()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("(Foo.Bar");
-
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("(Foo.Bar".AsSpan())));
             Assert.Equal(8, ex.Column);
             Assert.Equal("Expected ')'.", ex.Message);
         }
@@ -216,9 +203,8 @@ namespace Avalonia.Markup.Xaml.UnitTests.Parsers
         public void Fails_With_Unexpected_Close_Parens()
         {
             var target = new PropertyParser();
-            var reader = new CharacterReader("Foo.Bar)");
 
-            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(reader));
+            var ex = Assert.Throws<ExpressionParseException>(() => target.Parse(new CharacterReader("Foo.Bar)".AsSpan())));
             Assert.Equal(7, ex.Column);
             Assert.Equal("Unexpected ')'.", ex.Message);
         }