php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /opt/php-7.0.1/ext/spl/tests/ |
files >> //opt/php-7.0.1/ext/spl/tests/fixedarray_002.phpt |
--TEST-- SPL: FixedArray: overloading --FILE-- <?php class A extends SplFixedArray { public $prop1 = NULL; public $prop2 = NULL; public function count() { return 2; } public function offsetGet($n) { echo "A::offsetGet\n"; return parent::offsetGet($n); } public function offsetSet($n, $v) { echo "A::offsetSet\n"; return parent::offsetSet($n, $v); } public function offsetUnset($n) { echo "A::offsetUnset\n"; return parent::offsetUnset($n); } public function offsetExists($n) { echo "A::offsetExists\n"; return parent::offsetExists($n); } } $a = new A; // errors try { $a[0] = "value1"; } catch (RuntimeException $e) { echo "Exception: ".$e->getMessage()."\n"; } try { var_dump($a["asdf"]); } catch (RuntimeException $e) { echo "Exception: ".$e->getMessage()."\n"; } try { unset($a[-1]); } catch (RuntimeException $e) { echo "Exception: ".$e->getMessage()."\n"; } $a->setSize(10); $a[0] = "value0"; $a[1] = "value1"; $a[2] = "value2"; $a[3] = "value3"; $ref = "value4"; $ref2 =&$ref; $a[4] = $ref; $ref = "value5"; unset($a[1]); var_dump(isset($a[1]), isset($a[2]), empty($a[1]), empty($a[2])); var_dump($a[0], $a[2], $a[3], $a[4]); // countable var_dump(count($a), $a->getSize(), count($a) == $a->getSize()); ?> ===DONE=== --EXPECTF-- A::offsetSet Exception: Index invalid or out of range A::offsetGet Exception: Index invalid or out of range A::offsetUnset Exception: Index invalid or out of range A::offsetSet A::offsetSet A::offsetSet A::offsetSet A::offsetSet A::offsetUnset A::offsetExists A::offsetExists A::offsetExists A::offsetExists bool(false) bool(true) bool(true) bool(false) A::offsetGet A::offsetGet A::offsetGet A::offsetGet string(6) "value0" string(6) "value2" string(6) "value3" string(6) "value4" int(2) int(10) bool(false) ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`