X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FTimeZoneTest.php;h=02bf060f34a0a7a1be177b2ab96d10316c73b869;hb=dea72c711ff740b3b829d238fcf85648465143a0;hp=f3de391395445fac93dc8b4042367b51372c536c;hpb=96db105e4c0833324f7168edb5673278de8ccd54;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/TimeZoneTest.php b/tests/TimeZoneTest.php index f3de3913..02bf060f 100644 --- a/tests/TimeZoneTest.php +++ b/tests/TimeZoneTest.php @@ -8,27 +8,48 @@ require_once 'application/TimeZone.php'; /** * Unitary tests for timezone utilities */ -class TimeZoneTest extends PHPUnit_Framework_TestCase +class TimeZoneTest extends PHPUnit\Framework\TestCase { + /** + * @var array of timezones + */ + protected $installedTimezones; + + public function setUp() + { + $this->installedTimezones = [ + 'Antarctica/Syowa', + 'Europe/London', + 'Europe/Paris', + 'UTC' + ]; + } + /** * Generate a timezone selection form */ public function testGenerateTimeZoneForm() { - $generated = generateTimeZoneForm(); + $expected = [ + 'continents' => [ + 'Antarctica', + 'Europe', + 'UTC', + 'selected' => '', + ], + 'cities' => [ + ['continent' => 'Antarctica', 'city' => 'Syowa'], + ['continent' => 'Europe', 'city' => 'London'], + ['continent' => 'Europe', 'city' => 'Paris'], + ['continent' => 'UTC', 'city' => 'UTC'], + 'selected' => '', + ] + ]; - // HTML form - $this->assertStringStartsWith('Continent:assertContains('selected="selected"', $generated[0]); - $this->assertStringEndsWith('
', $generated[0]); + list($continents, $cities) = generateTimeZoneData($this->installedTimezones); - // Javascript handler - $this->assertStringStartsWith('', $generated[1]); + $this->assertEquals($expected['continents'], $continents); + $this->assertEquals($expected['cities'], $cities); } /** @@ -36,28 +57,26 @@ class TimeZoneTest extends PHPUnit_Framework_TestCase */ public function testGenerateTimeZoneFormPreselected() { - $generated = generateTimeZoneForm('Antarctica/Syowa'); - - // HTML form - $this->assertStringStartsWith('Continent:assertContains( - 'value="Antarctica" selected="selected"', - $generated[0] - ); - $this->assertContains( - 'value="Syowa" selected="selected"', - $generated[0] - ); - $this->assertStringEndsWith('
', $generated[0]); + $expected = [ + 'continents' => [ + 'Antarctica', + 'Europe', + 'UTC', + 'selected' => 'Antarctica', + ], + 'cities' => [ + ['continent' => 'Antarctica', 'city' => 'Syowa'], + ['continent' => 'Europe', 'city' => 'London'], + ['continent' => 'Europe', 'city' => 'Paris'], + ['continent' => 'UTC', 'city' => 'UTC'], + 'selected' => 'Syowa', + ] + ]; + list($continents, $cities) = generateTimeZoneData($this->installedTimezones, 'Antarctica/Syowa'); - // Javascript handler - $this->assertStringStartsWith('', $generated[1]); + $this->assertEquals($expected['continents'], $continents); + $this->assertEquals($expected['cities'], $cities); } /** @@ -67,7 +86,6 @@ class TimeZoneTest extends PHPUnit_Framework_TestCase { $this->assertTrue(isTimeZoneValid('America', 'Argentina/Ushuaia')); $this->assertTrue(isTimeZoneValid('Europe', 'Oslo')); - $this->assertTrue(isTimeZoneValid('UTC', 'UTC')); } /** @@ -78,6 +96,6 @@ class TimeZoneTest extends PHPUnit_Framework_TestCase $this->assertFalse(isTimeZoneValid('CEST', 'CEST')); $this->assertFalse(isTimeZoneValid('Europe', 'Atlantis')); $this->assertFalse(isTimeZoneValid('Middle_Earth', 'Moria')); + $this->assertFalse(isTimeZoneValid('UTC', 'UTC')); } } -?>