X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FTimeZoneTest.php;h=77862855e77743c16fef50630d82856741badb5d;hb=ccd1862d5f6f2c0548473466aaff7ee99f9d67d2;hp=b219030a3a4da19f3c73b53d9a845723b4fb1352;hpb=b282fffa238deb41fe0aae6fe6ea68bb2b43c78e;p=github%2Fshaarli%2FShaarli.git
diff --git a/tests/TimeZoneTest.php b/tests/TimeZoneTest.php
index b219030a..77862855 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 \Shaarli\TestCase
{
+ /**
+ * @var array of timezones
+ */
+ protected $installedTimezones;
+
+ protected function setUp(): void
+ {
+ $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:
', $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:
', $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,5 +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'));
}
}