File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / calendar / tests / unixtojd.phpt
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 01:31:38 2013 UTC (11 years ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17, HEAD
5.4.17

--TEST--
unixtojd()
--SKIPIF--
<?php include 'skipif.inc'; ?>
--ENV--
TZ=UTC
--FILE--
<?php
// this line has no impact on test output on Windows
putenv('TZ=UTC');
// getenv('TZ') returns 'UTC' here
// putenv (basic_functions.c) does call tzset() when the env var being put is 'TZ'
//      -adding a call direct to GetEnvironmentVariableA just before tzset() is called to check the value of 'TZ' returns 'UTC'
// putting a call to date_default_timezone_set() here doesn't help
//
// on Windows, the only thing that gets this test to pass is to put TZ=UTC in --ENV-- section
// 		-since putenv() is written to call tzset() when env var is TZ, I assume that putenv("TZ=UTC") is intended to work
//			and should work on all platforms(including Windows).
// easter_date.phpt passes
//		-doesn't use --ENV-- section
//		-uses --INI-- section with date.timezone=UTC
//		-uses putenv('TZ=UTC')
// date.timezone=UTC
//		-if ommitted from easter_date.phpt, outputs DATE_TZ_ERRMSG warning
//			-easter_date() calls mktime() and localtime()
//			-whereas unixtojd(1000000000) calls localtime(1000000000)
//		-if ommitted from unixtojd.phpt, does NOT output DATE_TZ_ERRMSG
//
// unixtojd() calls php_localtime_r() which for Pacific timezone systems, returns a time -8 hours
//		-this incorrect localtime is passed to the julian date conversion (GregorianToSDN) function which works (probably correctly)
//			but returns -1 day from expected because its input is -1 from expected

echo unixtojd(40000). "\n";
echo unixtojd(1000000000). "\n";
echo unixtojd(1152459009). "\n";
?>
--EXPECT--
2440588
2452162
2453926

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>