Why not put these in Zend/tests/ now that it exists too..?
--Jani
On Tue, 1 Jul 2003, Marcus Boerger wrote:
>helly Tue Jul 1 14:34:42 2003 EDT
>
> Added files:
> /php-src/tests/classes factory_and_singleton_001.phpt
> factory_and_singleton_002.phpt
> factory_and_singleton_003.phpt
> Log:
> Add tests for static members
>
>
>Index: php-src/tests/classes/factory_and_singleton_001.phpt
>+++ php-src/tests/classes/factory_and_singleton_001.phpt
>--TEST--
>ZE2 factory and singleton, test 1
>--SKIPIF--
><?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2
>needed'); ?>
>--FILE--
><?php
>class test {
> protected $x;
>
> static private $test = NULL;
> static private $cnt = 0;
>
> static function factory($x) {
> if (test::$test) {
> return test::$test;
> } else {
> test::$test = new test($x);
> return test::$test;
> }
> }
>
> protected function __construct($x) {
> test::$cnt++;
> $this->x = $x;
> }
>
> static function destroy() {
> test::$test = NULL;
> }
>
> protected function __destruct() {
> test::$cnt--;
> }
>
> public function get() {
> return $this->x;
> }
>
> static public function getX() {
> if (test::$test) {
> return test::$test->x;
> } else {
> return NULL;
> }
> }
>
> static public function count() {
> return test::$cnt;
> }
>}
>
>echo "Access static members\n";
>var_dump(test::getX());
>var_dump(test::count());
>
>echo "Create x and y\n";
>$x = test::factory(1);
>$y = test::factory(2);
>var_dump(test::getX());
>var_dump(test::count());
>var_dump($x->get());
>var_dump($y->get());
>
>echo "Destruct x\n";
>$x = NULL;
>var_dump(test::getX());
>var_dump(test::count());
>var_dump($y->get());
>
>echo "Destruct y\n";
>$y = NULL;
>var_dump(test::getX());
>var_dump(test::count());
>
>echo "Destruct static\n";
>test::destroy();
>var_dump(test::getX());
>var_dump(test::count());
>
>echo "Done\n";
>?>
>--EXPECT--
>Access static members
>NULL
>int(0)
>Create x and y
>int(1)
>int(1)
>int(1)
>int(1)
>Destruct x
>int(1)
>int(1)
>int(1)
>Destruct y
>int(1)
>int(1)
>Destruct static
>NULL
>int(0)
>Done
>
>Index: php-src/tests/classes/factory_and_singleton_002.phpt
>+++ php-src/tests/classes/factory_and_singleton_002.phpt
>--TEST--
>ZE2 factory and singleton, test 2
>--SKIPIF--
><?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2
>needed'); ?>
>--FILE--
><?php
>class test {
> protected $x;
>
> static private $test = NULL;
> static private $cnt = 0;
>
> static function factory($x) {
> if (test::$test) {
> return test::$test;
> } else {
> test::$test = new test($x);
> return test::$test;
> }
> }
>
> protected function __construct($x) {
> test::$cnt++;
> $this->x = $x;
> }
>
> static function destroy() {
> test::$test = NULL;
> }
>
> protected function __destruct() {
> test::$cnt--;
> }
>
> public function get() {
> return $this->x;
> }
>
> static public function getX() {
> if (test::$test) {
> return test::$test->x;
> } else {
> return NULL;
> }
> }
>
> static public function count() {
> return test::$cnt;
> }
>}
>
>echo "Access static members\n";
>var_dump(test::getX());
>var_dump(test::count());
>
>echo "Create x and y\n";
>$x = test::factory(1);
>$y = test::factory(2);
>var_dump(test::getX());
>var_dump(test::count());
>var_dump($x->get());
>var_dump($y->get());
>
>echo "Destruct x\n";
>$x = NULL;
>var_dump(test::getX());
>var_dump(test::count());
>var_dump($y->get());
>
>echo "Destruct y\n";
>$y = NULL;
>var_dump(test::getX());
>var_dump(test::count());
>
>//echo "Destruct static\n";
>//test::destroy();
>//var_dump(test::getX());
>//var_dump(test::count());
>
>echo "Done\n";
>?>
>--EXPECT--
>Access static members
>NULL
>int(0)
>Create x and y
>int(1)
>int(1)
>int(1)
>int(1)
>Destruct x
>int(1)
>int(1)
>int(1)
>Destruct y
>int(1)
>int(1)
>Done
>
>Index: php-src/tests/classes/factory_and_singleton_003.phpt
>+++ php-src/tests/classes/factory_and_singleton_003.phpt
>--TEST--
>ZE2 factory and singleton, test 3
>--SKIPIF--
><?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2
>needed'); ?>
>--FILE--
><?php
>class test {
>
> protected function __construct($x) {
> }
>}
>
>$obj = new test;
>
>echo "Done\n";
>?>
>--EXPECTF--
>Fatal error: Call to protected constructor from context ''
>%sfactory_and_singleton_003.php on line %d
>
>
>
>
--
https://www.paypal.com/xclick/[EMAIL PROTECTED]&no_note=1&tax=0¤cy_code=EUR
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php