Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public void TestInvalidElement(string input)
 {
     Assert.ThrowsAny <Exception>(() => PhpArrayElementSyntaxNode.Parse(new PhpTokeniser(input)));
 }