]> granicus.if.org Git - php/commitdiff
New testcases for date_sunrise function
authorSanjay Mantoor <smantoor@php.net>
Fri, 5 Dec 2008 05:35:39 +0000 (05:35 +0000)
committerSanjay Mantoor <smantoor@php.net>
Fri, 5 Dec 2008 05:35:39 +0000 (05:35 +0000)
ext/date/tests/date_sunrise_error.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation1.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation2.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation3.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation4.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation5.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation6.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation7.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation8.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_variation9.phpt [new file with mode: 0644]

diff --git a/ext/date/tests/date_sunrise_error.phpt b/ext/date/tests/date_sunrise_error.phpt
new file mode 100644 (file)
index 0000000..f57b7ed
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+Test date_sunrise() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ */
+
+echo "*** Testing date_sunrise() : error conditions ***\n";
+
+//Initialise the variables
+$time = time();
+$latitude = 38.4;
+$longitude = -9;
+$zenith = 90;
+$gmt_offset = 1;
+$extra_arg = 10;
+
+// Zero arguments
+echo "\n-- Testing date_sunrise() function with Zero arguments --\n";
+var_dump( date_sunrise() );
+
+//Test date_sunrise with one more than the expected number of arguments
+echo "\n-- Testing date_sunrise() function with more than expected no. of arguments --\n";
+var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset, $extra_arg) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : error conditions ***
+
+-- Testing date_sunrise() function with Zero arguments --
+
+Warning: date_sunrise() expects at least 1 parameter, 0 given in %s on line %d
+bool(false)
+
+-- Testing date_sunrise() function with more than expected no. of arguments --
+
+Warning: date_sunrise() expects at most 6 parameters, 7 given in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation1.phpt b/ext/date/tests/date_sunrise_variation1.phpt
new file mode 100644 (file)
index 0000000..bf6b17e
--- /dev/null
@@ -0,0 +1,315 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to first argument time.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+//Initialise the variables
+$latitude = 38.4;
+$longitude = -9;
+$zenith = 90;
+$gmt_offset = 1;
+date_default_timezone_set("Asia/Calcutta");
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -12345,
+
+      // float data
+      'float 10.5' => 10.5,
+      'float -10.5' => -10.5,
+      'float .5' => .5,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for time
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($value, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($value, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($value, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--int 0--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--int 1--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--int 12345--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--int -12345--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--float 10.5--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--float -10.5--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--float .5--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--lowercase null--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--lowercase true--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--lowercase false--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--uppercase TRUE--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--uppercase FALSE--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+--undefined var--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+
+--unset var--
+string(5) "08:56"
+float(8.944%d)
+int(28599)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation2.phpt b/ext/date/tests/date_sunrise_variation2.phpt
new file mode 100644 (file)
index 0000000..915b790
--- /dev/null
@@ -0,0 +1,212 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to second argument format.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+// Initialise function arguments not being substituted (if any)
+date_default_timezone_set("Asia/Calcutta");
+$time = mktime(8, 8, 8, 8, 8, 2008);
+$latitude = 38.4;
+$longitude = -9;
+$zenith = 90;
+$gmt_offset = 1;
+
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // float data
+      'float 10.5' => 10.5,
+      'float -10.5' => -10.5,
+      'float 12.3456789000e10' => 12.3456789000e10,
+      'float -12.3456789000e10' => -12.3456789000e10,
+      'float .5' => .5,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for format
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($time, $value, $latitude, $longitude, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--float 10.5--
+
+Warning: date_sunrise(): Wrong return format given, pick one of SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRING or SUNFUNCS_RET_DOUBLE in %s on line %d
+bool(false)
+
+--float -10.5--
+
+Warning: date_sunrise(): Wrong return format given, pick one of SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRING or SUNFUNCS_RET_DOUBLE in %s on line %d
+bool(false)
+
+--float 12.3456789000e10--
+
+Warning: date_sunrise(): Wrong return format given, pick one of SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRING or SUNFUNCS_RET_DOUBLE in %s on line %d
+bool(false)
+
+--float -12.3456789000e10--
+
+Warning: date_sunrise(): Wrong return format given, pick one of SUNFUNCS_RET_TIMESTAMP, SUNFUNCS_RET_STRING or SUNFUNCS_RET_DOUBLE in %s on line %d
+bool(false)
+
+--float .5--
+int(1218174483)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+int(1218174483)
+
+--lowercase null--
+int(1218174483)
+
+--lowercase true--
+string(5) "06:48"
+
+--lowercase false--
+int(1218174483)
+
+--uppercase TRUE--
+string(5) "06:48"
+
+--uppercase FALSE--
+int(1218174483)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 2 to be long, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 2 to be long, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 2 to be long, object given in %s on line %d
+bool(false)
+
+--undefined var--
+int(1218174483)
+
+--unset var--
+int(1218174483)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation3.phpt b/ext/date/tests/date_sunrise_variation3.phpt
new file mode 100644 (file)
index 0000000..46c5783
--- /dev/null
@@ -0,0 +1,294 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to third argument latitude.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+// Initialise function arguments not being substituted (if any)
+date_default_timezone_set("Asia/Calcutta");
+$time = mktime(8, 8, 8, 8, 8, 2008);
+$longitude = -9;
+$zenith = 90;
+$gmt_offset = -5.5;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -12345,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for latitude
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $value, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $value, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $value, $longitude, $zenith, $gmt_offset) );
+};
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--int 0--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--int 1--
+string(5) "01:09"
+float(1.155%d)
+int(1218177558)
+
+--int 12345--
+bool(false)
+bool(false)
+bool(false)
+
+--int -12345--
+bool(false)
+bool(false)
+bool(false)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--lowercase null--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--lowercase true--
+string(5) "01:09"
+float(1.155%d)
+int(1218177558)
+
+--lowercase false--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--uppercase TRUE--
+string(5) "01:09"
+float(1.155%d)
+int(1218177558)
+
+--uppercase FALSE--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+string(5) "01:10"
+float(1.174%d)
+int(1218177627)
+
+--unset var--
+string(5) "01:10"
+float(1.1742%d)
+int(1218177627)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation4.phpt b/ext/date/tests/date_sunrise_variation4.phpt
new file mode 100644 (file)
index 0000000..c48f538
--- /dev/null
@@ -0,0 +1,296 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to fourth argument longitude.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+//Initialise the variables
+date_default_timezone_set("Asia/Calcutta");
+$time = mktime(8, 8, 8, 8, 8, 2008);
+$latitude = 38.4;
+$zenith = 90;
+$gmt_offset = 0;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -12345,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for longitude
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $value, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $latitude, $value, $zenith, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $value, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--int 0--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--int 1--
+string(5) "05:08"
+float(5.133%d)
+int(1218172081)
+
+--int 12345--
+string(5) "21:45"
+float(21.759%d)
+int(1218145534)
+
+--int -12345--
+string(5) "12:41"
+float(12.698%d)
+int(1218199315)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--lowercase null--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--lowercase true--
+string(5) "05:08"
+float(5.133%d)
+int(1218172081)
+
+--lowercase false--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--uppercase TRUE--
+string(5) "05:08"
+float(5.133%d)
+int(1218172081)
+
+--uppercase FALSE--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+
+--unset var--
+string(5) "05:12"
+float(5.200%d)
+int(1218172321)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation5.phpt b/ext/date/tests/date_sunrise_variation5.phpt
new file mode 100644 (file)
index 0000000..e697836
--- /dev/null
@@ -0,0 +1,296 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to fifth argument zenith
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+// Initialise function arguments not being substituted (if any)
+date_default_timezone_set("Asia/Calcutta");
+$time = mktime(8, 8, 8, 8, 8, 2008);
+$latitude = 38.4;
+$longitude = -9;
+$gmt_offset = 5.5;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -12345,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for zenith
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $value, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $value, $gmt_offset) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $value, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--int 0--
+bool(false)
+bool(false)
+bool(false)
+
+--int 1--
+bool(false)
+bool(false)
+bool(false)
+
+--int 12345--
+string(5) "09:52"
+float(9.882%d)
+int(1218169377)
+
+--int -12345--
+string(5) "09:54"
+float(9.909%d)
+int(1218169475)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+bool(false)
+bool(false)
+bool(false)
+
+--lowercase null--
+bool(false)
+bool(false)
+bool(false)
+
+--lowercase true--
+bool(false)
+bool(false)
+bool(false)
+
+--lowercase false--
+bool(false)
+bool(false)
+bool(false)
+
+--uppercase TRUE--
+bool(false)
+bool(false)
+bool(false)
+
+--uppercase FALSE--
+bool(false)
+bool(false)
+bool(false)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+bool(false)
+bool(false)
+bool(false)
+
+--unset var--
+bool(false)
+bool(false)
+bool(false)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation6.phpt b/ext/date/tests/date_sunrise_variation6.phpt
new file mode 100644 (file)
index 0000000..a96b95f
--- /dev/null
@@ -0,0 +1,295 @@
+--TEST--
+Test date_sunrise() function : usage variation - Passing unexpected values to sixth argument gmt_offset.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+// Initialise function arguments not being substituted (if any)
+date_default_timezone_set("Asia/Calcutta");
+$time = mktime(8, 8, 8, 8, 8, 2008);
+$latitude = 38.4;
+$longitude = -9;
+$zenith = 90;
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// define some classes
+class classWithToString
+{
+       public function __toString() {
+               return "Class A object";
+       }
+}
+
+class classWithoutToString
+{
+}
+
+// heredoc string
+$heredoc = <<<EOT
+hello world
+EOT;
+
+// add arrays
+$index_array = array (1, 2, 3);
+$assoc_array = array ('one' => 1, 'two' => 2);
+
+//array of values to iterate over
+$inputs = array(
+
+      // int data
+      'int 0' => 0,
+      'int 1' => 1,
+      'int 12345' => 12345,
+      'int -12345' => -2345,
+
+      // array data
+      'empty array' => array(),
+      'int indexed array' => $index_array,
+      'associative array' => $assoc_array,
+      'nested arrays' => array('foo', $index_array, $assoc_array),
+
+      // null data
+      'uppercase NULL' => NULL,
+      'lowercase null' => null,
+
+      // boolean data
+      'lowercase true' => true,
+      'lowercase false' =>false,
+      'uppercase TRUE' =>TRUE,
+      'uppercase FALSE' =>FALSE,
+
+      // empty data
+      'empty string DQ' => "",
+      'empty string SQ' => '',
+
+      // string data
+      'string DQ' => "string",
+      'string SQ' => 'string',
+      'mixed case string' => "sTrInG",
+      'heredoc' => $heredoc,
+
+      // object data
+      'instance of classWithToString' => new classWithToString(),
+      'instance of classWithoutToString' => new classWithoutToString(),
+
+      // undefined data
+      'undefined var' => @$undefined_var,
+
+      // unset data
+      'unset var' => @$unset_var,
+);
+
+// loop through each element of the array for gmt_offset
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $value) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $value) );
+      var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $value) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--int 0--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--int 1--
+string(5) "06:48"
+float(6.800%d)
+int(1218174483)
+
+--int 12345--
+string(5) "14:48"
+float(14.800%d)
+int(1218174483)
+
+--int -12345--
+string(5) "12:48"
+float(12.800%d)
+int(1218174483)
+
+--empty array--
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--lowercase null--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--lowercase true--
+string(5) "06:48"
+float(6.800%d)
+int(1218174483)
+
+--lowercase false--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--uppercase TRUE--
+string(5) "06:48"
+float(6.800%d)
+int(1218174483)
+
+--uppercase FALSE--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--empty string DQ--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunrise() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+
+--unset var--
+string(5) "05:48"
+float(5.800%d)
+int(1218174483)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation7.phpt b/ext/date/tests/date_sunrise_variation7.phpt
new file mode 100644 (file)
index 0000000..fa5f363
--- /dev/null
@@ -0,0 +1,57 @@
+--TEST--
+Test date_sunrise() function : usage variation -  Checking sunrise for consecutive days in specific timezone
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+//Timezones with required data for date_sunrise
+$inputs = array (
+               //Timezone with Latitude, Longitude and GMT offset
+               "Pacific/Samoa" => array ("Latitude" => -14.24, "Longitude" => -170.72, "GMT" => -11),
+               "US/Alaska" => array ("Latitude" => 61, "Longitude" => -150 , "GMT" => -9),
+               "America/Chicago" => array ("Latitude" => 41.85, "Longitude" => -87.65 , "GMT" => -5),
+               "America/Montevideo" => array ("Latitude" => -34.88, "Longitude" => -56.18 , "GMT" => -3),
+               "Africa/Casablanca" => array ("Latitude" => 33.65, "Longitude" => -7.58, "GMT" => 0),
+               "Europe/Moscow" => array ("Latitude" => 55.75, "Longitude" => 37.58, "GMT" => 4),
+               "Asia/Hong_Kong" => array ("Latitude" => 22.28, "Longitude" => 114.15 , "GMT" => 8),
+               "Australia/Brisbane" => array ("Latitude" => -27.46, "Longitude" => 153.2 , "GMT" => 10),
+               "Pacific/Wallis" => array ("Latitude" => -13.3, "Longitude" => -176.16, "GMT" => 12),
+);
+
+foreach($inputs as $timezone => $value) {
+        date_default_timezone_set($timezone);
+        $time = mktime(8, 8, 8, 8, 11, 2008);
+        var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"] ));
+        $time = mktime(8, 8, 8, 8, 12, 2008); 
+        var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"]) );
+}
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+string(5) "06:41"
+string(5) "06:41"
+string(5) "05:09"
+string(5) "05:11"
+string(5) "05:59"
+string(5) "06:00"
+string(5) "07:30"
+string(5) "07:29"
+string(5) "05:53"
+string(5) "05:53"
+string(5) "05:59"
+string(5) "06:01"
+string(5) "06:01"
+string(5) "06:02"
+string(5) "06:23"
+string(5) "06:22"
+string(5) "06:03"
+string(5) "06:02"
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation8.phpt b/ext/date/tests/date_sunrise_variation8.phpt
new file mode 100644 (file)
index 0000000..1d22be8
--- /dev/null
@@ -0,0 +1,73 @@
+--TEST--
+Test date_sunrise() function : usage variation -  Checking with North and South poles when Sun is up and down all day
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+// GMT is zero for the timezone
+date_default_timezone_set("Africa/Casablanca");
+$time_date = array (
+
+               //Date at which Sun is up all day at North Pole
+               "12 Aug 2008" => mktime(8, 8, 8, 8, 12, 2008),
+               "13 Aug 2008" => mktime(8, 8, 8, 8, 13, 2008),
+
+               //Date at which Sun is up all day at South Pole
+               "12 Nov 2008" => mktime(8, 8, 8, 11, 12, 2008),
+               "13 Nov 2008" => mktime(8, 8, 8, 11, 13, 2008),
+);
+
+//Iterate over different date and time
+foreach( $time_date as $date => $time ){
+       echo "\n--$date--\n";
+       var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, 90, 0 ) );
+       var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, 90, 0 ) );
+       var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, 90, 0 ) );                
+       var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, -90, 0 ) );
+       var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, -90, 0 ) );
+       var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, -90, 0 ) );               
+}
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunrise() : usage variation ***
+
+--12 Aug 2008--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+--13 Aug 2008--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+--12 Nov 2008--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+
+--13 Nov 2008--
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+===DONE===
diff --git a/ext/date/tests/date_sunrise_variation9.phpt b/ext/date/tests/date_sunrise_variation9.phpt
new file mode 100644 (file)
index 0000000..49af06d
--- /dev/null
@@ -0,0 +1,47 @@
+--TEST--
+Test date_sunrise() function : usage variation -  Passing high positive and negative float values to time argument.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunrise for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunrise() : usage variation ***\n";
+
+// GMT is zero for the timezone
+date_default_timezone_set("Asia/Calcutta");
+//Initialise the variables
+$latitude = 38.4;
+$longitude = -9;
+$zenith = 90;
+$gmt_offset = 1;
+
+echo "\n-- Testing date_sunrise() function by passing float 12.3456789000e10 value to time --\n";
+$time = 12.3456789000e10;
+var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+
+echo "\n-- Testing date_sunrise() function by passing float -12.3456789000e10 value to time --\n";
+$time = -12.3456789000e10;
+var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunrise($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunrise($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+
+?>
+===DONE===
+--EXPECTREGEX--
+\*\*\* Testing date_sunrise\(\) : usage variation \*\*\*
+
+-- Testing date_sunrise\(\) function by passing float 12.3456789000e10 value to time --
+string\(5\) "(07:34|07:49)"
+float\((7.566[0-9]*|7.821[0-9]*)\)
+int\((-1097256359|123456811756)\)
+
+-- Testing date_sunrise\(\) function by passing float -12.3456789000e10 value to time --
+string\(5\) "(07:42|08:48|08:04)"
+float\((7.713[0-9]*|8.810[0-9]*|8.074[0-9]*)\)
+int\((1097304168|-2147443882|-123456761731)\)
+===DONE===