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