diff options
author | Derick Rethans <github@derickrethans.nl> | 2012-12-20 13:22:18 +0000 |
---|---|---|
committer | Derick Rethans <github@derickrethans.nl> | 2013-01-12 15:16:25 +0000 |
commit | 62129f31a758e86f62410262bb6096f1b2584363 (patch) | |
tree | b23e217baf4907eb765a00cb7afab4bb9fb92ed0 /ext/date/tests | |
parent | 793b52b576e7af8823ae24622c6a331fd473e149 (diff) | |
download | php-git-immutable-date.tar.gz |
Make DatePeriod support DateTimeImmutable as well.immutable-date
If the start element is a DateTimeImmutable object, then all returned objects
are also DateTimeImmutable objects. If the start element is a DateTime object,
then all returned objects are DateTime objects.
Diffstat (limited to 'ext/date/tests')
-rw-r--r-- | ext/date/tests/date_period-immutable.phpt | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/date/tests/date_period-immutable.phpt b/ext/date/tests/date_period-immutable.phpt new file mode 100644 index 0000000000..0ec4b4a130 --- /dev/null +++ b/ext/date/tests/date_period-immutable.phpt @@ -0,0 +1,56 @@ +--TEST-- +DatePeriod +--FILE-- +<?php +date_default_timezone_set('UTC'); +$db1 = new DateTimeImmutable( '2008-01-01' ); +$db2 = new DateTime( '2008-01-01' ); +$de = new DateTime( '2008-03-31' ); +$di = DateInterval::createFromDateString( 'first day of next month' ); + +foreach ( new DatePeriod( $db1, $di, $de ) as $dt ) +{ + echo get_class( $dt ), "\n"; + echo $dt->format( "l Y-m-d\n" ); + echo $dt->modify( "3 tuesday" )->format( "l Y-m-d\n" ); + echo $dt->format( "l Y-m-d\n\n" ); +} + +foreach ( new DatePeriod( $db2, $di, $de ) as $dt ) +{ + echo get_class( $dt ), "\n"; + echo $dt->format( "l Y-m-d\n" ); + echo $dt->modify( "3 tuesday" )->format( "l Y-m-d\n" ); + echo $dt->format( "l Y-m-d\n\n" ); +} +?> +--EXPECT-- +DateTimeImmutable +Tuesday 2008-01-01 +Tuesday 2008-01-15 +Tuesday 2008-01-01 + +DateTimeImmutable +Friday 2008-02-01 +Tuesday 2008-02-19 +Friday 2008-02-01 + +DateTimeImmutable +Saturday 2008-03-01 +Tuesday 2008-03-18 +Saturday 2008-03-01 + +DateTime +Tuesday 2008-01-01 +Tuesday 2008-01-15 +Tuesday 2008-01-15 + +DateTime +Friday 2008-02-01 +Tuesday 2008-02-19 +Tuesday 2008-02-19 + +DateTime +Saturday 2008-03-01 +Tuesday 2008-03-18 +Tuesday 2008-03-18 |