@@ -19,7 +19,8 @@ public function testParseFunction(): void
1919 $ this ->assertInstanceOf (ParseResult::class, $ result );
2020 $ functions = $ result ->functions ;
2121 $ this ->assertCount (1 , $ functions );
22- $ this ->assertEquals ('smallFunction ' , $ functions [0 ]->name );
22+ $ this ->assertSame ('smallFunction ' , $ functions [0 ]->name );
23+ $ this ->assertSame (null , $ functions [0 ]->namespace );
2324 $ this ->assertCount (2 , $ functions [0 ]->getVariables ());
2425
2526 $ vars = $ functions [0 ]->getVariables ();
@@ -38,18 +39,19 @@ public function testParseClass(): void
3839 $ this ->assertInstanceOf (ParseResult::class, $ result );
3940 $ functions = $ result ->functions ;
4041 $ this ->assertCount (1 , $ functions );
41- $ this ->assertEquals ('Clazz::bigFunction ' , $ functions [0 ]->name );
42+ $ this ->assertSame ('Smeghead\PhpVariableHardUsage\Fixtures ' , $ functions [0 ]->namespace );
43+ $ this ->assertSame ('Clazz::bigFunction ' , $ functions [0 ]->name );
4244 $ this ->assertCount (4 , $ functions [0 ]->getVariables ());
4345
4446 $ vars = $ functions [0 ]->getVariables ();
4547 $ this ->assertSame ('num ' , $ vars [0 ]->name );
46- $ this ->assertSame (9 , $ vars [0 ]->lineNumber , 'first $num (9 ) ' );
48+ $ this ->assertSame (11 , $ vars [0 ]->lineNumber , 'first $num (11 ) ' );
4749 $ this ->assertSame ('num ' , $ vars [1 ]->name );
48- $ this ->assertSame (11 , $ vars [1 ]->lineNumber , 'second $num (11 ) ' );
50+ $ this ->assertSame (13 , $ vars [1 ]->lineNumber , 'second $num (13 ) ' );
4951 $ this ->assertSame ('num ' , $ vars [2 ]->name );
50- $ this ->assertSame (12 , $ vars [2 ]->lineNumber , 'second $num (12 ) ' );
52+ $ this ->assertSame (14 , $ vars [2 ]->lineNumber , 'second $num (14 ) ' );
5153 $ this ->assertSame ('num ' , $ vars [3 ]->name );
52- $ this ->assertSame (15 , $ vars [3 ]->lineNumber , 'second $num (15 ) ' );
54+ $ this ->assertSame (17 , $ vars [3 ]->lineNumber , 'second $num (17 ) ' );
5355 }
5456
5557 public function testParseAnonymousFunction (): void
@@ -61,7 +63,7 @@ public function testParseAnonymousFunction(): void
6163 $ this ->assertInstanceOf (ParseResult::class, $ result );
6264 $ functions = $ result ->functions ;
6365 $ this ->assertCount (1 , $ functions );
64- $ this ->assertEquals ('Expr_Closure@4 ' , $ functions [0 ]->name );
66+ $ this ->assertSame ('Expr_Closure@4 ' , $ functions [0 ]->name );
6567 $ this ->assertCount (4 , $ functions [0 ]->getVariables ());
6668
6769 $ vars = $ functions [0 ]->getVariables ();
@@ -74,4 +76,23 @@ public function testParseAnonymousFunction(): void
7476 $ this ->assertSame ('b ' , $ vars [3 ]->name );
7577 $ this ->assertSame (5 , $ vars [3 ]->lineNumber , 'second $b (5) ' );
7678 }
79+
80+ public function testParseNamespace (): void
81+ {
82+ $ parser = new VariableParser ();
83+ $ content = file_get_contents ($ this ->fixtureDir . '/namespace.php ' );
84+ $ result = $ parser ->parse ($ content );
85+
86+ $ this ->assertInstanceOf (ParseResult::class, $ result );
87+ $ functions = $ result ->functions ;
88+ $ this ->assertCount (2 , $ functions );
89+ $ this ->assertSame ('SomeNamespace ' , $ functions [0 ]->namespace );
90+ $ this ->assertSame ('someFunction ' , $ functions [0 ]->name );
91+ $ this ->assertCount (0 , $ functions [0 ]->getVariables ());
92+
93+ $ this ->assertSame ('OtherNamespace ' , $ functions [1 ]->namespace );
94+ $ this ->assertSame ('otherFunction ' , $ functions [1 ]->name );
95+ $ this ->assertCount (0 , $ functions [1 ]->getVariables ());
96+ }
97+
7798}
0 commit comments