15
15
use Symfony \Bridge \PhpUnit \DeprecationErrorHandler \Configuration ;
16
16
use Symfony \Bridge \PhpUnit \DeprecationErrorHandler \Deprecation ;
17
17
use Symfony \Bridge \PhpUnit \DeprecationErrorHandler \DeprecationGroup ;
18
+ use Symfony \Component \ErrorHandler \DebugClassLoader ;
18
19
19
20
class ConfigurationTest extends TestCase
20
21
{
@@ -356,7 +357,7 @@ public function testBaselineGenerationEmptyFile()
356
357
$ this ->assertTrue ($ configuration ->isBaselineDeprecation (new Deprecation ('Test message 1 ' , $ trace , '' )));
357
358
$ configuration ->writeBaseline ();
358
359
$ this ->assertEquals ($ filename , $ configuration ->getBaselineFile ());
359
- $ expected_baseline = [
360
+ $ expected = [
360
361
[
361
362
'location ' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest ' ,
362
363
'message ' => 'Test message 1 ' ,
@@ -368,7 +369,7 @@ public function testBaselineGenerationEmptyFile()
368
369
'count ' => 1 ,
369
370
],
370
371
];
371
- $ this ->assertEquals (json_encode ($ expected_baseline , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
372
+ $ this ->assertEquals (json_encode ($ expected , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
372
373
}
373
374
374
375
public function testBaselineGenerationNoFile ()
@@ -383,7 +384,7 @@ public function testBaselineGenerationNoFile()
383
384
$ this ->assertTrue ($ configuration ->isBaselineDeprecation (new Deprecation ('Test message 1 ' , $ trace , '' )));
384
385
$ configuration ->writeBaseline ();
385
386
$ this ->assertEquals ($ filename , $ configuration ->getBaselineFile ());
386
- $ expected_baseline = [
387
+ $ expected = [
387
388
[
388
389
'location ' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest ' ,
389
390
'message ' => 'Test message 1 ' ,
@@ -395,7 +396,7 @@ public function testBaselineGenerationNoFile()
395
396
'count ' => 2 ,
396
397
],
397
398
];
398
- $ this ->assertEquals (json_encode ($ expected_baseline , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
399
+ $ this ->assertEquals (json_encode ($ expected , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
399
400
}
400
401
401
402
public function testExistingBaseline ()
@@ -447,7 +448,7 @@ public function testExistingBaselineAndGeneration()
447
448
$ this ->assertTrue ($ configuration ->isBaselineDeprecation (new Deprecation ('Test message 3 ' , $ trace , '' )));
448
449
$ configuration ->writeBaseline ();
449
450
$ this ->assertEquals ($ filename , $ configuration ->getBaselineFile ());
450
- $ expected_baseline = [
451
+ $ expected = [
451
452
[
452
453
'location ' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest ' ,
453
454
'message ' => 'Test message 2 ' ,
@@ -459,7 +460,44 @@ public function testExistingBaselineAndGeneration()
459
460
'count ' => 1 ,
460
461
],
461
462
];
462
- $ this ->assertEquals (json_encode ($ expected_baseline , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
463
+ $ this ->assertEquals (json_encode ($ expected , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
464
+ }
465
+
466
+ public function testBaselineGenerationWithDeprecationTriggeredByDebugClassLoader ()
467
+ {
468
+ $ filename = $ this ->createFile ();
469
+ $ configuration = Configuration::fromUrlEncodedString ('generateBaseline=true&baselineFile= ' .urlencode ($ filename ));
470
+
471
+ $ trace = debug_backtrace ();
472
+ $ this ->assertTrue ($ configuration ->isBaselineDeprecation (new Deprecation ('Regular deprecation ' , $ trace , '' )));
473
+
474
+ $ trace [2 ] = [
475
+ 'class ' => DebugClassLoader::class,
476
+ 'function ' => 'testBaselineGenerationWithDeprecationTriggeredByDebugClassLoader ' ,
477
+ 'args ' => [self ::class]
478
+ ];
479
+
480
+ $ deprecation = new Deprecation ('Deprecation by debug class loader ' , $ trace , '' );
481
+
482
+ $ this ->assertTrue ($ deprecation ->originatesFromDebugClassLoader ());
483
+
484
+ $ this ->assertTrue ($ configuration ->isBaselineDeprecation ($ deprecation ));
485
+
486
+ $ configuration ->writeBaseline ();
487
+ $ this ->assertEquals ($ filename , $ configuration ->getBaselineFile ());
488
+ $ expected = [
489
+ [
490
+ 'location ' => 'Symfony\Bridge\PhpUnit\Tests\DeprecationErrorHandler\ConfigurationTest::runTest ' ,
491
+ 'message ' => 'Regular deprecation ' ,
492
+ 'count ' => 1 ,
493
+ ],
494
+ [
495
+ 'location ' => self ::class,
496
+ 'message ' => 'Deprecation by debug class loader ' ,
497
+ 'count ' => 1 ,
498
+ ],
499
+ ];
500
+ $ this ->assertEquals (json_encode ($ expected , \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES ), file_get_contents ($ filename ));
463
501
}
464
502
465
503
public function testBaselineArgumentException ()
0 commit comments