]> granicus.if.org Git - php/commitdiff
New test for standard object compare handler. Tested on Windows, Linux and Linux 64
authorandy wharmby <wharmby@php.net>
Wed, 17 Jun 2009 19:15:19 +0000 (19:15 +0000)
committerandy wharmby <wharmby@php.net>
Wed, 17 Jun 2009 19:15:19 +0000 (19:15 +0000)
tests/lang/compare_objects_basic1.phpt [new file with mode: 0644]
tests/lang/compare_objects_basic2.phpt [new file with mode: 0644]

diff --git a/tests/lang/compare_objects_basic1.phpt b/tests/lang/compare_objects_basic1.phpt
new file mode 100644 (file)
index 0000000..fe312fc
--- /dev/null
@@ -0,0 +1,60 @@
+--TEST--
+Test standard 'compare' object handler 
+--FILE--
+
+<?php
+
+echo "Simple test for standard compare object handler\n";
+
+class class1{}
+
+class class2{}
+
+class class3{
+       public $aaa;
+       private $bbb;
+       protected $ccc;
+}
+
+class class4 extends class3{
+}
+
+class class5 extends class3{
+       public $ddd;
+       private $eee;
+}
+
+// Define a bunch of objects all of which will use standard compare object handler
+$obj1 = new class1();
+$obj2 = new class2();
+$obj3 = new class3();
+$obj4 = new class4();
+$obj5 = new class5();
+
+echo "\n-- The following compare should return TRUE --\n"; 
+var_dump($obj1 == $obj1);
+
+echo "\n-- All the following compares should return FALSE --\n"; 
+var_dump($obj1 == $obj2);
+var_dump($obj1 == $obj3);
+var_dump($obj1 == $obj4);
+var_dump($obj1 == $obj5);
+var_dump($obj4 == $obj3);
+var_dump($obj5 == $obj3);
+
+?>
+===DONE===
+--EXPECT--
+Simple test for standard compare object handler
+
+-- The following compare should return TRUE --
+bool(true)
+
+-- All the following compares should return FALSE --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+===DONE===
\ No newline at end of file
diff --git a/tests/lang/compare_objects_basic2.phpt b/tests/lang/compare_objects_basic2.phpt
new file mode 100644 (file)
index 0000000..a2c34d0
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+Test object compare when object handler different 
+--FILE--
+
+<?php 
+
+//Set the default time zone 
+date_default_timezone_set("Europe/London");
+
+echo "Simple test comparing two objects with different compare callback handler\n";
+
+class X {
+}
+
+$obj1 = new X();
+$obj2 = new DateTime(("2009-02-12 12:47:41 GMT"));
+
+var_dump($obj1 == $obj2);
+?>
+===DONE===
+--EXPECTF--
+Simple test comparing two objects with different compare callback handler
+
+Notice: Object of class X could not be converted to int in %s on line %d
+
+Notice: Object of class DateTime could not be converted to int in %s on line %d
+bool(true)
+===DONE===
\ No newline at end of file