Browse Source

Additional class related tests.

experimental/first_unicode_implementation
Robin Fernandes 17 years ago
parent
commit
eb9f2006cc
  1. 4
      tests/classes/interface_optional_arg_003.inc
  2. 17
      tests/classes/interface_optional_arg_003.phpt
  3. 45
      tests/classes/iterators_008.phpt
  4. 9
      tests/classes/static_properties_undeclared_assign.phpt
  5. 9
      tests/classes/static_properties_undeclared_assignInc.phpt
  6. 10
      tests/classes/static_properties_undeclared_assignRef.phpt
  7. 9
      tests/classes/static_properties_undeclared_inc.phpt
  8. 9
      tests/classes/static_properties_undeclared_isset.phpt
  9. 9
      tests/classes/static_properties_undeclared_read.phpt

4
tests/classes/interface_optional_arg_003.inc

@ -0,0 +1,4 @@
<?php
interface I {
function f($a = null);
}

17
tests/classes/interface_optional_arg_003.phpt

@ -0,0 +1,17 @@
--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)

45
tests/classes/iterators_008.phpt

@ -0,0 +1,45 @@
--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)

9
tests/classes/static_properties_undeclared_assign.phpt

@ -0,0 +1,9 @@
--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

9
tests/classes/static_properties_undeclared_assignInc.phpt

@ -0,0 +1,9 @@
--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

10
tests/classes/static_properties_undeclared_assignRef.phpt

@ -0,0 +1,10 @@
--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

9
tests/classes/static_properties_undeclared_inc.phpt

@ -0,0 +1,9 @@
--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

9
tests/classes/static_properties_undeclared_isset.phpt

@ -0,0 +1,9 @@
--TEST--
Issetting a non-existent static property
--FILE--
<?php
Class C {}
var_dump(isset(C::$p));
?>
--EXPECTF--
bool(false)

9
tests/classes/static_properties_undeclared_read.phpt

@ -0,0 +1,9 @@
--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
Loading…
Cancel
Save