@@ -10,17 +10,19 @@ class RuntimeTest extends TestCase
1010{
1111 public function testIfVar (): void
1212 {
13- $ this ->assertFalse (Runtime::ifvar (null , false ));
14- $ this ->assertFalse (Runtime::ifvar (0 , false ));
13+ $ this ->assertFalse (Runtime::ifvar (null ));
14+ $ this ->assertFalse (Runtime::ifvar (0 ));
1515 $ this ->assertTrue (Runtime::ifvar (0 , true ));
16- $ this ->assertFalse (Runtime::ifvar (false , false ));
17- $ this ->assertTrue (Runtime::ifvar (true , false ));
18- $ this ->assertTrue (Runtime::ifvar (1 , false ));
19- $ this ->assertFalse (Runtime::ifvar ('' , false ));
20- $ this ->assertTrue (Runtime::ifvar ('0 ' , false ));
21- $ this ->assertFalse (Runtime::ifvar ([], false ));
22- $ this ->assertTrue (Runtime::ifvar (['' ], false ));
23- $ this ->assertTrue (Runtime::ifvar ([0 ], false ));
16+ $ this ->assertFalse (Runtime::ifvar (false ));
17+ $ this ->assertTrue (Runtime::ifvar (true ));
18+ $ this ->assertTrue (Runtime::ifvar (1 ));
19+ $ this ->assertFalse (Runtime::ifvar ('' ));
20+ $ this ->assertTrue (Runtime::ifvar ('0 ' ));
21+ $ this ->assertFalse (Runtime::ifvar ([]));
22+ $ this ->assertTrue (Runtime::ifvar (['' ]));
23+ $ this ->assertTrue (Runtime::ifvar ([0 ]));
24+ $ this ->assertFalse (Runtime::ifvar (self ::createStringable ('' )));
25+ $ this ->assertTrue (Runtime::ifvar (self ::createStringable ('0 ' )));
2426 }
2527
2628 public function testIsec (): void
@@ -41,4 +43,16 @@ public function testWi(): void
4143 $ this ->assertSame ('{"a":"b"} ' , Runtime::wi ($ cx , ['a ' => 'b ' ], null , ['a ' => 'c ' ], function ($ c , $ i ) {return json_encode ($ i ); }));
4244 $ this ->assertSame ('-b= ' , Runtime::wi ($ cx , 'b ' , null , ['a ' => 'b ' ], function ($ c , $ i ) {return "- $ i= " ; }));
4345 }
46+
47+ private static function createStringable (string $ value ): \Stringable
48+ {
49+ return new class ($ value ) implements \Stringable {
50+ public function __construct (private string $ value ) {}
51+
52+ public function __toString (): string
53+ {
54+ return $ this ->value ;
55+ }
56+ };
57+ }
4458}
0 commit comments