Page MenuHomePhorge

No OneTemporary

Size
8 KB
Referenced Files
None
Subscribers
None
diff --git a/tests/timezone_converter.php b/tests/timezone_converter.php
index 2d32593..9fb655b 100644
--- a/tests/timezone_converter.php
+++ b/tests/timezone_converter.php
@@ -1,177 +1,168 @@
<?php
class timezone_converter extends PHPUnit\Framework\TestCase
{
function test_list_timezones()
{
// date_default_timezone_set('America/Los_Angeles');
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$output = $converter->getListOfTimezones('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAEAAAAAAAAAxP///w==');
$this->assertTrue(is_array($output));
$this->assertSame(array(), $output);
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$output = $converter->getListOfTimezones('xP///0MAZQBuAHQAcgBhAGwAIABFAHUAcgBvAHAAZQAgAFMAdABhAG4AZABhAHIAZAAgAFQAaQBtAGUAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAEMAZQBuAHQAcgBhAGwAIABFAHUAcgBvAHAAZQAgAEQAYQB5AGwAaQBnAGgAdAAgAFQAaQBtAGUAAAAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==');
$this->assertTrue(is_array($output));
$this->assertTrue(isset($output['Europe/Warsaw']));
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$output = $converter->getListOfTimezones('4AEAAFAAYQBjAGkAZgBpAGMAIABTAHQAYQBuAGQAYQByAGQAIABUAGkAbQBlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAIAAAAAAAAAAAAAAFAAYQBjAGkAZgBpAGMAIABEAGEAeQBsAGkAZwBoAHQAIABUAGkAbQBlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAIAAAAAAAAAxP///w==');
$this->assertTrue(is_array($output));
$this->assertTrue(isset($output['America/Los_Angeles']));
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$output = $converter->getListOfTimezones('Lv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==');
$this->assertTrue(is_array($output));
$this->assertTrue(isset($output['Asia/Tehran']));
}
function data_get_timezone()
{
return [
['UTC'],
['Europe/Warsaw'],
['Europe/Zurich'],
['America/Los_Angeles'],
['Asia/Tehran'],
];
}
/**
* @dataProvider data_get_timezone
*/
function test_get_timezone($tzName)
{
date_default_timezone_set('America/Los_Angeles');
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$datetime = '2017-01-01T12:00:00Z';
$offsets = $converter->getOffsetsForTimezone($tzName, $datetime);
$output = $converter->getTimezone($offsets, $tzName);
$this->assertSame($tzName, $output);
}
function test_get_offsets_for_timezone()
{
date_default_timezone_set('America/Los_Angeles');
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$datetime = '2017-01-01T12:00:00Z';
$output = $converter->getOffsetsForTimezone('UTC', $datetime);
$this->assertSame($output['bias'], 0);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['daylightBias'], 0);
$this->assertSame($output['standardMonth'], 0);
$this->assertSame($output['daylightMonth'], 0);
$output = $converter->getOffsetsForTimezone('Europe/Warsaw', $datetime);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['standardMonth'], 10);
$this->assertSame($output['standardWeek'], 5);
$this->assertSame($output['standardHour'], 3);
$this->assertSame($output['daylightBias'], -60);
$this->assertSame($output['daylightMonth'], 3);
$this->assertSame($output['daylightWeek'], 5);
$this->assertSame($output['daylightHour'], 2);
$output = $converter->getOffsetsForTimezone('America/Los_Angeles', $datetime);
$this->assertSame($output['bias'], 480);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['standardMonth'], 11);
$this->assertSame($output['standardWeek'], 1);
$this->assertSame($output['standardHour'], 2);
$this->assertSame($output['daylightBias'], -60);
$this->assertSame($output['daylightMonth'], 3);
$this->assertSame($output['daylightWeek'], 2);
$this->assertSame($output['daylightHour'], 2);
$output = $converter->getOffsetsForTimezone('Atlantic/Azores', $datetime);
$this->assertSame($output['bias'], 60);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['standardMonth'], 10);
$this->assertSame($output['standardWeek'], 5);
$this->assertSame($output['standardHour'], 1);
$this->assertSame($output['daylightBias'], -60);
$this->assertSame($output['daylightMonth'], 3);
$this->assertSame($output['daylightWeek'], 5);
$this->assertSame($output['daylightHour'], 0);
//Check before dst change
$output = $converter->getOffsetsForTimezone('Asia/Tehran', $datetime);
$this->assertSame($output['bias'], -210);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['standardMonth'], 9);
$this->assertSame($output['standardWeek'], 3);
$this->assertSame($output['standardDayOfWeek'], 4);
$this->assertSame($output['standardHour'], 24);
$this->assertSame($output['daylightBias'], -60);
$this->assertSame($output['daylightMonth'], 3);
$this->assertSame($output['daylightWeek'], 4);
$this->assertSame($output['daylightDayOfWeek'], 3);
$this->assertSame($output['daylightHour'], 0);
//Check after dst change
$output = $converter->getOffsetsForTimezone('Asia/Tehran', '2023-01-01T12:00:00Z');
$this->assertSame($output['bias'], -210);
$this->assertSame($output['standardBias'], 0);
$this->assertSame($output['standardMonth'], 0);
$this->assertSame($output['standardWeek'], 0);
$this->assertSame($output['standardDayOfWeek'], 0);
$this->assertSame($output['standardHour'], 0);
$this->assertSame($output['daylightBias'], 0);
$this->assertSame($output['daylightMonth'], 0);
$this->assertSame($output['daylightWeek'], 0);
$this->assertSame($output['daylightDayOfWeek'], 0);
$this->assertSame($output['daylightHour'], 0);
}
function data_timezone_conversion()
{
return array(
//Pre dst change
array('Asia/Tehran', 'Lv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAgADABcAOwA7AOcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAQAEAAAAAAAAAAAAxP///w==', '2021-07-01T12:00:00Z'),
//Post dst change
array('Asia/Tehran', 'Lv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==', '2023-04-01T12:00:00Z'),
array('Pacific/Pago_Pago', 'lAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==', '2021-07-01T12:00:00Z'),
array('Europe/Warsaw', 'xP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAFAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAIAAAAAAAAAxP///w==', '2021-07-01T12:00:00Z'),
);
}
/**
* @dataProvider data_timezone_conversion
*/
function test_timezone_conversion($tz, $expected, $datetime)
{
- $converter = timezone_converter_test::getInstance();
+ $converter = kolab_sync_timezone_converter::getInstance();
$output = $converter->encodeTimezone($tz, $datetime);
$this->assertSame($expected, $output);
$output = $converter->getListOfTimezones($output);
$this->assertTrue(is_array($output));
$this->assertTrue(isset($output[$tz]));
}
}
-
-class timezone_converter_test extends kolab_sync_timezone_converter
-{
- // disable cache
- function getCache()
- {
- return null;
- }
-}

File Metadata

Mime Type
text/x-diff
Expires
Thu, Mar 19, 9:39 PM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
458793
Default Alt Text
(8 KB)

Event Timeline