Passed
Branch master (d251e3)
by Koen
02:37
created

LuaToPhpConverterTest::testString()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 7
rs 9.4286
cc 1
eloc 4
nc 1
nop 0
1
<?php
2
/**
3
 * LuaToPhpConverterTest.php
4
 *
5
 * @author Koen Vlaswinkel <[email protected]>
6
 * @since  21/12/2015 17:50
7
 */
8
9
namespace Vlaswinkel\Lua\Tests;
10
11
use Vlaswinkel\Lua\LuaInputStream;
12
use Vlaswinkel\Lua\LuaParser;
13
use Vlaswinkel\Lua\LuaTokenStream;
14
use Vlaswinkel\Lua\LuaToPhpConverter;
15
16
class LuaToPhpConverterTest extends \PHPUnit_Framework_TestCase {
17
    public function testString() {
18
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('"foo"')));
19
20
        $node = $parser->parse();
21
22
        $this->assertEquals("foo", LuaToPhpConverter::convertToPhpValue($node));
23
    }
24
25
    public function testNumber() {
26
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('1337')));
27
28
        $node = $parser->parse();
29
30
        $this->assertEquals(1337, LuaToPhpConverter::convertToPhpValue($node));
31
    }
32
33
    public function testNil() {
34
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('nil')));
35
36
        $node = $parser->parse();
37
38
        $this->assertEquals(null, LuaToPhpConverter::convertToPhpValue($node));
39
    }
40
41 View Code Duplication
    public function testSimpleTable() {
42
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('{ foo = "bar" }')));
43
44
        $node = $parser->parse();
45
46
        $result = LuaToPhpConverter::convertToPhpValue($node);
47
48
        $this->assertEquals(
49
            [
50
                'foo' => 'bar',
51
            ],
52
            $result
53
        );
54
    }
55
56 View Code Duplication
    public function testNestedTable() {
57
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('{ foo = { "bar" = { 1337 } } }')));
58
59
        $node = $parser->parse();
60
61
        $result = LuaToPhpConverter::convertToPhpValue($node);
62
63
        $this->assertEquals(
64
            [
65
                'foo' => [
66
                    'bar' => [
67
                        1337,
68
                    ],
69
                ],
70
            ],
71
            $result
72
        );
73
    }
74
75
    public function testEmptyTable() {
76
        $parser = new LuaParser(new LuaTokenStream(new LuaInputStream('{}')));
77
78
        $node = $parser->parse();
79
80
        $result = LuaToPhpConverter::convertToPhpValue($node);
81
82
        $this->assertEquals([], $result);
83
    }
84
}