2626 */
2727final class LoggerTest extends CIUnitTestCase
2828{
29+ protected function tearDown (): void
30+ {
31+ parent ::tearDown ();
32+
33+ // Reset the current time.
34+ Time::setTestNow ();
35+ }
36+
2937 public function testThrowsExceptionWithBadHandlerSettings (): void
3038 {
3139 $ config = new LoggerConfig ();
@@ -64,7 +72,9 @@ public function testLogActuallyLogs(): void
6472 $ config = new LoggerConfig ();
6573 $ logger = new Logger ($ config );
6674
67- $ expected = 'DEBUG - ' . Time::now ()->toDateString () . ' --> Test message ' ;
75+ Time::setTestNow ('2023-11-25 12:00:00 ' );
76+
77+ $ expected = 'DEBUG - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
6878 $ logger ->log ('debug ' , 'Test message ' );
6979
7080 $ logs = TestHandler::getLogs ();
@@ -94,7 +104,9 @@ public function testLogInterpolatesMessage(): void
94104
95105 $ logger = new Logger ($ config );
96106
97- $ expected = 'DEBUG - ' . Time::now ()->toDateString () . ' --> Test message bar baz ' ;
107+ Time::setTestNow ('2023-11-25 12:00:00 ' );
108+
109+ $ expected = 'DEBUG - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message bar baz ' ;
98110
99111 $ logger ->log ('debug ' , 'Test message {foo} {bar} ' , ['foo ' => 'bar ' , 'bar ' => 'baz ' ]);
100112
@@ -110,8 +122,10 @@ public function testLogInterpolatesPost(): void
110122
111123 $ logger = new Logger ($ config );
112124
125+ Time::setTestNow ('2023-11-25 12:00:00 ' );
126+
113127 $ _POST = ['foo ' => 'bar ' ];
114- $ expected = 'DEBUG - ' . Time::now ()->toDateString ( ) . ' --> Test message $_POST: ' . print_r ($ _POST , true );
128+ $ expected = 'DEBUG - ' . Time::now ()->format ( ' Y-m-d ' ) . ' --> Test message $_POST: ' . print_r ($ _POST , true );
115129
116130 $ logger ->log ('debug ' , 'Test message {post_vars} ' );
117131
@@ -127,8 +141,10 @@ public function testLogInterpolatesGet(): void
127141
128142 $ logger = new Logger ($ config );
129143
144+ Time::setTestNow ('2023-11-25 12:00:00 ' );
145+
130146 $ _GET = ['bar ' => 'baz ' ];
131- $ expected = 'DEBUG - ' . Time::now ()->toDateString ( ) . ' --> Test message $_GET: ' . print_r ($ _GET , true );
147+ $ expected = 'DEBUG - ' . Time::now ()->format ( ' Y-m-d ' ) . ' --> Test message $_GET: ' . print_r ($ _GET , true );
132148
133149 $ logger ->log ('debug ' , 'Test message {get_vars} ' );
134150
@@ -144,8 +160,10 @@ public function testLogInterpolatesSession(): void
144160
145161 $ logger = new Logger ($ config );
146162
163+ Time::setTestNow ('2023-11-25 12:00:00 ' );
164+
147165 $ _SESSION = ['xxx ' => 'yyy ' ];
148- $ expected = 'DEBUG - ' . Time::now ()->toDateString ( ) . ' --> Test message $_SESSION: ' . print_r ($ _SESSION , true );
166+ $ expected = 'DEBUG - ' . Time::now ()->format ( ' Y-m-d ' ) . ' --> Test message $_SESSION: ' . print_r ($ _SESSION , true );
149167
150168 $ logger ->log ('debug ' , 'Test message {session_vars} ' );
151169
@@ -161,7 +179,9 @@ public function testLogInterpolatesCurrentEnvironment(): void
161179
162180 $ logger = new Logger ($ config );
163181
164- $ expected = 'DEBUG - ' . Time::now ()->toDateString () . ' --> Test message ' . ENVIRONMENT ;
182+ Time::setTestNow ('2023-11-25 12:00:00 ' );
183+
184+ $ expected = 'DEBUG - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' . ENVIRONMENT ;
165185
166186 $ logger ->log ('debug ' , 'Test message {env} ' );
167187
@@ -177,9 +197,11 @@ public function testLogInterpolatesEnvironmentVars(): void
177197
178198 $ logger = new Logger ($ config );
179199
200+ Time::setTestNow ('2023-11-25 12:00:00 ' );
201+
180202 $ _ENV ['foo ' ] = 'bar ' ;
181203
182- $ expected = 'DEBUG - ' . Time::now ()->toDateString ( ) . ' --> Test message bar ' ;
204+ $ expected = 'DEBUG - ' . Time::now ()->format ( ' Y-m-d ' ) . ' --> Test message bar ' ;
183205
184206 $ logger ->log ('debug ' , 'Test message {env:foo} ' );
185207
@@ -211,7 +233,9 @@ public function testLogInterpolatesExceptions(): void
211233 $ config = new LoggerConfig ();
212234 $ logger = new Logger ($ config );
213235
214- $ expected = 'ERROR - ' . Time::now ()->toDateString () . ' --> [ERROR] These are not the droids you are looking for ' ;
236+ Time::setTestNow ('2023-11-25 12:00:00 ' );
237+
238+ $ expected = 'ERROR - ' . Time::now ()->format ('Y-m-d ' ) . ' --> [ERROR] These are not the droids you are looking for ' ;
215239
216240 try {
217241 throw new Exception ('These are not the droids you are looking for ' );
@@ -230,7 +254,9 @@ public function testEmergencyLogsCorrectly(): void
230254 $ config = new LoggerConfig ();
231255 $ logger = new Logger ($ config );
232256
233- $ expected = 'EMERGENCY - ' . Time::now ()->toDateString () . ' --> Test message ' ;
257+ Time::setTestNow ('2023-11-25 12:00:00 ' );
258+
259+ $ expected = 'EMERGENCY - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
234260
235261 $ logger ->emergency ('Test message ' );
236262
@@ -245,7 +271,9 @@ public function testAlertLogsCorrectly(): void
245271 $ config = new LoggerConfig ();
246272 $ logger = new Logger ($ config );
247273
248- $ expected = 'ALERT - ' . Time::now ()->toDateString () . ' --> Test message ' ;
274+ Time::setTestNow ('2023-11-25 12:00:00 ' );
275+
276+ $ expected = 'ALERT - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
249277
250278 $ logger ->alert ('Test message ' );
251279
@@ -260,7 +288,9 @@ public function testCriticalLogsCorrectly(): void
260288 $ config = new LoggerConfig ();
261289 $ logger = new Logger ($ config );
262290
263- $ expected = 'CRITICAL - ' . Time::now ()->toDateString () . ' --> Test message ' ;
291+ Time::setTestNow ('2023-11-25 12:00:00 ' );
292+
293+ $ expected = 'CRITICAL - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
264294
265295 $ logger ->critical ('Test message ' );
266296
@@ -275,7 +305,9 @@ public function testErrorLogsCorrectly(): void
275305 $ config = new LoggerConfig ();
276306 $ logger = new Logger ($ config );
277307
278- $ expected = 'ERROR - ' . Time::now ()->toDateString () . ' --> Test message ' ;
308+ Time::setTestNow ('2023-11-25 12:00:00 ' );
309+
310+ $ expected = 'ERROR - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
279311
280312 $ logger ->error ('Test message ' );
281313
@@ -290,7 +322,9 @@ public function testWarningLogsCorrectly(): void
290322 $ config = new LoggerConfig ();
291323 $ logger = new Logger ($ config );
292324
293- $ expected = 'WARNING - ' . Time::now ()->toDateString () . ' --> Test message ' ;
325+ Time::setTestNow ('2023-11-25 12:00:00 ' );
326+
327+ $ expected = 'WARNING - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
294328
295329 $ logger ->warning ('Test message ' );
296330
@@ -305,7 +339,9 @@ public function testNoticeLogsCorrectly(): void
305339 $ config = new LoggerConfig ();
306340 $ logger = new Logger ($ config );
307341
308- $ expected = 'NOTICE - ' . Time::now ()->toDateString () . ' --> Test message ' ;
342+ Time::setTestNow ('2023-11-25 12:00:00 ' );
343+
344+ $ expected = 'NOTICE - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
309345
310346 $ logger ->notice ('Test message ' );
311347
@@ -320,7 +356,9 @@ public function testInfoLogsCorrectly(): void
320356 $ config = new LoggerConfig ();
321357 $ logger = new Logger ($ config );
322358
323- $ expected = 'INFO - ' . Time::now ()->toDateString () . ' --> Test message ' ;
359+ Time::setTestNow ('2023-11-25 12:00:00 ' );
360+
361+ $ expected = 'INFO - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
324362
325363 $ logger ->info ('Test message ' );
326364
@@ -335,7 +373,9 @@ public function testDebugLogsCorrectly(): void
335373 $ config = new LoggerConfig ();
336374 $ logger = new Logger ($ config );
337375
338- $ expected = 'DEBUG - ' . Time::now ()->toDateString () . ' --> Test message ' ;
376+ Time::setTestNow ('2023-11-25 12:00:00 ' );
377+
378+ $ expected = 'DEBUG - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
339379
340380 $ logger ->debug ('Test message ' );
341381
@@ -350,7 +390,9 @@ public function testLogLevels(): void
350390 $ config = new LoggerConfig ();
351391 $ logger = new Logger ($ config );
352392
353- $ expected = 'WARNING - ' . Time::now ()->toDateString () . ' --> Test message ' ;
393+ Time::setTestNow ('2023-11-25 12:00:00 ' );
394+
395+ $ expected = 'WARNING - ' . Time::now ()->format ('Y-m-d ' ) . ' --> Test message ' ;
354396
355397 $ logger ->log (5 , 'Test message ' );
356398
0 commit comments