public void TestBasicElement(string input, string expectedKey, string expectedValue) { var syntaxNode = PhpArrayElementSyntaxNode.Parse(new PhpTokeniser(input)); Assert.Equal(expectedKey, syntaxNode.Key.Text); Assert.IsType <PhpStringLiteralSyntaxNode>(syntaxNode.Value); Assert.Equal(expectedValue, ((PhpStringLiteralSyntaxNode)syntaxNode.Value).Text); }
public void TestArrayElement() { var syntaxNode = PhpArrayElementSyntaxNode.Parse(new PhpTokeniser(@" 'Key' => [ 'Key1' => 'Value1' ]")); Assert.Equal("Key", syntaxNode.Key.Text); Assert.IsType <PhpArraySyntaxNode>(syntaxNode.Value); var nestedArray = (PhpArraySyntaxNode)syntaxNode.Value; Assert.Single(nestedArray.Elements); Assert.Equal("Key1", nestedArray.Elements[0].Key.Text); Assert.Equal("Value1", ((PhpStringLiteralSyntaxNode)nestedArray.Elements[0].Value).Text); }
public void TestInvalidElement(string input) { Assert.ThrowsAny <Exception>(() => PhpArrayElementSyntaxNode.Parse(new PhpTokeniser(input))); }