Version 1
[yaffs-website] / web / core / tests / Drupal / Tests / Core / Datetime / DateHelperTest.php
1 <?php
2
3 namespace Drupal\Tests\Core\Datetime;
4
5 use Drupal\Core\Datetime\DateHelper;
6 use Drupal\Core\DependencyInjection\ContainerBuilder;
7 use Drupal\Tests\UnitTestCase;
8
9 /**
10  * @coversDefaultClass \Drupal\Core\Datetime\DateHelper
11  * @group Datetime
12  */
13 class DateHelperTest extends UnitTestCase {
14
15   /**
16    * @covers ::weekDaysOrdered
17    * @dataProvider providerTestWeekDaysOrdered
18    */
19   public function testWeekDaysOrdered($first_day, $expected) {
20     $container = new ContainerBuilder();
21     $config = ['system.date' => ['first_day' => $first_day]];
22     $container->set('config.factory', $this->getConfigFactoryStub($config));
23     \Drupal::setContainer($container);
24
25     $weekdays = DateHelper::weekDaysUntranslated();
26     // self::assertSame() MUST be used here as it checks for array key order.
27     $this->assertSame($expected, DateHelper::weekDaysOrdered($weekdays));
28   }
29
30   public function providerTestWeekDaysOrdered() {
31     $data = [];
32     $data[] = [0, [
33       0 => 'Sunday',
34       1 => 'Monday',
35       2 => 'Tuesday',
36       3 => 'Wednesday',
37       4 => 'Thursday',
38       5 => 'Friday',
39       6 => 'Saturday',
40     ]];
41     $data[] = [1, [
42       1 => 'Monday',
43       2 => 'Tuesday',
44       3 => 'Wednesday',
45       4 => 'Thursday',
46       5 => 'Friday',
47       6 => 'Saturday',
48       0 => 'Sunday',
49     ]];
50     $data[] = [2, [
51       2 => 'Tuesday',
52       3 => 'Wednesday',
53       4 => 'Thursday',
54       5 => 'Friday',
55       6 => 'Saturday',
56       0 => 'Sunday',
57       1 => 'Monday',
58     ]];
59     $data[] = [3, [
60       3 => 'Wednesday',
61       4 => 'Thursday',
62       5 => 'Friday',
63       6 => 'Saturday',
64       0 => 'Sunday',
65       1 => 'Monday',
66       2 => 'Tuesday',
67     ]];
68     $data[] = [4, [
69       4 => 'Thursday',
70       5 => 'Friday',
71       6 => 'Saturday',
72       0 => 'Sunday',
73       1 => 'Monday',
74       2 => 'Tuesday',
75       3 => 'Wednesday',
76     ]];
77     $data[] = [5, [
78       5 => 'Friday',
79       6 => 'Saturday',
80       0 => 'Sunday',
81       1 => 'Monday',
82       2 => 'Tuesday',
83       3 => 'Wednesday',
84       4 => 'Thursday',
85     ]];
86     $data[] = [6, [
87       6 => 'Saturday',
88       0 => 'Sunday',
89       1 => 'Monday',
90       2 => 'Tuesday',
91       3 => 'Wednesday',
92       4 => 'Thursday',
93       5 => 'Friday',
94     ]];
95     $data[] = [7, [
96       0 => 'Sunday',
97       1 => 'Monday',
98       2 => 'Tuesday',
99       3 => 'Wednesday',
100       4 => 'Thursday',
101       5 => 'Friday',
102       6 => 'Saturday',
103     ]];
104     return $data;
105   }
106
107 }