summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-06-17 19:15:19 +0000
committerandy wharmby <wharmby@php.net>2009-06-17 19:15:19 +0000
commite5b5f13b7947f17f4eb5472ba7a11e79339d4bfa (patch)
treee76728d10c81a22965212a23a3861a89329a1f9b
parentfb3132f502265e3602f4ab4bb0f0f5d93ad1fff4 (diff)
downloadphp-git-e5b5f13b7947f17f4eb5472ba7a11e79339d4bfa.tar.gz
New test for standard object compare handler. Tested on Windows, Linux and Linux 64
-rw-r--r--tests/lang/compare_objects_basic1.phpt60
-rw-r--r--tests/lang/compare_objects_basic2.phpt28
2 files changed, 88 insertions, 0 deletions
diff --git a/tests/lang/compare_objects_basic1.phpt b/tests/lang/compare_objects_basic1.phpt
new file mode 100644
index 0000000000..fe312fc59f
--- /dev/null
+++ b/tests/lang/compare_objects_basic1.phpt
@@ -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
index 0000000000..a2c34d06ad
--- /dev/null
+++ b/tests/lang/compare_objects_basic2.phpt
@@ -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