summaryrefslogtreecommitdiff
path: root/Zend/tests/stringable_automatic_implementation.phpt
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-02-06 10:27:30 +0100
committerNicolas Grekas <nicolas.grekas@gmail.com>2020-03-02 15:25:33 +0100
commit336eb48c36f3c1c115349307c18e6cf16ab003df (patch)
treee86f90498ee58ed041d625c245316609ef44fdcf /Zend/tests/stringable_automatic_implementation.phpt
parent9e775db02567d3b90694ebb43f0225875a48e8c9 (diff)
downloadphp-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.phpt35
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"
+}