diff options
| author | Ilija Tovilo <ilija.tovilo@me.com> | 2020-08-09 19:24:44 +0200 |
|---|---|---|
| committer | Ilija Tovilo <ilija.tovilo@me.com> | 2020-08-11 21:16:44 +0200 |
| commit | 10f660f0a51812ac62e8f03895944e895e553240 (patch) | |
| tree | 6035146fff3b21d14398c1f3ec36045fb1716ee8 /Zend/tests/nullsafe_operator | |
| parent | 898bb97706326311a367aaef35b3f95510100f3c (diff) | |
| download | php-git-10f660f0a51812ac62e8f03895944e895e553240.tar.gz | |
Fix ?-> in encaps vars without braces
Closes GH-5966.
Diffstat (limited to 'Zend/tests/nullsafe_operator')
| -rw-r--r-- | Zend/tests/nullsafe_operator/003.phpt | 29 | ||||
| -rw-r--r-- | Zend/tests/nullsafe_operator/033.phpt | 61 |
2 files changed, 71 insertions, 19 deletions
diff --git a/Zend/tests/nullsafe_operator/003.phpt b/Zend/tests/nullsafe_operator/003.phpt index b19c619eeb..83c2863d1a 100644 --- a/Zend/tests/nullsafe_operator/003.phpt +++ b/Zend/tests/nullsafe_operator/003.phpt @@ -19,25 +19,20 @@ var_dump(null?->baz); var_dump(null?->qux()); var_dump(null?->quux()); -var_dump((new Foo)?->bar); -var_dump((new Foo)?->baz); -var_dump((new Foo)?->qux()); +var_dump($foo?->bar); +var_dump($foo?->baz); +var_dump($foo?->qux()); try { - var_dump((new Foo)?->quux()); + var_dump($foo?->quux()); } catch (Throwable $e) { var_dump($e->getMessage()); } -var_dump("{$null?->foo}"); -var_dump("{$null?->bar}"); -var_dump("{$null?->qux()}"); -var_dump("{$null?->quux()}"); - -var_dump("{$foo?->bar}"); -var_dump("{$foo?->baz}"); -var_dump("{$foo?->qux()}"); +var_dump((new Foo)?->bar); +var_dump((new Foo)?->baz); +var_dump((new Foo)?->qux()); try { - var_dump("{$foo?->quux()}"); + var_dump((new Foo)?->quux()); } catch (Throwable $e) { var_dump($e->getMessage()); } @@ -54,13 +49,9 @@ Warning: Undefined property: Foo::$baz in %s.php on line 20 NULL string(3) "qux" string(36) "Call to undefined method Foo::quux()" -string(0) "" -string(0) "" -string(0) "" -string(0) "" string(3) "bar" -Warning: Undefined property: Foo::$baz in %s.php on line 34 -string(0) "" +Warning: Undefined property: Foo::$baz in %s.php on line 29 +NULL string(3) "qux" string(36) "Call to undefined method Foo::quux()" diff --git a/Zend/tests/nullsafe_operator/033.phpt b/Zend/tests/nullsafe_operator/033.phpt new file mode 100644 index 0000000000..63ee2f850a --- /dev/null +++ b/Zend/tests/nullsafe_operator/033.phpt @@ -0,0 +1,61 @@ +--TEST-- +Test nullsafe operator in encaps vars +--FILE-- +<?php + +class Foo { + public $bar = 'bar'; + + function qux() { + return 'qux'; + } +} + +$null = null; +$foo = new Foo(); + +var_dump("{$null?->foo}"); +var_dump("{$null?->bar()}"); +var_dump("$null?->foo"); +var_dump("$null?->bar()"); + +var_dump("{$foo?->bar}"); +var_dump("{$foo?->baz}"); +var_dump("{$foo?->qux()}"); +try { + var_dump("{$foo?->quux()}"); +} catch (Throwable $e) { + var_dump($e->getMessage()); +} + +var_dump("$foo?->bar"); +var_dump("$foo?->baz"); +var_dump("$foo?->qux()"); +try { + var_dump("$foo?->quux()"); +} catch (Throwable $e) { + var_dump($e->getMessage()); +} + +?> +--EXPECTF-- +string(0) "" +string(0) "" +string(0) "" +string(2) "()" +string(3) "bar" + +Warning: Undefined property: Foo::$baz in %s.php on line 20 +string(0) "" +string(3) "qux" +string(36) "Call to undefined method Foo::quux()" +string(3) "bar" + +Warning: Undefined property: Foo::$baz in %s.php on line 29 +string(0) "" + +Warning: Undefined property: Foo::$qux in %s.php on line 30 +string(2) "()" + +Warning: Undefined property: Foo::$quux in %s.php on line 32 +string(2) "()" |
