]> granicus.if.org Git - php/commitdiff
New date extension tests. Tested on Windows, Linux and Linux 64 bit
authorandy wharmby <wharmby@php.net>
Tue, 13 Jan 2009 13:38:19 +0000 (13:38 +0000)
committerandy wharmby <wharmby@php.net>
Tue, 13 Jan 2009 13:38:19 +0000 (13:38 +0000)
ext/date/tests/date_default_timezone_get_error.phpt [new file with mode: 0644]
ext/date/tests/date_default_timezone_set_error.phpt [new file with mode: 0644]
ext/date/tests/date_default_timezone_set_variation1.phpt [new file with mode: 0644]
ext/date/tests/date_sun_info_error.phpt [new file with mode: 0644]
ext/date/tests/date_sun_info_variation1.phpt [new file with mode: 0644]
ext/date/tests/date_sun_info_variation2.phpt [new file with mode: 0644]
ext/date/tests/date_sun_info_variation3.phpt [new file with mode: 0644]
ext/date/tests/date_sunrise_and_sunset_basic.phpt [new file with mode: 0644]

diff --git a/ext/date/tests/date_default_timezone_get_error.phpt b/ext/date/tests/date_default_timezone_get_error.phpt
new file mode 100644 (file)
index 0000000..3a18a76
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+Test date_default_timezone_get() function : error conditions
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : string date_default_timezone_get ( void )
+ * Description:  Gets the default timezone used by all date/time functions in a script.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_default_timezone_get() : error conditions ***\n";
+
+echo "\n-- Testing date_create() function with more than expected no. of arguments --\n";
+$extra_arg = 99;
+var_dump( date_default_timezone_get($extra_arg));
+
+?>
+
+===Done===
+--EXPECTF--
+*** Testing date_default_timezone_get() : error conditions ***
+
+-- Testing date_create() function with more than expected no. of arguments --
+string(3) "UTC"
+
+===Done===
\ No newline at end of file
diff --git a/ext/date/tests/date_default_timezone_set_error.phpt b/ext/date/tests/date_default_timezone_set_error.phpt
new file mode 100644 (file)
index 0000000..870afe4
--- /dev/null
@@ -0,0 +1,43 @@
+--TEST--
+Test date_default_timezone_set() function : error variations
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : bool date_default_timezone_set ( string $timezone_identifier )
+ * Description:  Sets the default timezone used by all date/time functions in a script.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_default_timezone_set() : error variations ***\n";
+
+echo "\n-- Testing date_default_timezone_set() function with less than expected no. of arguments --\n";
+var_dump( date_default_timezone_set() );
+
+echo "\n-- Testing date_default_timezone_set() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( date_default_timezone_set("GMT", $extra_arg) );
+
+echo "\n-- Testing date_default_timezone_set() function with invalid timezone identifier  --\n";
+var_dump( date_default_timezone_set("foo") );
+
+?>
+===Done===
+--EXPECTF--
+*** Testing date_default_timezone_set() : error variations ***
+
+-- Testing date_default_timezone_set() function with less than expected no. of arguments --
+
+Warning: date_default_timezone_set() expects exactly 1 parameter, 0 given in %s on line %d
+bool(false)
+
+-- Testing date_default_timezone_set() function with more than expected no. of arguments --
+
+Warning: date_default_timezone_set() expects exactly 1 parameter, 2 given in %s on line %d
+bool(false)
+
+-- Testing date_default_timezone_set() function with invalid timezone identifier  --
+
+Notice: date_default_timezone_set(): Timezone ID 'foo' is invalid in %s on line %d
+bool(false)
+===Done===
diff --git a/ext/date/tests/date_default_timezone_set_variation1.phpt b/ext/date/tests/date_default_timezone_set_variation1.phpt
new file mode 100644 (file)
index 0000000..22f4c22
--- /dev/null
@@ -0,0 +1,200 @@
+--TEST--
+Test date_default_timezone_set() function : usage variations - Passing unexpected values for time_zone identifier
+--FILE--
+<?php
+/* Prototype  : bool date_default_timezone_set ( string $timezone_identifier )
+ * Description:  Sets the default timezone used by all date/time functions in a script.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_default_timezone_set() : usage variations ***\n";
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// heredoc string
+$heredoc = <<<EOT
+abc
+xyz
+EOT;
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+$inputs = array(
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "abcxyz",
+       'abcxyz',
+       $heredoc,
+       
+       // undefined data
+/*22*/ @$undefined_var,
+
+       // unset data
+/*23*/ @$unset_var,
+
+       // resource variable
+/*24*/ $fp
+);
+
+// loop through each element of $inputs to check the behaviour of date_default_timezone_set()
+$iterator = 1;
+foreach($inputs as $input) {
+    echo "\n-- Iteration $iterator --\n";
+    var_dump(date_default_timezone_set($input));
+    $iterator++;
+};
+?>
+===Done===
+--EXPECTF--
+*** Testing date_default_timezone_set() : usage variations ***
+
+-- Iteration 1 --
+
+Notice: date_default_timezone_set(): Timezone ID '0' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 2 --
+
+Notice: date_default_timezone_set(): Timezone ID '1' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 3 --
+
+Notice: date_default_timezone_set(): Timezone ID '12345' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 4 --
+
+Notice: date_default_timezone_set(): Timezone ID '-2345' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 5 --
+
+Notice: date_default_timezone_set(): Timezone ID '10.5' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 6 --
+
+Notice: date_default_timezone_set(): Timezone ID '-10.5' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 7 --
+
+Notice: date_default_timezone_set(): Timezone ID '123456789000' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 8 --
+
+Notice: date_default_timezone_set(): Timezone ID '1.23456789E-9' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 9 --
+
+Notice: date_default_timezone_set(): Timezone ID '0.5' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 10 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 11 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 12 --
+
+Notice: date_default_timezone_set(): Timezone ID '1' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 13 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 14 --
+
+Notice: date_default_timezone_set(): Timezone ID '1' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 15 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 16 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: date_default_timezone_set() expects parameter 1 to be string, array given in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Notice: date_default_timezone_set(): Timezone ID 'abcxyz' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Notice: date_default_timezone_set(): Timezone ID 'abcxyz' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Notice: date_default_timezone_set(): Timezone ID 'abc
+xyz' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 23 --
+
+Notice: date_default_timezone_set(): Timezone ID '' is invalid in %s on line %d
+bool(false)
+
+-- Iteration 24 --
+
+Warning: date_default_timezone_set() expects parameter 1 to be string, resource given in %s on line %d
+bool(false)
+===Done===
diff --git a/ext/date/tests/date_sun_info_error.phpt b/ext/date/tests/date_sun_info_error.phpt
new file mode 100644 (file)
index 0000000..f5665ee
--- /dev/null
@@ -0,0 +1,48 @@
+--TEST--
+Test date_sun_info() function : error variations
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : array date_sun_info ( int $time , float $latitude , float $longitude   )
+ * Description:  Returns an array with information about sunset/sunrise and twilight begin/end.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_sun_info() : usage variations ***\n";
+
+$time = "2006-12-12";
+$latitude=31.7667;
+$longitude=35.2333;
+
+echo "\n-- Testing date_sun_info() function with less than expected no. of arguments --\n";
+var_dump( date_sun_info() );
+var_dump( date_sun_info($time) );
+var_dump( date_sun_info($time, $latitude) );
+
+
+echo "\n-- Testing date_sun_info() function with more than expected no. of arguments --\n";
+$extra_arg = 99;
+var_dump( date_create($time, $latitude, $longitude, $extra_arg) );
+
+?>
+===Done===
+--EXPECTF--
+*** Testing date_sun_info() : usage variations ***
+
+-- Testing date_sun_info() function with less than expected no. of arguments --
+
+Warning: date_sun_info() expects exactly 3 parameters, 0 given in %s on line %d
+bool(false)
+
+Warning: date_sun_info() expects exactly 3 parameters, 1 given in %s on line %d
+bool(false)
+
+Warning: date_sun_info() expects exactly 3 parameters, 2 given in %s on line %d
+bool(false)
+
+-- Testing date_sun_info() function with more than expected no. of arguments --
+
+Warning: date_create() expects at most 2 parameters, 4 given in %s on line %d
+bool(false)
+===Done===
\ No newline at end of file
diff --git a/ext/date/tests/date_sun_info_variation1.phpt b/ext/date/tests/date_sun_info_variation1.phpt
new file mode 100644 (file)
index 0000000..ddcaf89
--- /dev/null
@@ -0,0 +1,492 @@
+--TEST--
+Test date_sun_info() function : error variations - Pass unexpected values for time argument
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : array date_sun_info ( int $time , float $latitude , float $longitude )
+ * Description:  Returns an array with information about sunset/sunrise and twilight begin/end.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_sun_info() : usage variations ***\n";
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// heredoc string
+$heredoc = <<<EOT
+abc
+xyz
+EOT;
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+$inputs = array(
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e5,
+       12.3456789000E-5,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "abcxyz",
+       'abcxyz',
+       $heredoc,
+       
+       // undefined data
+/*22*/ @$undefined_var,
+
+       // unset data
+/*23*/ @$unset_var,
+
+       // resource variable
+/*24*/ $fp
+);
+
+// loop through each element of $inputs to check the behaviour of date_sun_info()
+$iterator = 1;
+foreach($inputs as $input) {
+    echo "\n-- Iteration $iterator --\n";
+    var_dump(date_sun_info($input,  31.7667, 35.2333));
+    $iterator++;
+};
+
+?>
+===Done===
+--EXPECTF--
+*** Testing date_sun_info() : usage variations ***
+
+-- Iteration 1 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 2 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 3 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 4 --
+array(9) {
+  ["sunrise"]=>
+  int(-69665)
+  ["sunset"]=>
+  int(-33260)
+  ["transit"]=>
+  int(-51462)
+  ["civil_twilight_begin"]=>
+  int(-71269)
+  ["civil_twilight_end"]=>
+  int(-31655)
+  ["nautical_twilight_begin"]=>
+  int(-73092)
+  ["nautical_twilight_end"]=>
+  int(-29832)
+  ["astronomical_twilight_begin"]=>
+  int(-74874)
+  ["astronomical_twilight_end"]=>
+  int(-28050)
+}
+
+-- Iteration 5 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 6 --
+array(9) {
+  ["sunrise"]=>
+  int(-69665)
+  ["sunset"]=>
+  int(-33260)
+  ["transit"]=>
+  int(-51462)
+  ["civil_twilight_begin"]=>
+  int(-71269)
+  ["civil_twilight_end"]=>
+  int(-31655)
+  ["nautical_twilight_begin"]=>
+  int(-73092)
+  ["nautical_twilight_end"]=>
+  int(-29832)
+  ["astronomical_twilight_begin"]=>
+  int(-74874)
+  ["astronomical_twilight_end"]=>
+  int(-28050)
+}
+
+-- Iteration 7 --
+array(9) {
+  ["sunrise"]=>
+  int(1226363)
+  ["sunset"]=>
+  int(1263468)
+  ["transit"]=>
+  int(1244916)
+  ["civil_twilight_begin"]=>
+  int(1224788)
+  ["civil_twilight_end"]=>
+  int(1265044)
+  ["nautical_twilight_begin"]=>
+  int(1222993)
+  ["nautical_twilight_end"]=>
+  int(1266839)
+  ["astronomical_twilight_begin"]=>
+  int(1221233)
+  ["astronomical_twilight_end"]=>
+  int(1268599)
+}
+
+-- Iteration 8 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 9 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 10 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 11 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 12 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 13 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 14 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 15 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 16 --
+
+Warning: date_sun_info() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: date_sun_info() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: date_sun_info() expects parameter 1 to be long, array given in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: date_sun_info() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: date_sun_info() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: date_sun_info() expects parameter 1 to be long, string given in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 23 --
+array(9) {
+  ["sunrise"]=>
+  int(16748)
+  ["sunset"]=>
+  int(53182)
+  ["transit"]=>
+  int(34965)
+  ["civil_twilight_begin"]=>
+  int(15145)
+  ["civil_twilight_end"]=>
+  int(54786)
+  ["nautical_twilight_begin"]=>
+  int(13324)
+  ["nautical_twilight_end"]=>
+  int(56607)
+  ["astronomical_twilight_begin"]=>
+  int(11542)
+  ["astronomical_twilight_end"]=>
+  int(58389)
+}
+
+-- Iteration 24 --
+
+Warning: date_sun_info() expects parameter 1 to be long, resource given in %s on line %d
+bool(false)
+===Done===
\ No newline at end of file
diff --git a/ext/date/tests/date_sun_info_variation2.phpt b/ext/date/tests/date_sun_info_variation2.phpt
new file mode 100644 (file)
index 0000000..16ad83e
--- /dev/null
@@ -0,0 +1,492 @@
+--TEST--
+Test date_sun_info() function : error variations - PAss unexepcted valuesfor latitude argument
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : array date_sun_info ( int $time , float $latitude , float $longitude )
+ * Description:  Returns an array with information about sunset/sunrise and twilight begin/end.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_sun_info() : usage variations ***\n";
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// heredoc string
+$heredoc = <<<EOT
+abc
+xyz
+EOT;
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+$inputs = array(
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "abcxyz",
+       'abcxyz',
+       $heredoc,
+       
+       // undefined data
+/*22*/ @$undefined_var,
+
+       // unset data
+/*23*/ @$unset_var,
+
+       // resource variable
+/*24*/ $fp
+);
+
+// loop through each element of $inputs to check the behaviour of date_sun_info()
+$iterator = 1;
+foreach($inputs as $input) {
+    echo "\n-- Iteration $iterator --\n";
+    var_dump(date_sun_info(strtotime("2006-12-12"), $input, 35.2333));
+    $iterator++;
+};
+
+?>
+===Done===
+--EXPECTF--
+*** Testing date_sun_info() : usage variations ***
+
+-- Iteration 1 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 2 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894254)
+  ["sunset"]=>
+  int(1165937695)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892911)
+  ["civil_twilight_end"]=>
+  int(1165939038)
+  ["nautical_twilight_begin"]=>
+  int(1165891344)
+  ["nautical_twilight_end"]=>
+  int(1165940606)
+  ["astronomical_twilight_begin"]=>
+  int(1165889771)
+  ["astronomical_twilight_end"]=>
+  int(1165942179)
+}
+
+-- Iteration 3 --
+array(9) {
+  ["sunrise"]=>
+  bool(true)
+  ["sunset"]=>
+  bool(true)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  bool(true)
+  ["civil_twilight_end"]=>
+  bool(true)
+  ["nautical_twilight_begin"]=>
+  int(1165883331)
+  ["nautical_twilight_end"]=>
+  int(1165948619)
+  ["astronomical_twilight_begin"]=>
+  int(1165890260)
+  ["astronomical_twilight_end"]=>
+  int(1165941690)
+}
+
+-- Iteration 4 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894085)
+  ["sunset"]=>
+  int(1165937865)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165895431)
+  ["civil_twilight_end"]=>
+  int(1165936519)
+  ["nautical_twilight_begin"]=>
+  int(1165896998)
+  ["nautical_twilight_end"]=>
+  int(1165934952)
+  ["astronomical_twilight_begin"]=>
+  int(1165898564)
+  ["astronomical_twilight_end"]=>
+  int(1165933386)
+}
+
+-- Iteration 5 --
+array(9) {
+  ["sunrise"]=>
+  int(1165895237)
+  ["sunset"]=>
+  int(1165936713)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165893873)
+  ["civil_twilight_end"]=>
+  int(1165938077)
+  ["nautical_twilight_begin"]=>
+  int(1165892293)
+  ["nautical_twilight_end"]=>
+  int(1165939656)
+  ["astronomical_twilight_begin"]=>
+  int(1165890721)
+  ["astronomical_twilight_end"]=>
+  int(1165941229)
+}
+
+-- Iteration 6 --
+array(9) {
+  ["sunrise"]=>
+  int(1165893058)
+  ["sunset"]=>
+  int(1165938891)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165891680)
+  ["civil_twilight_end"]=>
+  int(1165940269)
+  ["nautical_twilight_begin"]=>
+  int(1165890055)
+  ["nautical_twilight_end"]=>
+  int(1165941895)
+  ["astronomical_twilight_begin"]=>
+  int(1165888402)
+  ["astronomical_twilight_end"]=>
+  int(1165943548)
+}
+
+-- Iteration 7 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 8 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 9 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894203)
+  ["sunset"]=>
+  int(1165937747)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892860)
+  ["civil_twilight_end"]=>
+  int(1165939090)
+  ["nautical_twilight_begin"]=>
+  int(1165891292)
+  ["nautical_twilight_end"]=>
+  int(1165940658)
+  ["astronomical_twilight_begin"]=>
+  int(1165889717)
+  ["astronomical_twilight_end"]=>
+  int(1165942233)
+}
+
+-- Iteration 10 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 11 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 12 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894254)
+  ["sunset"]=>
+  int(1165937695)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892911)
+  ["civil_twilight_end"]=>
+  int(1165939038)
+  ["nautical_twilight_begin"]=>
+  int(1165891344)
+  ["nautical_twilight_end"]=>
+  int(1165940606)
+  ["astronomical_twilight_begin"]=>
+  int(1165889771)
+  ["astronomical_twilight_end"]=>
+  int(1165942179)
+}
+
+-- Iteration 13 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 14 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894254)
+  ["sunset"]=>
+  int(1165937695)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892911)
+  ["civil_twilight_end"]=>
+  int(1165939038)
+  ["nautical_twilight_begin"]=>
+  int(1165891344)
+  ["nautical_twilight_end"]=>
+  int(1165940606)
+  ["astronomical_twilight_begin"]=>
+  int(1165889771)
+  ["astronomical_twilight_end"]=>
+  int(1165942179)
+}
+
+-- Iteration 15 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 16 --
+
+Warning: date_sun_info() expects parameter 2 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: date_sun_info() expects parameter 2 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: date_sun_info() expects parameter 2 to be double, array given in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: date_sun_info() expects parameter 2 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: date_sun_info() expects parameter 2 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: date_sun_info() expects parameter 2 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 23 --
+array(9) {
+  ["sunrise"]=>
+  int(1165894152)
+  ["sunset"]=>
+  int(1165937798)
+  ["transit"]=>
+  int(1165915975)
+  ["civil_twilight_begin"]=>
+  int(1165892809)
+  ["civil_twilight_end"]=>
+  int(1165939141)
+  ["nautical_twilight_begin"]=>
+  int(1165891239)
+  ["nautical_twilight_end"]=>
+  int(1165940710)
+  ["astronomical_twilight_begin"]=>
+  int(1165889663)
+  ["astronomical_twilight_end"]=>
+  int(1165942287)
+}
+
+-- Iteration 24 --
+
+Warning: date_sun_info() expects parameter 2 to be double, resource given in %s on line %d
+bool(false)
+===Done===
\ No newline at end of file
diff --git a/ext/date/tests/date_sun_info_variation3.phpt b/ext/date/tests/date_sun_info_variation3.phpt
new file mode 100644 (file)
index 0000000..4f9d3b2
--- /dev/null
@@ -0,0 +1,493 @@
+--TEST--
+Test date_sun_info() function : usage variations - Pass unexpected values for longitude argument
+--INI--
+date.timezone=UTC
+--FILE--
+<?php
+/* Prototype  : array date_sun_info ( int $time , float $latitude , float $longitude )
+ * Description:  Returns an array with information about sunset/sunrise and twilight begin/end.
+ * Source code: ext/standard/data/php_date.c
+ */
+
+echo "*** Testing date_sun_info() : usage variations ***\n";
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+// heredoc string
+$heredoc = <<<EOT
+abc
+xyz
+EOT;
+
+// get a resource variable
+$fp = fopen(__FILE__, "r");
+
+$inputs = array(
+       // int data
+/*1*/  0,
+       1,
+       12345,
+       -2345,
+
+       // float data
+/*5*/  10.5,
+       -10.5,
+       12.3456789000e10,
+       12.3456789000E-10,
+       .5,
+
+       // null data
+/*10*/ NULL,
+       null,
+
+       // boolean data
+/*12*/ true,
+       false,
+       TRUE,
+       FALSE,
+       
+       // empty data
+/*16*/ "",
+       '',
+       array(),
+
+       // string data
+/*19*/ "abcxyz",
+       'abcxyz',
+       $heredoc,
+       
+       // undefined data
+/*22*/ @$undefined_var,
+
+       // unset data
+/*23*/ @$unset_var,
+
+       // resource variable
+/*24*/ $fp
+);
+
+// loop through each element of $inputs to check the behaviour of date_sun_info()
+$iterator = 1;
+
+foreach($inputs as $input) {
+    echo "\n-- Iteration $iterator --\n";
+    var_dump(date_sun_info(strtotime("2006-12-12"), 31.7667, $input));
+    $iterator++;
+};
+
+?>
+===Done===
+--EXPECTF--
+*** Testing date_sun_info() : usage variations ***
+
+-- Iteration 1 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 2 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906002)
+  ["sunset"]=>
+  int(1165942385)
+  ["transit"]=>
+  int(1165924194)
+  ["civil_twilight_begin"]=>
+  int(1165904396)
+  ["civil_twilight_end"]=>
+  int(1165943991)
+  ["nautical_twilight_begin"]=>
+  int(1165902573)
+  ["nautical_twilight_end"]=>
+  int(1165945814)
+  ["astronomical_twilight_begin"]=>
+  int(1165900789)
+  ["astronomical_twilight_end"]=>
+  int(1165947598)
+}
+
+-- Iteration 3 --
+array(9) {
+  ["sunrise"]=>
+  int(1165879335)
+  ["sunset"]=>
+  int(1165917916)
+  ["transit"]=>
+  int(1165898625)
+  ["civil_twilight_begin"]=>
+  int(1165877811)
+  ["civil_twilight_end"]=>
+  int(1165919440)
+  ["nautical_twilight_begin"]=>
+  int(1165876064)
+  ["nautical_twilight_end"]=>
+  int(1165921187)
+  ["astronomical_twilight_begin"]=>
+  int(1165874341)
+  ["astronomical_twilight_end"]=>
+  int(1165922910)
+}
+
+-- Iteration 4 --
+array(9) {
+  ["sunrise"]=>
+  int(1165864483)
+  ["sunset"]=>
+  int(1165900762)
+  ["transit"]=>
+  int(1165882623)
+  ["civil_twilight_begin"]=>
+  int(1165862873)
+  ["civil_twilight_end"]=>
+  int(1165902372)
+  ["nautical_twilight_begin"]=>
+  int(1165861045)
+  ["nautical_twilight_end"]=>
+  int(1165904200)
+  ["astronomical_twilight_begin"]=>
+  int(1165859259)
+  ["astronomical_twilight_end"]=>
+  int(1165905987)
+}
+
+-- Iteration 5 --
+array(9) {
+  ["sunrise"]=>
+  int(1165903721)
+  ["sunset"]=>
+  int(1165940105)
+  ["transit"]=>
+  int(1165921913)
+  ["civil_twilight_begin"]=>
+  int(1165902115)
+  ["civil_twilight_end"]=>
+  int(1165941711)
+  ["nautical_twilight_begin"]=>
+  int(1165900292)
+  ["nautical_twilight_end"]=>
+  int(1165943534)
+  ["astronomical_twilight_begin"]=>
+  int(1165898508)
+  ["astronomical_twilight_end"]=>
+  int(1165945317)
+}
+
+-- Iteration 6 --
+array(9) {
+  ["sunrise"]=>
+  int(1165908763)
+  ["sunset"]=>
+  int(1165945146)
+  ["transit"]=>
+  int(1165926954)
+  ["civil_twilight_begin"]=>
+  int(1165907157)
+  ["civil_twilight_end"]=>
+  int(1165946752)
+  ["nautical_twilight_begin"]=>
+  int(1165905334)
+  ["nautical_twilight_end"]=>
+  int(1165948575)
+  ["astronomical_twilight_begin"]=>
+  int(1165903551)
+  ["astronomical_twilight_end"]=>
+  int(1165950358)
+}
+
+-- Iteration 7 --
+array(9) {
+  ["sunrise"]=>
+  int(1165919856)
+  ["sunset"]=>
+  int(1165969985)
+  ["transit"]=>
+  int(1165944920)
+  ["civil_twilight_begin"]=>
+  int(1165918203)
+  ["civil_twilight_end"]=>
+  int(1165971638)
+  ["nautical_twilight_begin"]=>
+  int(1165916223)
+  ["nautical_twilight_end"]=>
+  int(1165973617)
+  ["astronomical_twilight_begin"]=>
+  int(1165914116)
+  ["astronomical_twilight_end"]=>
+  int(1165975725)
+}
+
+-- Iteration 8 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 9 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906122)
+  ["sunset"]=>
+  int(1165942505)
+  ["transit"]=>
+  int(1165924314)
+  ["civil_twilight_begin"]=>
+  int(1165904516)
+  ["civil_twilight_end"]=>
+  int(1165944111)
+  ["nautical_twilight_begin"]=>
+  int(1165902693)
+  ["nautical_twilight_end"]=>
+  int(1165945934)
+  ["astronomical_twilight_begin"]=>
+  int(1165900910)
+  ["astronomical_twilight_end"]=>
+  int(1165947718)
+}
+
+-- Iteration 10 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 11 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 12 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906002)
+  ["sunset"]=>
+  int(1165942385)
+  ["transit"]=>
+  int(1165924194)
+  ["civil_twilight_begin"]=>
+  int(1165904396)
+  ["civil_twilight_end"]=>
+  int(1165943991)
+  ["nautical_twilight_begin"]=>
+  int(1165902573)
+  ["nautical_twilight_end"]=>
+  int(1165945814)
+  ["astronomical_twilight_begin"]=>
+  int(1165900789)
+  ["astronomical_twilight_end"]=>
+  int(1165947598)
+}
+
+-- Iteration 13 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 14 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906002)
+  ["sunset"]=>
+  int(1165942385)
+  ["transit"]=>
+  int(1165924194)
+  ["civil_twilight_begin"]=>
+  int(1165904396)
+  ["civil_twilight_end"]=>
+  int(1165943991)
+  ["nautical_twilight_begin"]=>
+  int(1165902573)
+  ["nautical_twilight_end"]=>
+  int(1165945814)
+  ["astronomical_twilight_begin"]=>
+  int(1165900789)
+  ["astronomical_twilight_end"]=>
+  int(1165947598)
+}
+
+-- Iteration 15 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 16 --
+
+Warning: date_sun_info() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 17 --
+
+Warning: date_sun_info() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 18 --
+
+Warning: date_sun_info() expects parameter 3 to be double, array given in %s on line %d
+bool(false)
+
+-- Iteration 19 --
+
+Warning: date_sun_info() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 20 --
+
+Warning: date_sun_info() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 21 --
+
+Warning: date_sun_info() expects parameter 3 to be double, string given in %s on line %d
+bool(false)
+
+-- Iteration 22 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 23 --
+array(9) {
+  ["sunrise"]=>
+  int(1165906242)
+  ["sunset"]=>
+  int(1165942625)
+  ["transit"]=>
+  int(1165924434)
+  ["civil_twilight_begin"]=>
+  int(1165904636)
+  ["civil_twilight_end"]=>
+  int(1165944231)
+  ["nautical_twilight_begin"]=>
+  int(1165902813)
+  ["nautical_twilight_end"]=>
+  int(1165946054)
+  ["astronomical_twilight_begin"]=>
+  int(1165901030)
+  ["astronomical_twilight_end"]=>
+  int(1165947838)
+}
+
+-- Iteration 24 --
+
+Warning: date_sun_info() expects parameter 3 to be double, resource given in %s on line %d
+bool(false)
+===Done===
\ No newline at end of file
diff --git a/ext/date/tests/date_sunrise_and_sunset_basic.phpt b/ext/date/tests/date_sunrise_and_sunset_basic.phpt
new file mode 100644 (file)
index 0000000..3725521
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+Basic test for date_sunrise and date_sunset based on example in PHP manual
+--FILE--
+<?php
+
+/* calculate the sunrise time for Lisbon, Portugal
+Latitude: 38.4 North
+Longitude: 9 West
+Zenith ~= 90
+offset: +1 GMT
+*/
+
+echo "Basic test for date_sunrise() and date_sunset()\n";
+
+// supress date() function warning msgs 
+error_reporting(E_ALL & ~E_WARNING);
+
+echo date("D M d Y") . ', sunrise time : ' . date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1) . "\n";
+echo date("D M d Y") . ', sunset time : ' . date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1) . "\n";
+
+?>
+===Done===
+--EXPECTF--
+Basic test for date_sunrise() and date_sunset()
+%s %s %d %d, sunrise time : %d:%d
+%s %s %d %d, sunset time : %d:%d
+===Done===