@@ -415,7 +415,12 @@ public static function constructEmptyExcept(
415
415
416
416
private static function generateMock ()
417
417
{
418
- return self ::doGenerateMock (func_get_args ());
418
+ $ args = func_get_args ();
419
+ if (version_compare (PHPUnitVersion::series (), '10.4 ' , '>= ' ) && !is_bool ($ args [1 ])) {
420
+ array_splice ($ args , 1 , 0 , [true ]);
421
+ }
422
+
423
+ return self ::doGenerateMock ($ args );
419
424
}
420
425
421
426
/**
@@ -433,26 +438,28 @@ private static function generateMockForAbstractClass(): object
433
438
private static function doGenerateMock ($ args , $ isAbstract = false )
434
439
{
435
440
$ testCase = self ::extractTestCaseFromArgs ($ args );
436
- $ methodName = $ isAbstract ? 'getMockForAbstractClass ' : 'getMock ' ;
441
+
442
+ // PHPUnit 10.4 changed method names
443
+ if (version_compare (PHPUnitVersion::series (), '10.4 ' , '>= ' )) {
444
+ $ methodName = $ isAbstract ? 'mockObjectForAbstractClass ' : 'testDouble ' ;
445
+ } else {
446
+ $ methodName = $ isAbstract ? 'getMockForAbstractClass ' : 'getMock ' ;
447
+ }
448
+
437
449
// PHPUnit 10.3 changed the namespace
438
450
if (version_compare (PHPUnitVersion::series (), '10.3 ' , '>= ' )) {
439
451
$ generatorClass = new Generator ();
440
452
} else {
441
453
$ generatorClass = new LegacyGenerator ();
442
454
}
443
455
444
- // using PHPUnit 5.4 mocks registration
445
- if (version_compare (PHPUnitVersion::series (), '5.4 ' , '>= ' )
446
- && $ testCase instanceof PHPUnitTestCase
447
- ) {
448
- $ mock = call_user_func_array ([$ generatorClass , $ methodName ], $ args );
449
- $ testCase ->registerMockObject ($ mock );
450
- return $ mock ;
451
- }
456
+ $ mock = call_user_func_array ([$ generatorClass , $ methodName ], $ args );
457
+
452
458
if ($ testCase instanceof PHPUnitTestCase) {
453
- $ generatorClass = $ testCase ;
459
+ $ testCase-> registerMockObject ( $ mock ) ;
454
460
}
455
- return call_user_func_array ([$ generatorClass , $ methodName ], $ args );
461
+
462
+ return $ mock ;
456
463
}
457
464
458
465
private static function extractTestCaseFromArgs (&$ args )
0 commit comments