d1e2f8e52c
Relates to #250 Modifications - supported version - bump required version from 5.1.0 to 5.3.x - update README - add PHP 5.3 to Travis environments - rewrite array declarations: explicitely use array() instead of [] - move checkPHPVersion to application/Utils.php - move timezone functions to application/TimeZone.php - cleanup code - improve test coverage Signed-off-by: VirtualTam <virtualtam@flibidi.net>
83 lines
2.3 KiB
PHP
83 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* TimeZone's tests
|
|
*/
|
|
|
|
require_once 'application/TimeZone.php';
|
|
|
|
/**
|
|
* Unitary tests for timezone utilities
|
|
*/
|
|
class TimeZoneTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* Generate a timezone selection form
|
|
*/
|
|
public function testGenerateTimeZoneForm()
|
|
{
|
|
$generated = generateTimeZoneForm();
|
|
|
|
// HTML form
|
|
$this->assertStringStartsWith('Continent:<select', $generated[0]);
|
|
$this->assertContains('selected="selected"', $generated[0]);
|
|
$this->assertStringEndsWith('</select><br />', $generated[0]);
|
|
|
|
// Javascript handler
|
|
$this->assertStringStartsWith('<script>', $generated[1]);
|
|
$this->assertContains(
|
|
'<option value=\"Bermuda\">Bermuda<\/option>',
|
|
$generated[1]
|
|
);
|
|
$this->assertStringEndsWith('</script>', $generated[1]);
|
|
}
|
|
|
|
/**
|
|
* Generate a timezone selection form, with a preselected timezone
|
|
*/
|
|
public function testGenerateTimeZoneFormPreselected()
|
|
{
|
|
$generated = generateTimeZoneForm('Antarctica/Syowa');
|
|
|
|
// HTML form
|
|
$this->assertStringStartsWith('Continent:<select', $generated[0]);
|
|
$this->assertContains(
|
|
'value="Antarctica" selected="selected"',
|
|
$generated[0]
|
|
);
|
|
$this->assertContains(
|
|
'value="Syowa" selected="selected"',
|
|
$generated[0]
|
|
);
|
|
$this->assertStringEndsWith('</select><br />', $generated[0]);
|
|
|
|
|
|
// Javascript handler
|
|
$this->assertStringStartsWith('<script>', $generated[1]);
|
|
$this->assertContains(
|
|
'<option value=\"Bermuda\">Bermuda<\/option>',
|
|
$generated[1]
|
|
);
|
|
$this->assertStringEndsWith('</script>', $generated[1]);
|
|
}
|
|
|
|
/**
|
|
* Check valid timezones
|
|
*/
|
|
public function testValidTimeZone()
|
|
{
|
|
$this->assertTrue(isTimeZoneValid('America', 'Argentina/Ushuaia'));
|
|
$this->assertTrue(isTimeZoneValid('Europe', 'Oslo'));
|
|
$this->assertTrue(isTimeZoneValid('UTC', 'UTC'));
|
|
}
|
|
|
|
/**
|
|
* Check invalid timezones
|
|
*/
|
|
public function testInvalidTimeZone()
|
|
{
|
|
$this->assertFalse(isTimeZoneValid('CEST', 'CEST'));
|
|
$this->assertFalse(isTimeZoneValid('Europe', 'Atlantis'));
|
|
$this->assertFalse(isTimeZoneValid('Middle_Earth', 'Moria'));
|
|
}
|
|
}
|
|
?>
|