diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-02-06 10:27:30 +0100 |
---|---|---|
committer | Nicolas Grekas <nicolas.grekas@gmail.com> | 2020-03-02 15:25:33 +0100 |
commit | 336eb48c36f3c1c115349307c18e6cf16ab003df (patch) | |
tree | e86f90498ee58ed041d625c245316609ef44fdcf /Zend/tests/stringable_automatic_implementation.phpt | |
parent | 9e775db02567d3b90694ebb43f0225875a48e8c9 (diff) | |
download | php-git-336eb48c36f3c1c115349307c18e6cf16ab003df.tar.gz |
Automatically implement Stringable interface
Diffstat (limited to 'Zend/tests/stringable_automatic_implementation.phpt')
-rw-r--r-- | Zend/tests/stringable_automatic_implementation.phpt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Zend/tests/stringable_automatic_implementation.phpt b/Zend/tests/stringable_automatic_implementation.phpt new file mode 100644 index 0000000000..5c45c03acb --- /dev/null +++ b/Zend/tests/stringable_automatic_implementation.phpt @@ -0,0 +1,35 @@ +--TEST-- +Stringable is automatically implemented +--FILE-- +<?php + +class Test { + public function __toString() { + return "foo"; + } +} + +var_dump(new Test instanceof Stringable); +var_dump((new ReflectionClass(Test::class))->getInterfaceNames()); + +class Test2 extends Test { + public function __toString() { + return "bar"; + } +} + +var_dump(new Test2 instanceof Stringable); +var_dump((new ReflectionClass(Test2::class))->getInterfaceNames()); + +?> +--EXPECT-- +bool(true) +array(1) { + [0]=> + string(10) "Stringable" +} +bool(true) +array(1) { + [0]=> + string(10) "Stringable" +} |