final class StringMatchesFormatDescription extends Constraint (View source)

Methods

mixed
__invoke(mixed $actual)

No description

bool|null
evaluate(mixed $other, string $description = '', bool $returnResult = false)

Evaluates the constraint for parameter $other.

int
count()

Counts the number of constraint elements.

bool
matches(mixed $other)

Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.

never
fail(mixed $other, string $description, ComparisonFailure|null $comparisonFailure = null)

Throws an exception for the given compared value and test description.

string
additionalFailureDescription(mixed $other)

Returns a cleaned up diff.

string
failureDescription(mixed $other)

Returns the description of the failure.

string
toStringInContext(Operator $operator, mixed $role)

Returns a custom string representation of the constraint object when it appears in context of an $operator expression.

string
failureDescriptionInContext(Operator $operator, mixed $role, mixed $other)

Returns the description of the failure when this constraint appears in context of an $operator expression.

reduce()

Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.

string
valueToTypeStringFragment(mixed $value)

No description

__construct(string $formatDescription)

No description

string
toString()

Returns a string representation of the object.

Details

final mixed __invoke(mixed $actual)

No description

Parameters

mixed $actual

Return Value

mixed

bool|null evaluate(mixed $other, string $description = '', bool $returnResult = false)

Evaluates the constraint for parameter $other.

If $returnResult is set to false (the default), an exception is thrown in case of a failure. null is returned otherwise.

If $returnResult is true, the result of the evaluation is returned as a boolean value instead: true in case of success, false in case of a failure.

Parameters

mixed $other
string $description
bool $returnResult

Return Value

bool|null

Exceptions

ExpectationFailedException

int count()

Counts the number of constraint elements.

Return Value

int

protected bool matches(mixed $other)

Evaluates the constraint for parameter $other. Returns true if the constraint is met, false otherwise.

Parameters

mixed $other

Return Value

bool

protected never fail(mixed $other, string $description, ComparisonFailure|null $comparisonFailure = null)

Throws an exception for the given compared value and test description.

Parameters

mixed $other
string $description
ComparisonFailure|null $comparisonFailure

Return Value

never

Exceptions

ExpectationFailedException

protected string additionalFailureDescription(mixed $other)

Returns a cleaned up diff.

The expected string can contain placeholders like %s and %d. By using 'diff' such placeholders compared to the real output will always be different, although we don't want to show them as different. This method removes the expected differences by figuring out if a difference is allowed by the use of a placeholder.

The problem here are %A and %a multiline placeholders since we look at the expected and actual output line by line. If differences allowed by those placeholders stretch over multiple lines they will still end up in the final diff. And since they mess up the line sync between the expected and actual output all following allowed changes will not be detected/removed anymore.

Parameters

mixed $other

Return Value

string

protected string failureDescription(mixed $other)

Returns the description of the failure.

The beginning of failure messages is "Failed asserting that" in most cases. This method should return the second part of that sentence.

To provide additional failure information additionalFailureDescription can be used.

Parameters

mixed $other

Return Value

string

protected string toStringInContext(Operator $operator, mixed $role)

Returns a custom string representation of the constraint object when it appears in context of an $operator expression.

The purpose of this method is to provide meaningful descriptive string in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct strings in this context.

The method shall return empty string, when it does not handle customization by itself.

Parameters

Operator $operator
mixed $role

Return Value

string

protected string failureDescriptionInContext(Operator $operator, mixed $role, mixed $other)

Returns the description of the failure when this constraint appears in context of an $operator expression.

The purpose of this method is to provide meaningful failure description in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct messages in this context.

The method shall return empty string, when it does not handle customization by itself.

Parameters

Operator $operator
mixed $role
mixed $other

Return Value

string

protected Constraint reduce()

Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.

Returns $this for terminal constraints and for operators that start non-reducible sub-expression, or the nearest descendant of $this that starts a non-reducible sub-expression.

A constraint expression may be modelled as a tree with non-terminal nodes (operators) and terminal nodes. For example:

 LogicalOr           (operator, non-terminal)
 + LogicalAnd        (operator, non-terminal)
 | + IsType('int')   (terminal)
 | + GreaterThan(10) (terminal)
 + LogicalNot        (operator, non-terminal)
   + IsType('array') (terminal)

A degenerate sub-expression is a part of the tree, that effectively does not contribute to the evaluation of the expression it appears in. An example of degenerate sub-expression is a BinaryOperator constructed with single operand or nested BinaryOperators, each with single operand. An expression involving a degenerate sub-expression is equivalent to a reduced expression with the degenerate sub-expression removed, for example

 LogicalAnd          (operator)
 + LogicalOr         (degenerate operator)
 | + LogicalAnd      (degenerate operator)
 |   + IsType('int') (terminal)
 + GreaterThan(10)   (terminal)

is equivalent to

 LogicalAnd          (operator)
 + IsType('int')     (terminal)
 + GreaterThan(10)   (terminal)

because the subexpression

 + LogicalOr
   + LogicalAnd
     + -

is degenerate. Calling reduce() on the LogicalOr object above, as well as on LogicalAnd, shall return the IsType('int') instance.

Other specific reductions can be implemented, for example cascade of LogicalNot operators

 + LogicalNot
   + LogicalNot
     +LogicalNot
      + IsTrue

can be reduced to

 LogicalNot
 + IsTrue

Return Value

Constraint

protected string valueToTypeStringFragment(mixed $value)

No description

Parameters

mixed $value

Return Value

string

__construct(string $formatDescription)

No description

Parameters

string $formatDescription

string toString()

Returns a string representation of the object.

Return Value

string