graphql-php/tests/Validator
Daniel Tschinder 6e358eb26c Fix infinite loop on invalid queries in OverlappingFields
`OverlappingFieldsCanBeMerged` would infinite loop when passed something like

```graphql
fragment A on User {
  name
  ...A
}
```

It's not `OverlappingFieldsCanBeMerged`'s responsibility to detect that validation error, but we still would ideally avoid infinite looping.

This detects that case, and pretends that the infinite spread wasn't there for the purposes of this validation step.

Also, by memoizing and checking for self-references this removes duplicate reports.

ref: graphql/graphql-js#1111
2018-02-11 17:58:48 +01:00
..
AbstractQuerySecurityTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
ArgumentsOfCorrectTypeTest.php Fix KnownDirectives validator to support all directives 2018-02-11 13:15:51 +01:00
DefaultValuesOfCorrectTypeTest.php Cleaning up old unused messages 2016-12-06 03:45:52 +07:00
DisableIntrospectionTest.php Adds tests for DisableIntrospection Validation rule 2017-06-17 14:49:07 +02:00
ExecutableDefinitionsTest.php Update to match SDL changes 2018-02-11 13:27:26 +01:00
FieldsOnCorrectTypeTest.php Ability to load types in schema on demand (#69) 2017-03-05 03:26:22 +07:00
FragmentsOnCompositeTypesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
KnownArgumentNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
KnownDirectivesTest.php Update to match SDL changes 2018-02-11 13:27:26 +01:00
KnownFragmentNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
KnownTypeNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
LoneAnonymousOperationTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
NoFragmentCyclesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
NoUndefinedVariablesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
NoUnusedFragmentsTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
NoUnusedVariablesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
OverlappingFieldsCanBeMergedTest.php Fix infinite loop on invalid queries in OverlappingFields 2018-02-11 17:58:48 +01:00
PossibleFragmentSpreadsTest.php Ability to load types in schema on demand (#69) 2017-03-05 03:26:22 +07:00
ProvidedNonNullArgumentsTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
QueryComplexityTest.php Abstract base class for validation rules 2017-08-18 20:56:04 +07:00
QueryDepthTest.php Updated introspection query and related tests for recent changes 2016-10-19 01:35:18 +07:00
QuerySecuritySchema.php Fix KnownDirectives validator to support all directives 2018-02-11 13:15:51 +01:00
ScalarLeafsTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
TestCase.php Update to match SDL changes 2018-02-11 13:27:26 +01:00
UniqueArgumentNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
UniqueDirectivesPerLocationTest.php Added validation rule for unique directives per location 2016-11-19 00:21:56 +07:00
UniqueFragmentNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
UniqueInputFieldNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
UniqueOperationNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
UniqueVariableNamesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
ValidationTest.php Fix KnownDirectives validator to support all directives 2018-02-11 13:15:51 +01:00
VariablesAreInputTypesTest.php Moved all error-related classes to separate namespace; fixed related broken tests 2016-10-21 16:40:56 +07:00
VariablesInAllowedPositionTest.php Cleaning up old unused messages 2016-12-06 03:45:52 +07:00