]> granicus.if.org Git - php/commitdiff
New testcases for date_sunset function
authorSanjay Mantoor <smantoor@php.net>
Mon, 10 Nov 2008 07:10:00 +0000 (07:10 +0000)
committerSanjay Mantoor <smantoor@php.net>
Mon, 10 Nov 2008 07:10:00 +0000 (07:10 +0000)
ext/date/tests/date_sunset_error.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation1.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation2.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation3.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation4.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation5.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation6.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation7.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation8.phpt [new file with mode: 0644]
ext/date/tests/date_sunset_variation9.phpt [new file with mode: 0644]

diff --git a/ext/date/tests/date_sunset_error.phpt b/ext/date/tests/date_sunset_error.phpt
new file mode 100644 (file)
index 0000000..a5e75b6
--- /dev/null
@@ -0,0 +1,50 @@
+--TEST--
+Test date_sunset() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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_sunset() function with Zero arguments --\n";
+var_dump( date_sunset() );
+
+//Test date_sunset with one more than the expected number of arguments
+echo "\n-- Testing date_sunset() function with more than expected no. of arguments --\n";
+var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset, $extra_arg) );
+var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset, $extra_arg) );
+var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset, $extra_arg) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : error conditions ***
+
+-- Testing date_sunset() function with Zero arguments --
+
+Warning: date_sunset() expects at least 1 parameter, 0 given in %s on line %d
+bool(false)
+
+-- Testing date_sunset() function with more than expected no. of arguments --
+
+Warning: date_sunset() expects at most 6 parameters, 7 given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects at most 6 parameters, 7 given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects at most 6 parameters, 7 given in %s on line %d
+bool(false)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation1.phpt b/ext/date/tests/date_sunset_variation1.phpt
new file mode 100644 (file)
index 0000000..69e06f1
--- /dev/null
@@ -0,0 +1,316 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to first argument time.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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' => -2345,
+
+      // 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_sunset($value, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunset($value, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunset($value, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--int 0--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--int 1--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--int 12345--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--int -12345--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--float 10.5--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--float -10.5--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--float .5--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--lowercase null--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--lowercase true--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--lowercase false--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--uppercase TRUE--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--uppercase FALSE--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--empty string DQ--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 1 to be long, object given in %s on line %d
+bool(false)
+
+--undefined var--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+
+--unset var--
+unicode(5) "18:22"
+float(18.377%d)
+int(62558)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation2.phpt b/ext/date/tests/date_sunset_variation2.phpt
new file mode 100644 (file)
index 0000000..abf9ee7
--- /dev/null
@@ -0,0 +1,211 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to second argument format.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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 = 22.34;
+$longitude = 88.21;
+$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(
+
+      // 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_sunset($time, $value, $latitude, $longitude, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--float 10.5--
+
+Warning: date_sunset(): 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_sunset(): 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_sunset(): 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_sunset(): 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(1218199253)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 2 to be long, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+int(1218199253)
+
+--lowercase null--
+int(1218199253)
+
+--lowercase true--
+unicode(5) "18:10"
+
+--lowercase false--
+int(1218199253)
+
+--uppercase TRUE--
+unicode(5) "18:10"
+
+--uppercase FALSE--
+int(1218199253)
+
+--empty string DQ--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 2 to be long, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 2 to be long, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 2 to be long, object given in %s on line %d
+bool(false)
+
+--undefined var--
+int(1218199253)
+
+--unset var--
+int(1218199253)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation3.phpt b/ext/date/tests/date_sunset_variation3.phpt
new file mode 100644 (file)
index 0000000..7167ca0
--- /dev/null
@@ -0,0 +1,297 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to third argument latitude.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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 = 88.21;
+$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' => -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 latitude
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $value, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $value, $longitude, $zenith, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $value, $longitude, $zenith, $gmt_offset) );
+      
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--int 0--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--int 1--
+unicode(5) "17:44"
+float(17.749%d)
+int(1218197698)
+
+--int 12345--
+bool(false)
+bool(false)
+bool(false)
+
+--int -12345--
+unicode(5) "17:35"
+float(17.598%d)
+int(1218197155)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--lowercase null--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--lowercase true--
+unicode(5) "17:44"
+float(17.749%d)
+int(1218197698)
+
+--lowercase false--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--uppercase TRUE--
+unicode(5) "17:44"
+float(17.749%d)
+int(1218197698)
+
+--uppercase FALSE--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--empty string DQ--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 3 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+
+--unset var--
+unicode(5) "17:43"
+float(17.730%d)
+int(1218197630)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation4.phpt b/ext/date/tests/date_sunset_variation4.phpt
new file mode 100644 (file)
index 0000000..610609d
--- /dev/null
@@ -0,0 +1,296 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to fourth argument longitude.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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 = 22.34;
+$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' => -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 longitude
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $latitude, $value, $zenith, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $value, $zenith, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $value, $zenith, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--int 0--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--int 1--
+unicode(5) "23:59"
+float(23.992%d)
+int(1218220174)
+
+--int 12345--
+unicode(5) "17:15"
+float(17.259%d)
+int(1218195932)
+
+--int -12345--
+unicode(5) "12:18"
+float(12.316%d)
+int(1218178138)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--lowercase null--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--lowercase true--
+unicode(5) "23:59"
+float(23.992%d)
+int(1218220174)
+
+--lowercase false--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--uppercase TRUE--
+unicode(5) "23:59"
+float(23.992%d)
+int(1218220174)
+
+--uppercase FALSE--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--empty string DQ--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 4 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+
+--unset var--
+unicode(5) "00:03"
+float(0.059%d)
+int(1218220414)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation5.phpt b/ext/date/tests/date_sunset_variation5.phpt
new file mode 100644 (file)
index 0000000..3bb56ff
--- /dev/null
@@ -0,0 +1,296 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to fifth argument zenith.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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 = 88.21;
+$latitude = 22.34;
+$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' => -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 zenith
+
+foreach($inputs as $key =>$value) {
+      echo "\n--$key--\n";
+      var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $value, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $value, $gmt_offset) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $value, $gmt_offset) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--int 0--
+bool(false)
+bool(false)
+bool(false)
+
+--int 1--
+bool(false)
+bool(false)
+bool(false)
+
+--int 12345--
+unicode(5) "19:19"
+float(19.319%d)
+int(1218203349)
+
+--int -12345--
+bool(false)
+bool(false)
+bool(false)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() 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_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 5 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() 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_sunset_variation6.phpt b/ext/date/tests/date_sunset_variation6.phpt
new file mode 100644 (file)
index 0000000..eb1bce4
--- /dev/null
@@ -0,0 +1,296 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing unexpected values to sixth argument gmt_offset.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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 = 88.21;
+$latitude = 22.34;
+$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_sunset($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $value) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $value) );
+      var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $value) );
+};
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--int 0--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--int 1--
+unicode(5) "13:40"
+float(13.681%d)
+int(1218199253)
+
+--int 12345--
+unicode(5) "21:40"
+float(21.681%d)
+int(1218199253)
+
+--int -12345--
+unicode(5) "19:40"
+float(19.681%d)
+int(1218199253)
+
+--empty array--
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--int indexed array--
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--associative array--
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--nested arrays--
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, array given in %s on line %d
+bool(false)
+
+--uppercase NULL--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--lowercase null--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--lowercase true--
+unicode(5) "13:40"
+float(13.681%d)
+int(1218199253)
+
+--lowercase false--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--uppercase TRUE--
+unicode(5) "13:40"
+float(13.681%d)
+int(1218199253)
+
+--uppercase FALSE--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--empty string DQ--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--empty string SQ--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string DQ--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--string SQ--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--mixed case string--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--heredoc--
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, Unicode string given in %s on line %d
+bool(false)
+
+--instance of classWithToString--
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+--instance of classWithoutToString--
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+Warning: date_sunset() expects parameter 6 to be double, object given in %s on line %d
+bool(false)
+
+--undefined var--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+
+--unset var--
+unicode(5) "12:40"
+float(12.681%d)
+int(1218199253)
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation7.phpt b/ext/date/tests/date_sunset_variation7.phpt
new file mode 100644 (file)
index 0000000..77ed4a3
--- /dev/null
@@ -0,0 +1,75 @@
+--TEST--
+Test date_sunset() function : usage variation -  Checking sunrise for consecutive days in specific timezone
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(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_sunset() : 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) {
+        echo "\n--$timezone--\n";
+        date_default_timezone_set($timezone);
+        $time = mktime(8, 8, 8, 8, 11, 2008);
+        var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"] ));
+        $time = mktime(8, 8, 8, 8, 12, 2008); 
+        var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"]) );
+}
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : usage variation ***
+
+--Pacific/Samoa--
+unicode(5) "18:13"
+unicode(5) "18:13"
+
+--US/Alaska--
+unicode(5) "21:00"
+unicode(5) "20:57"
+
+--America/Chicago--
+unicode(5) "19:51"
+unicode(5) "19:50"
+
+--America/Montevideo--
+unicode(5) "18:08"
+unicode(5) "18:09"
+
+--Africa/Casablanca--
+unicode(5) "19:17"
+unicode(5) "19:16"
+
+--Europe/Moscow--
+unicode(5) "21:09"
+unicode(5) "21:07"
+
+--Asia/Hong_Kong--
+unicode(5) "18:55"
+unicode(5) "18:54"
+
+--Australia/Brisbane--
+unicode(5) "17:21"
+unicode(5) "17:21"
+
+--Pacific/Wallis--
+unicode(5) "17:36"
+unicode(5) "17:36"
+===DONE===
diff --git a/ext/date/tests/date_sunset_variation8.phpt b/ext/date/tests/date_sunset_variation8.phpt
new file mode 100644 (file)
index 0000000..07319ab
--- /dev/null
@@ -0,0 +1,73 @@
+--TEST--
+Test date_sunset() function : usage variation -  Checking with North and South poles when Sun is up and down all day
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(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_sunset() : 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_sunset($time, SUNFUNCS_RET_STRING, 90, 0 ) );
+       var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, 90, 0 ) );
+       var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, 90, 0 ) );         
+       var_dump( date_sunset($time, SUNFUNCS_RET_STRING, -90, 0 ) );
+       var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, -90, 0 ) );
+       var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, -90, 0 ) );                
+}
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing date_sunset() : 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_sunset_variation9.phpt b/ext/date/tests/date_sunset_variation9.phpt
new file mode 100644 (file)
index 0000000..f748122
--- /dev/null
@@ -0,0 +1,47 @@
+--TEST--
+Test date_sunset() function : usage variation - Passing high positive and negative float values to time argument.
+--FILE--
+<?php
+/* Prototype  : mixed date_sunset(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]])
+ * Description: Returns time of sunset for a given day and location 
+ * Source code: ext/date/php_date.c
+ * Alias to functions: 
+ */
+
+echo "*** Testing date_sunset() : 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_sunset() function by passing float 12.3456789000e10 value to time --\n";
+$time = 12.3456789000e10;
+var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+
+echo "\n-- Testing date_sunset() function by passing float -12.3456789000e10 value to time --\n";
+$time = -12.3456789000e10;
+var_dump( date_sunset($time, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunset($time, SUNFUNCS_RET_DOUBLE, $latitude, $longitude, $zenith, $gmt_offset) );
+var_dump( date_sunset($time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, $zenith, $gmt_offset) );
+
+?>
+===DONE===
+--EXPECTREGEX--
+\*\*\* Testing date_sunset\(\) : usage variation \*\*\*
+
+-- Testing date_sunset\(\) function by passing float 12.3456789000e10 value to time --
+unicode\(5\) "(18:40|19:28)"
+float\((18.676[0-9]*|18.6762[0-9]*|19.480[0-9]*)\)
+int\((-2147431662|123456853728)\)
+
+-- Testing date_sunset\(\) function by passing float -12.3456789000e10 value to time --
+unicode\(5\) "(18:12|18:48)"
+float\((18.213[0-9]*|18.808[0-9]*)\)
+int\((-2147410031|-123456723090)\)
+===DONE===