Conditions | 1 |
Paths | 1 |
Total Lines | 98 |
Code Lines | 58 |
Lines | 0 |
Ratio | 0 % |
Changes | 11 | ||
Bugs | 7 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
23 | public function provideFormattingTests() |
||
24 | { |
||
25 | // Testing timestamp 0 |
||
26 | yield ['1970-01-01 00:00:00 UTC', 'U', '0']; |
||
27 | |||
28 | // Basic time offset |
||
29 | yield ['1970-01-01 00:00:00 +01:00', 'U', '-3600']; |
||
30 | yield ['1970-01-01 00:00:00 -01:00', 'U', '3600']; |
||
31 | |||
32 | // Basic date fields |
||
33 | yield ['2015-06-02 00:00:00 UTC', 'Y-m-d', '2015-06-02']; |
||
34 | yield ['2015-06-02 00:00:00 UTC', 'y-n-j', '15-6-2']; |
||
35 | // Default configuration should convert back this properly |
||
36 | yield ['1975-06-02 00:00:00 UTC', 'y-n-j', '75-6-2']; |
||
37 | |||
38 | yield ['2005-01-01 00:00:00 UTC', 'jS F Y', '1st January 2005']; |
||
39 | yield ['2005-02-02 00:00:00 UTC', 'jS F Y', '2nd February 2005']; |
||
40 | yield ['2005-03-03 00:00:00 UTC', 'jS F Y', '3rd March 2005']; |
||
41 | yield ['2005-04-04 00:00:00 UTC', 'jS F Y', '4th April 2005']; |
||
42 | yield ['2005-05-05 00:00:00 UTC', 'jS M Y', '5th May 2005']; |
||
43 | yield ['2005-06-06 00:00:00 UTC', 'jS M Y', '6th Jun 2005']; |
||
44 | yield ['2005-07-07 00:00:00 UTC', 'jS M Y', '7th Jul 2005']; |
||
45 | yield ['2005-08-08 00:00:00 UTC', 'jS M Y', '8th Aug 2005']; |
||
46 | |||
47 | // Leap years and day count |
||
48 | yield ['1900-02-01 00:00:00 UTC', 'L t', '0 28', true]; |
||
49 | yield ['2000-02-01 00:00:00 UTC', 'L t', '1 29', true]; |
||
50 | |||
51 | // ISO 8601 tests |
||
52 | yield ['2003-01-01 00:00:00 UTC', 'o W N/l H:i:s', '2003 01 3/Wednesday 00:00:00']; |
||
53 | yield ['2005-01-01 00:00:00 UTC', 'o W N/l H:i:s', '2004 53 6/Saturday 00:00:00']; |
||
54 | // Same with non iso day indexes |
||
55 | yield ['2003-01-01 00:00:00 UTC', 'o W w H:i:s', '2003 01 3 00:00:00']; |
||
56 | yield ['2005-01-01 00:00:00 UTC', 'o W w H:i:s', '2004 53 6 00:00:00']; |
||
57 | yield ['2005-01-02 00:00:00 UTC', 'o W w H:i:s', '2004 53 0 00:00:00']; |
||
58 | |||
59 | // Time |
||
60 | // Basic test |
||
61 | yield ['2005-01-01 17:30:10 UTC', 'Y-m-d H:i:s', '2005-01-01 17:30:10']; |
||
62 | // Testing 0 padding |
||
63 | yield ['2005-01-01 05:30:10 UTC', 'Y-m-d H:i:s', '2005-01-01 05:30:10']; |
||
64 | // Testing without 0 padding |
||
65 | yield ['2005-01-01 05:30:10 UTC', 'Y-m-d G:i:s', '2005-01-01 5:30:10']; |
||
66 | // Testing 12hour format with 0 padding ... |
||
67 | yield ['2005-01-01 17:30:10 UTC', 'Y-m-d ha:i:s', '2005-01-01 05pm:30:10']; |
||
68 | /// ... and without |
||
69 | yield ['2005-01-01 17:30:10 UTC', 'Y-m-d ga:i:s', '2005-01-01 5pm:30:10']; |
||
70 | // Testing midnight special case |
||
71 | yield ['2005-01-01 00:00:00 UTC', 'Y-m-d ha:i:s', '2005-01-01 12am:00:00']; |
||
72 | yield ['2005-01-01 00:00:00 UTC', 'Y-m-d ga:i:s', '2005-01-01 12am:00:00']; |
||
73 | // Testing noon special case |
||
74 | yield ['2005-01-01 12:00:00 UTC', 'Y-m-d ha:i:s', '2005-01-01 12pm:00:00']; |
||
75 | yield ['2005-01-01 12:00:00 UTC', 'Y-m-d ga:i:s', '2005-01-01 12pm:00:00']; |
||
76 | // testing uppercase AM/PM |
||
77 | yield ['2005-01-01 17:30:10 UTC', 'Y-m-d gA:i:s', '2005-01-01 5PM:30:10']; |
||
78 | yield ['2005-01-01 05:30:10 UTC', 'Y-m-d hA:i:s', '2005-01-01 05AM:30:10']; |
||
79 | // Testing swatch time |
||
80 | yield ['2005-01-01 0:00:00 +01:00', 'Y-m-d B', '2005-01-01 000']; |
||
81 | yield ['2005-01-01 0:01:27 +01:00', 'Y-m-d B', '2005-01-01 001']; |
||
82 | yield ['2005-01-01 12:00:00 +01:00', 'Y-m-d B', '2005-01-01 500']; |
||
83 | // testing with different time zone |
||
84 | yield ['2005-01-01 11:57:36 UTC', 'Y-m-d B', '2005-01-01 540']; |
||
85 | yield ['2005-01-01 00:00:00 -11:00', 'Y-m-d B', '2005-01-01 500']; |
||
86 | |||
87 | // testing mili/micro seconds |
||
88 | yield ['2005-01-01 00:00:00 UTC', 'Y-m-d H:i:s.u', '2005-01-01 00:00:00.000000']; |
||
89 | yield ['2005-01-01 00:00:00.123456 UTC', 'Y-m-d H:i:s.u', '2005-01-01 00:00:00.123456']; |
||
90 | yield ['2005-01-01 00:00:00.123000 UTC', 'Y-m-d H:i:s.v', '2005-01-01 00:00:00.123']; |
||
91 | yield ['2005-01-01 00:00:00.123456 UTC', 'Y-m-d H:i:s.vµ', '2005-01-01 00:00:00.123456']; |
||
92 | |||
93 | // testing recursive formats |
||
94 | yield ['2005-01-01 11:57:36 +01:00', 'c', '2005-01-01T11:57:36+01:00']; |
||
95 | yield ['2005-01-01 11:57:36 +01:00', 'r', 'Sat, 01 Jan 2005 11:57:36 +0100']; |
||
96 | // not alone |
||
97 | yield ['2005-01-01 11:57:36 +01:00', '\\YY c \\YY', 'Y2005 2005-01-01T11:57:36+01:00 Y2005']; |
||
98 | yield ['2005-01-01 11:57:36 +01:00', '\\YY r \\YY', 'Y2005 Sat, 01 Jan 2005 11:57:36 +0100 Y2005']; |
||
99 | |||
100 | // Day of the year test |
||
101 | yield ['2005-01-01 00:00:00 UTC', 'Y z', '2005 0']; |
||
102 | yield ['2005-03-02 00:00:00 UTC', 'Y z', '2005 60']; |
||
103 | |||
104 | // Timezones / offsets |
||
105 | yield ['2005-01-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s e', '2005-01-01 00:00:00 Europe/Berlin']; |
||
106 | yield ['2005-01-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s T I', '2005-01-01 00:00:00 CET 0']; |
||
107 | yield ['2005-01-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s Z', '2005-01-01 00:00:00 3600']; |
||
108 | yield ['2005-01-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s O', '2005-01-01 00:00:00 +0100']; |
||
109 | yield ['2005-01-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s P', '2005-01-01 00:00:00 +01:00']; |
||
110 | |||
111 | // now with DST |
||
112 | yield ['2005-06-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s T I', '2005-06-01 00:00:00 CEST 1']; |
||
113 | yield ['2005-06-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s Z', '2005-06-01 00:00:00 7200']; |
||
114 | yield ['2005-06-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s O', '2005-06-01 00:00:00 +0200']; |
||
115 | yield ['2005-06-01 00:00:00 Europe/Berlin', 'Y-m-d H:i:s P', '2005-06-01 00:00:00 +02:00']; |
||
116 | |||
117 | // Testing some symbol escaping : |
||
118 | yield ['2005-01-01 00:00:00.123456 UTC', 'Y-m-d H:i:s.vµ \\Y-\\m-\\d \\H:\\i:\\s.\\v\\µ', '2005-01-01 00:00:00.123456 Y-m-d H:i:s.vµ']; |
||
119 | |||
120 | } |
||
121 | |||
153 | } |