ClassStaticMethodsCheckTest
class ClassStaticMethodsCheckTest extends CheckTestCase (View source)
Methods
Create a stubbed StubDataQueryInterface.
Create a StubDataQueryInterface mock, for tests that constrain arguments with with() or assert call counts with expects().
Create a mock PHPFunction with the given id/name.
Create a mock PHPClass with the given id/name.
Create a mock PHPClass with properties (isFinal, isReadonly, namespace, parentClass).
Create a mock PHPProperty with the given name and optional version bounds.
Create a mock PHPMethod with the given name.
Create a mock PHPParameter with the given name and type.
Create a StandaloneType with the given type name.
Create a mock type that returns a string representation.
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
No description
\MyClass.parentClass = \ParentClass; \ParentClass.parentClass = \MyClass → a real cycle.
Details
protected StubDataQueryInterface&Stub
createMockStorageManager()
Create a stubbed StubDataQueryInterface.
A stub rather than a mock: these doubles only supply return values and never verify interactions, so createMock() made PHPUnit emit "No expectations were configured for the mock object" for every one of them — 1777 notices from this helper alone.
The return type names the double explicitly (&Stub) instead of just the interface,
so ->method(...) resolves for static analysis; previously every such call across
~90 test files was reported as an undefined method, burying real warnings.
protected StubDataQueryInterface&MockObject
createStorageManagerMock()
Create a StubDataQueryInterface mock, for tests that constrain arguments with with() or assert call counts with expects().
Those only work on a mock: on a stub, with() is silently ignored (PHPUnit deprecates it and will remove it in 13), so a test using the stub helper would appear to pin the argument while actually accepting anything.
protected PHPFunction
createMockFunction(string $name, array $parameters = [], $returnType = null)
Create a mock PHPFunction with the given id/name.
protected PHPClass
createMockClass(string $name, array $methods = [])
Create a mock PHPClass with the given id/name.
protected PHPClass
createMockClassWithProperties(string $name, string|null $namespace = null, bool|null $isFinal = null, bool|null $isReadonly = null, array $methods = [], PHPClass|null $parentClass = null, array $interfaces = [], array $properties = [])
Create a mock PHPClass with properties (isFinal, isReadonly, namespace, parentClass).
protected PHPProperty
createMockProperty(string $name, string|null $sinceVersion = null, string|null $removedVersion = null)
Create a mock PHPProperty with the given name and optional version bounds.
protected PHPMethod
createMockMethod(string $name, array $parameters = [], $returnType = null)
Create a mock PHPMethod with the given name.
protected PHPParameter
createMockParameter(string $name, mixed|null $type = null, string|null $sinceVersion = null, string|null $removedVersion = null, bool $isDeprecated = false, string|null $deprecatedSinceVersion = null)
Create a mock PHPParameter with the given name and type.
Note: Supports both getDeclaredType() and getType() methods to be compatible with different validators (ParameterNamesCheck uses getName, ParameterTypesCheck uses getType).
protected StandaloneType
createType(string $typeName)
Create a StandaloneType with the given type name.
protected object
createMockType(string $typeString)
Create a mock type that returns a string representation.
__construct(string $typeName)
No description
string
__toString()
No description
string
getTypeName()
No description
protected void
setUp()
No description
protected void
tearDown()
No description
void
testSupportsAllPhpVersions()
No description
void
testClassNotFoundInReflectionIsFailure()
No description
void
testClassNotFoundInStubsIsFailure()
No description
void
testClassWithNoMethodsSucceeds()
No description
void
testBothNonStaticIsSuccess()
No description
void
testBothStaticIsSuccess()
No description
void
testReflectionStaticStubNonStaticIsFailure()
No description
void
testReflectionNonStaticStubStaticIsFailure()
No description
void
testFailureMessageContainsExpectedAndActualModifiers()
No description
void
testMultipleMethodsMixedResultsAreAllReported()
No description
void
testAllMethodsMismatchedReportsAll()
No description
void
testMethodMissingInStubsIsNotReportedAsStaticMismatch()
No description
void
testClassLevelKnownProblemSkipsAllMethods()
No description
void
testMethodLevelKnownProblemSkipsSpecificMismatch()
No description
void
testMethodLevelKnownProblemDoesNotSuppressOtherMismatches()
No description
void
testStubMethodBelowSinceVersionIsExcluded()
No description
void
testStubMethodAfterRemovedVersionIsExcluded()
No description
void
testStubMethodWithinVersionRangeIsIncluded()
No description
void
testPsUnreservePrefixMismatchIsReported()
No description
void
testPsUnreservePrefixMatchIsSuccess()
No description
void
testStaticMethodInheritedFromParentMismatchIsReported()
No description
void
testStaticMethodInheritedFromParentMatchIsSuccess()
No description
void
testChildMethodOverridesParentForStaticCheck()
No description
void
testStaticMethodFromInterfaceMismatchIsReported()
No description
void
testStaticMethodFromInterfaceMatchIsSuccess()
No description
void
testClassMethodWinsOverInterfaceMethodForStaticCheck()
No description
void
testCyclicParentChainTerminatesAndStillCollectsFromTheParent()
\MyClass.parentClass = \ParentClass; \ParentClass.parentClass = \MyClass → a real cycle.
Without the visited-set guard in MethodCollectionService::collectForClass() the while-loop never reaches null and $visited grows until the process dies.
The parent carries the mismatching declaration on purpose: asserting the resulting failure
proves the walk actually entered the parent before breaking. A guard that bailed out one step
too early would terminate just as happily and report nothing, which assertFalse(hasFailures())
cannot tell apart from a correct traversal.