]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - vendor/pimple/pimple/ext/pimple/tests/006.phpt
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / pimple / pimple / ext / pimple / tests / 006.phpt
diff --git a/vendor/pimple/pimple/ext/pimple/tests/006.phpt b/vendor/pimple/pimple/ext/pimple/tests/006.phpt
new file mode 100644 (file)
index 0000000..cfe8a11
--- /dev/null
@@ -0,0 +1,51 @@
+--TEST--
+Test complex class inheritance
+--SKIPIF--
+<?php if (!extension_loaded("pimple")) print "skip"; ?>
+--FILE--
+<?php 
+class MyPimple extends Pimple\Container
+{
+    public function offsetget($o)
+    {
+        var_dump("hit offsetget in " . __CLASS__);
+        return parent::offsetget($o);
+    }
+}
+
+class TestPimple extends MyPimple
+{
+    public function __construct($values)
+    {
+        array_shift($values);
+        parent::__construct($values);
+    }
+    
+    public function offsetget($o)
+    {
+        var_dump('hit offsetget in ' . __CLASS__);
+        return parent::offsetget($o);
+    }
+    
+    public function offsetset($o, $v)
+    {
+        var_dump('hit offsetset');
+        return parent::offsetset($o, $v);
+    }
+}
+
+$defaultValues = array('foo' => 'bar', 88 => 'baz');
+
+$p = new TestPimple($defaultValues);
+$p[42] = 'foo';
+var_dump($p[42]);
+var_dump($p[0]);
+?>
+--EXPECT--
+string(13) "hit offsetset"
+string(27) "hit offsetget in TestPimple"
+string(25) "hit offsetget in MyPimple"
+string(3) "foo"
+string(27) "hit offsetget in TestPimple"
+string(25) "hit offsetget in MyPimple"
+string(3) "baz"
\ No newline at end of file