Skip to content

Commit

Permalink
- New tests
Browse files Browse the repository at this point in the history
  • Loading branch information
felipensp committed May 12, 2008
1 parent 30eca09 commit 5790b80
Show file tree
Hide file tree
Showing 25 changed files with 527 additions and 0 deletions.
18 changes: 18 additions & 0 deletions Zend/tests/035.phpt
@@ -0,0 +1,18 @@
--TEST--
Using 'static' and 'global' in global scope
--FILE--
<?php

static $var, $var, $var = -1;
var_dump($var);

global $var, $var, $var;
var_dump($var);

var_dump($GLOBALS['var']);

?>
--EXPECT--
int(-1)
int(-1)
int(-1)
25 changes: 25 additions & 0 deletions Zend/tests/class_alias_021.phpt
@@ -0,0 +1,25 @@
--TEST--
Overriding internal class with class alias
--FILE--
<?php

namespace foo;

class bar { }

class_alias('foo::bar', 'baz');

use ::baz as stdClass;

var_dump(new foo::bar);
var_dump(new stdClass);
var_dump(new ::baz);

?>
--EXPECTF--
object(foo::bar)#%d (0) {
}
object(foo::bar)#%d (0) {
}
object(foo::bar)#%d (0) {
}
27 changes: 27 additions & 0 deletions Zend/tests/class_exists_001.phpt
@@ -0,0 +1,27 @@
--TEST--
Testing class_exists() inside namespace
--FILE--
<?php

namespace foo;

class foo {

}

class_alias(__NAMESPACE__ .'::foo', 'bar');


var_dump(class_exists('::bar'));
var_dump(class_exists('bar'));
var_dump(class_exists('foo::bar'));
var_dump(class_exists('foo::foo'));
var_dump(class_exists('foo'));

?>
--EXPECT--
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
26 changes: 26 additions & 0 deletions Zend/tests/class_exists_002.phpt
@@ -0,0 +1,26 @@
--TEST--
Testing several valid and invalid parameters
--FILE--
<?php

class foo {

}

var_dump(class_exists(''));
var_dump(class_exists(NULL));
var_dump(class_exists('FOO'));
var_dump(class_exists('bar'));
var_dump(class_exists(1));
var_dump(class_exists(new stdClass));

?>
--EXPECTF--
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)

Warning: class_exists() expects parameter 1 to be string (Unicode or binary), object given in %s on line %d
NULL
20 changes: 20 additions & 0 deletions Zend/tests/class_exists_003.phpt
@@ -0,0 +1,20 @@
--TEST--
Checking if exists interface, abstract and final class
--FILE--
<?php

interface a { }

abstract class b { }

final class c { }

var_dump(class_exists('a'));
var_dump(class_exists('b'));
var_dump(class_exists('c'));

?>
--EXPECT--
bool(false)
bool(true)
bool(true)
25 changes: 25 additions & 0 deletions Zend/tests/constants_001.phpt
@@ -0,0 +1,25 @@
--TEST--
Defining and using constants
--FILE--
<?php

define('foo', 2);
define('1', 2);
define(1, 2);
define('', 1);
define('1foo', 3);

var_dump(constant('foo'));
var_dump(constant('1'));
var_dump(constant(1));
var_dump(constant(''));
var_dump(constant('1foo'));

?>
--EXPECTF--
Notice: Constant 1 already defined in %s on line %d
int(2)
int(2)
int(2)
int(1)
int(3)
24 changes: 24 additions & 0 deletions Zend/tests/constants_002.phpt
@@ -0,0 +1,24 @@
--TEST--
Defining constants with non-scalar values
--FILE--
<?php

define('foo', new stdClass);
var_dump(foo);

define('foo', fopen(__FILE__, 'r'));
var_dump(foo);

?>
--EXPECTF--
Warning: Constants may only evaluate to scalar values in %s on line %d

Notice: Use of undefined constant foo - assumed 'foo' in %s on line %d
string(%d) "foo"
resource(%d) of type (stream)
--UEXPECTF--
Warning: Constants may only evaluate to scalar values in %s on line %d

Notice: Use of undefined constant foo - assumed 'foo' in %s on line %d
unicode(%d) "foo"
resource(%d) of type (stream)
21 changes: 21 additions & 0 deletions Zend/tests/constants_003.phpt
@@ -0,0 +1,21 @@
--TEST--
Using namespace constants and constants of global scope
--FILE--
<?php

namespace foo;

const foo = 1;

define('foo', 2);

var_dump(foo, namespace::foo, foo::foo, ::foo, constant('foo'), constant('foo::foo'));

?>
--EXPECT--
int(1)
int(1)
int(1)
int(2)
int(2)
int(1)
13 changes: 13 additions & 0 deletions Zend/tests/constants_004.phpt
@@ -0,0 +1,13 @@
--TEST--
Trying to redeclare constant inside namespace
--FILE--
<?php

namespace foo;

const foo = 1;
const foo = 2;

?>
--EXPECTF--
Notice: Constant foo::foo already defined in %s on line %d
10 changes: 10 additions & 0 deletions Zend/tests/each_001.phpt
@@ -0,0 +1,10 @@
--TEST--
Testing each() with an undefined variable
--FILE--
<?php

each($foo);

?>
--EXPECTF--
Warning: Variable passed to each() is not an array or object in %s on line %d
45 changes: 45 additions & 0 deletions Zend/tests/each_002.phpt
@@ -0,0 +1,45 @@
--TEST--
Testing each() with array and object
--FILE--
<?php

$foo = each(new stdClass);
var_dump($foo);

var_dump(each(new stdClass));

$a = array(new stdClass);
var_dump(each($a));


?>
--EXPECTF--
bool(false)
bool(false)
array(4) {
[1]=>
object(stdClass)#1 (0) {
}
["value"]=>
object(stdClass)#1 (0) {
}
[0]=>
int(0)
["key"]=>
int(0)
}
--UEXPECTF--
bool(false)
bool(false)
array(4) {
[1]=>
object(stdClass)#1 (0) {
}
[u"value"]=>
object(stdClass)#1 (0) {
}
[0]=>
int(0)
[u"key"]=>
int(0)
}
37 changes: 37 additions & 0 deletions Zend/tests/each_003.phpt
@@ -0,0 +1,37 @@
--TEST--
Testing each() with recursion
--FILE--
<?php

$a = array(array());
$a[] =& $a;

var_dump(each($a[1]));

?>
--EXPECTF--
array(4) {
[1]=>
array(0) {
}
["value"]=>
array(0) {
}
[0]=>
int(0)
["key"]=>
int(0)
}
--UEXPECTF--
array(4) {
[1]=>
array(0) {
}
[u"value"]=>
array(0) {
}
[0]=>
int(0)
[u"key"]=>
int(0)
}
12 changes: 12 additions & 0 deletions Zend/tests/exception_005.phpt
@@ -0,0 +1,12 @@
--TEST--
Trying to throw exception of an interface
--FILE--
<?php

interface a { }

throw new a();

?>
--EXPECTF--
Fatal error: Cannot instantiate interface a in %s on line %d
10 changes: 10 additions & 0 deletions Zend/tests/exception_006.phpt
@@ -0,0 +1,10 @@
--TEST--
Trying to throw a non-object
--FILE--
<?php

throw 1;

?>
--EXPECTF--
Fatal error: Can only throw objects in %s on line %d
11 changes: 11 additions & 0 deletions Zend/tests/get_called_class_001.phpt
@@ -0,0 +1,11 @@
--TEST--
Calling get_called_class() outside a class
--FILE--
<?php

var_dump(get_called_class());

?>
--EXPECTF--
Warning: get_called_class() called from outside a class in %s on line %d
bool(false)
31 changes: 31 additions & 0 deletions Zend/tests/get_parent_class_001.phpt
@@ -0,0 +1,31 @@
--TEST--
Testing get_parent_class()
--FILE--
<?php

interface ITest {
function foo();
}

abstract class bar implements ITest {
public function foo() {
var_dump(get_parent_class());
}
}

class foo extends bar {
public function __construct() {
var_dump(get_parent_class());
}
}

$a = new foo;
$a->foo();

?>
--EXPECT--
string(3) "bar"
bool(false)
--UEXPECT--
unicode(3) "bar"
bool(false)
17 changes: 17 additions & 0 deletions Zend/tests/heredoc_018.phpt
@@ -0,0 +1,17 @@
--TEST--
Testing heredoc with tabs before identifier
--FILE--
<?php

$heredoc = <<< A
foo
A;
A;

var_dump(strlen($heredoc) == 9);

?>
--EXPECT--
bool(true)
10 changes: 10 additions & 0 deletions Zend/tests/inter_05.phpt
@@ -0,0 +1,10 @@
--TEST--
Trying to inherit a class in an interface
--FILE--
<?php

interface a extends Exception { }

?>
--EXPECTF--
Fatal error: a cannot implement Exception - it is not an interface in %s on line %d

0 comments on commit 5790b80

Please sign in to comment.