1--TEST-- 2"defined" test 3--TEMPLATE-- 4{{ definedVar is defined ? 'ok' : 'ko' }} 5{{ definedVar is not defined ? 'ko' : 'ok' }} 6{{ undefinedVar is defined ? 'ko' : 'ok' }} 7{{ undefinedVar is not defined ? 'ok' : 'ko' }} 8{{ zeroVar is defined ? 'ok' : 'ko' }} 9{{ nullVar is defined ? 'ok' : 'ko' }} 10{{ nested.definedVar is defined ? 'ok' : 'ko' }} 11{{ nested['definedVar'] is defined ? 'ok' : 'ko' }} 12{{ nested.definedVar is not defined ? 'ko' : 'ok' }} 13{{ nested.undefinedVar is defined ? 'ko' : 'ok' }} 14{{ nested['undefinedVar'] is defined ? 'ko' : 'ok' }} 15{{ nested.undefinedVar is not defined ? 'ok' : 'ko' }} 16{{ nested.zeroVar is defined ? 'ok' : 'ko' }} 17{{ nested.nullVar is defined ? 'ok' : 'ko' }} 18{{ nested.definedArray.0 is defined ? 'ok' : 'ko' }} 19{{ nested['definedArray'][0] is defined ? 'ok' : 'ko' }} 20{{ object.foo is defined ? 'ok' : 'ko' }} 21{{ object.undefinedMethod is defined ? 'ko' : 'ok' }} 22{{ object.getFoo() is defined ? 'ok' : 'ko' }} 23{{ object.getFoo('a') is defined ? 'ok' : 'ko' }} 24{{ object.undefinedMethod() is defined ? 'ko' : 'ok' }} 25{{ object.undefinedMethod('a') is defined ? 'ko' : 'ok' }} 26{{ object.self.foo is defined ? 'ok' : 'ko' }} 27{{ object.self.undefinedMethod is defined ? 'ko' : 'ok' }} 28{{ object.undefinedMethod.self is defined ? 'ko' : 'ok' }} 29{{ 0 is defined ? 'ok' : 'ko' }} 30{{ "foo" is defined ? 'ok' : 'ko' }} 31{{ true is defined ? 'ok' : 'ko' }} 32{{ false is defined ? 'ok' : 'ko' }} 33{{ null is defined ? 'ok' : 'ko' }} 34{{ [1, 2] is defined ? 'ok' : 'ko' }} 35{{ { foo: "bar" } is defined ? 'ok' : 'ko' }} 36--DATA-- 37return [ 38 'definedVar' => 'defined', 39 'zeroVar' => 0, 40 'nullVar' => null, 41 'nested' => [ 42 'definedVar' => 'defined', 43 'zeroVar' => 0, 44 'nullVar' => null, 45 'definedArray' => [0], 46 ], 47 'object' => new TwigTestFoo(), 48] 49--EXPECT-- 50ok 51ok 52ok 53ok 54ok 55ok 56ok 57ok 58ok 59ok 60ok 61ok 62ok 63ok 64ok 65ok 66ok 67ok 68ok 69ok 70ok 71ok 72ok 73ok 74ok 75ok 76ok 77ok 78ok 79ok 80ok 81ok 82--DATA-- 83return [ 84 'definedVar' => 'defined', 85 'zeroVar' => 0, 86 'nullVar' => null, 87 'nested' => [ 88 'definedVar' => 'defined', 89 'zeroVar' => 0, 90 'nullVar' => null, 91 'definedArray' => [0], 92 ], 93 'object' => new TwigTestFoo(), 94] 95--CONFIG-- 96return ['strict_variables' => false] 97--EXPECT-- 98ok 99ok 100ok 101ok 102ok 103ok 104ok 105ok 106ok 107ok 108ok 109ok 110ok 111ok 112ok 113ok 114ok 115ok 116ok 117ok 118ok 119ok 120ok 121ok 122ok 123ok 124ok 125ok 126ok 127ok 128ok 129ok 130