--- /dev/null
+<?php
+interface I {
+ function f($a = null);
+}
\ No newline at end of file
--- /dev/null
+--TEST--
+default argument value in and in implementing class with interface in included file
+--FILE--
+<?php
+include 'interface_optional_arg_003.inc';
+
+class C implements I {
+ function f($a = 2) {
+ var_dump($a);
+ }
+}
+
+$c = new C;
+$c->f();
+?>
+--EXPECTF--
+int(2)
\ No newline at end of file
--- /dev/null
+--TEST--
+Ensure plain userspace superclass does not override special iterator behaviour on child class.
+--FILE--
+<?php
+Class C {}
+
+class D extends C implements Iterator {
+
+ private $counter = 2;
+
+ public function valid() {
+ echo __METHOD__ . "($this->counter)\n";
+ return $this->counter;
+ }
+
+ public function next() {
+ $this->counter--;
+ echo __METHOD__ . "($this->counter)\n";
+ }
+
+ public function rewind() {
+ echo __METHOD__ . "($this->counter)\n";
+ }
+
+ public function current() {
+ echo __METHOD__ . "($this->counter)\n";
+ }
+
+ public function key() {
+ echo __METHOD__ . "($this->counter)\n";
+ }
+
+}
+
+foreach (new D as $x) {}
+?>
+--EXPECTF--
+D::rewind(2)
+D::valid(2)
+D::current(2)
+D::next(1)
+D::valid(1)
+D::current(1)
+D::next(0)
+D::valid(0)
\ No newline at end of file
--- /dev/null
+--TEST--
+Assigning to a non-existent static property
+--FILE--
+<?php
+Class C {}
+C::$p = 1;
+?>
+--EXPECTF--
+Fatal error: Access to undeclared static property: C::$p in %s on line 3
\ No newline at end of file
--- /dev/null
+--TEST--
+Assigning & incrementing a non-existent static property
+--FILE--
+<?php
+Class C {}
+C::$p += 1;
+?>
+--EXPECTF--
+Fatal error: Access to undeclared static property: C::$p in %s on line 3
\ No newline at end of file
--- /dev/null
+--TEST--
+Assigning a non-existent static property by reference
+--FILE--
+<?php
+Class C {}
+$a = 'foo';
+C::$p =& $a;
+?>
+--EXPECTF--
+Fatal error: Access to undeclared static property: C::$p in %s on line 4
\ No newline at end of file
--- /dev/null
+--TEST--
+Incrementing a non-existent static property
+--FILE--
+<?php
+Class C {}
+C::$p++;
+?>
+--EXPECTF--
+Fatal error: Access to undeclared static property: C::$p in %s on line 3
\ No newline at end of file
--- /dev/null
+--TEST--
+Issetting a non-existent static property
+--FILE--
+<?php
+Class C {}
+var_dump(isset(C::$p));
+?>
+--EXPECTF--
+bool(false)
\ No newline at end of file
--- /dev/null
+--TEST--
+Reading a non-existent static property
+--FILE--
+<?php
+Class C {}
+echo C::$p;
+?>
+--EXPECTF--
+Fatal error: Access to undeclared static property: C::$p in %s on line 3
\ No newline at end of file