class PhpDocSingleReturnCheckTest extends PhpDocCheckTestCase (View source)

Methods

createMockStorageManager()

Create a stubbed StubDataQueryInterface.

createStorageManagerMock()

Create a StubDataQueryInterface mock, for tests that constrain arguments with with() or assert call counts with expects().

createMockFunction(string $name, array $parameters = [], $returnType = null)

Create a mock PHPFunction with the given id/name.

createMockClass(string $name, array $methods = [])

Create a mock PHPClass with the given id/name.

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).

createMockProperty(string $name, string|null $sinceVersion = null, string|null $removedVersion = null)

Create a mock PHPProperty with the given name and optional version bounds.

createMockMethod(string $name, array $parameters = [], $returnType = null)

Create a mock PHPMethod with the given name.

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.

createType(string $typeName)

Create a StandaloneType with the given type name.

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

makeMethodWithPhpDoc(string $name, string|null $phpDoc = null)

No description

makePhpDocFunction(string $id, string|null $phpDoc = null)

No description

void
setUp()

No description

void
tearDown()

No description

void
testSupportsAllVersions()

No description

void
testEntityNotFoundSucceeds()

No description

void
void
void
testSingleReturnSucceeds()

No description

void
testReturnWordInsideDescriptionIsNotCounted()

A description mentioning "@return" mid-line is prose, not a tag.

static array
nonReturnTagProvider()

Longer tag names that merely start with "return" are different tags; they are rejected (or accepted) by PhpDocTagsCheck, not counted here.

void
testSimilarlyNamedTagIsNotCountedAsReturn(string $tag)

No description

void
void
testIdenticalDuplicateReturnsAreFailure()

Two identical @return tags are still two tags — deduplicating them would hide a duplicate that is just as dead as a conflicting one.

void
testOneReturnPerMethodAcrossManyMethodsSucceeds()

Each location is judged on its own docblock: one @return per method is fine even when several methods each declare one.

void

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.

Return Value

StubDataQueryInterface&Stub

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.

Return Value

StubDataQueryInterface&MockObject

protected PHPFunction createMockFunction(string $name, array $parameters = [], $returnType = null)

Create a mock PHPFunction with the given id/name.

Parameters

string $name
array $parameters
$returnType

Return Value

PHPFunction

protected PHPClass createMockClass(string $name, array $methods = [])

Create a mock PHPClass with the given id/name.

Parameters

string $name
array $methods

Return Value

PHPClass

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).

Parameters

string $name

Class name/ID

string|null $namespace

Class namespace

bool|null $isFinal

Whether class is final

bool|null $isReadonly

Whether class is readonly

array $methods

Array of methods

PHPClass|null $parentClass

Parent class object

array $interfaces
array $properties

Return Value

PHPClass

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.

Parameters

string $name
string|null $sinceVersion
string|null $removedVersion

Return Value

PHPProperty

protected PHPMethod createMockMethod(string $name, array $parameters = [], $returnType = null)

Create a mock PHPMethod with the given name.

Parameters

string $name
array $parameters
$returnType

Return Value

PHPMethod

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).

Parameters

string $name

Parameter name

mixed|null $type

Parameter type (optional)

string|null $sinceVersion

Version when parameter was introduced (optional)

string|null $removedVersion

Version when parameter was removed (optional)

bool $isDeprecated

Whether the parameter is marked deprecated

string|null $deprecatedSinceVersion

PHP version the deprecation starts at; null means "deprecated in every version"

Return Value

PHPParameter

protected StandaloneType createType(string $typeName)

Create a StandaloneType with the given type name.

Parameters

string $typeName

Return Value

StandaloneType

protected object createMockType(string $typeString)

Create a mock type that returns a string representation.

Parameters

string $typeString

Return Value

object

__construct(string $typeName)

No description

Parameters

string $typeName

string __toString()

No description

Return Value

string

string getTypeName()

No description

Return Value

string

protected PHPMethod makeMethodWithPhpDoc(string $name, string|null $phpDoc = null)

No description

Parameters

string $name
string|null $phpDoc

Return Value

PHPMethod

protected PHPFunction makePhpDocFunction(string $id, string|null $phpDoc = null)

No description

Parameters

string $id
string|null $phpDoc

Return Value

PHPFunction

protected StubDataQueryInterface makeStubsWithClass(PHPClass $class)

No description

Parameters

PHPClass $class

Return Value

StubDataQueryInterface

protected StubDataQueryInterface makeStubsWithFunction(PHPFunction $function)

No description

Parameters

PHPFunction $function

Return Value

StubDataQueryInterface

protected void setUp()

No description

Return Value

void

protected void tearDown()

No description

Return Value

void

void testSupportsAllVersions()

No description

Return Value

void

void testEntityNotFoundSucceeds()

No description

Return Value

void

void testEntityWithNoPhpDocSucceeds()

No description

Return Value

void

void testPhpDocWithoutReturnSucceeds()

No description

Return Value

void

void testSingleReturnSucceeds()

No description

Return Value

void

void testSingleReturnWithMultiLineDescriptionSucceeds()

No description

Return Value

void

void testReturnWordInsideDescriptionIsNotCounted()

A description mentioning "@return" mid-line is prose, not a tag.

Return Value

void

static array nonReturnTagProvider()

Longer tag names that merely start with "return" are different tags; they are rejected (or accepted) by PhpDocTagsCheck, not counted here.

Return Value

array

void testSimilarlyNamedTagIsNotCountedAsReturn(string $tag)

No description

Parameters

string $tag

Return Value

void

void testTwoReturnsInMethodPhpDocIsFailure()

No description

Return Value

void

void testThreeReturnsAreAllReported()

No description

Return Value

void

void testIdenticalDuplicateReturnsAreFailure()

Two identical @return tags are still two tags — deduplicating them would hide a duplicate that is just as dead as a conflicting one.

Return Value

void

void testDuplicateReturnInEntityPhpDocIsFailure()

No description

Return Value

void

void testOneReturnPerMethodAcrossManyMethodsSucceeds()

Each location is judged on its own docblock: one @return per method is fine even when several methods each declare one.

Return Value

void

void testEveryOffendingMethodIsReportedSeparately()

No description

Return Value

void

void testFunctionWithSingleReturnSucceeds()

No description

Return Value

void

void testFunctionWithDuplicateReturnIsFailure()

No description

Return Value

void

void testKnownProblemAtEntityLevelSkipsCheck()

No description

Return Value

void