public void LeftHandSideExpression_should_match_dynamic_property_with_superfluous_whitespace() { var expected = new DynamicPropertyExpression( new IdentifierExpression("foo", new SourceRange(1, 3, 1, 1)), new StringLiteralExpression("bar", new SourceRange(7,5,1,7)), new SourceRange(1,13,1,1) ); var match = EmdGrammar.LeftHandSideExpression.ShouldMatchAllOf("@foo [ 'bar' ]"); match.Product.ShouldBeEquivalentTo(expected); }
public void LeftHandSideExpression_should_match_multiple_dynamic_properties() { var expected = new DynamicPropertyExpression( new DynamicPropertyExpression( new IdentifierExpression("foo", new SourceRange(1, 3, 1, 1)), new StringLiteralExpression("bar", new SourceRange(5,5,1,5)), new SourceRange(1,10,1,1) ), new StringLiteralExpression("baz", new SourceRange(12,5,1,12)), new SourceRange(1,17,1,1) ); var match = EmdGrammar.LeftHandSideExpression.ShouldMatchAllOf( //0....:....0....:....0....:....0....:....0....:....0....:....0 @"@foo['bar']['baz']"); match.Product.ShouldBeEquivalentTo(expected); }