Commit Graph

930 Commits

Author SHA1 Message Date
Ben Roberts
533b8b8b5f testDetectsAdditionsToUnionType 2017-11-21 12:18:28 -05:00
Ben Roberts
e0a63ec792 testDetectsEnumValueAdditions 2017-11-21 11:53:14 -05:00
Ben Roberts
c4ae03454a testFindDangerousArgChanges 2017-11-21 11:50:11 -05:00
Ben Roberts
3c0ed787ba testDetectsAllBreakingChanges 2017-11-21 11:33:45 -05:00
Ben Roberts
dbccf9b196 testDetectsRemovalOfInterfaces 2017-11-20 14:39:06 -05:00
Ben Roberts
0bb689d340 testArgsThatMoveAwayFromNonNull 2017-11-20 14:12:26 -05:00
Ben Roberts
90f35f26a2 testDoesNotFlagArgsWithSameTypeSignature 2017-11-20 13:57:52 -05:00
Ben Roberts
0fd5abc833 testDetectsAdditionOfFieldArg 2017-11-20 13:48:21 -05:00
Ben Roberts
42d8ac07f9 testDetectsFieldArgumentTypeChange 2017-11-20 12:52:49 -05:00
Ben Roberts
4ea6cbe839 bugfix var ref 2017-11-17 17:35:33 -05:00
Ben Roberts
fc9c5e85aa testDetectsRemovalOfFieldArgument 2017-11-17 17:18:26 -05:00
Ben Roberts
cac011246e testDetectsValuesRemovedFromEnum 2017-11-17 16:24:04 -05:00
Ben Roberts
98ce1ccc69 testDetectsIfTypeWasRemovedFromUnion 2017-11-17 16:08:44 -05:00
Ben Roberts
dde2747918 testDetectsNonNullFieldAddedToInputType 2017-11-17 15:56:53 -05:00
Ben Roberts
cf4cccf4d6 testShouldDetectInputFieldChanges 2017-11-17 15:43:16 -05:00
Ben Roberts
68dbcc9ca3 testShouldDetectFieldChangesAndDeletions test 2017-11-17 14:29:47 -05:00
Ben Roberts
b2b5d6f080 findTypesThatChangedKind test 2017-11-17 13:04:01 -05:00
Ben Roberts
d9ce567cc8 findRemovedTypes test 2017-11-17 11:21:05 -05:00
Ben Roberts
4207adc098 change fns to static 2017-11-17 10:54:18 -05:00
Ben Roberts
6bdb7b7f80 improve docstrings 2017-11-16 17:44:08 -05:00
Ben Roberts
af60f1ee4d finish mechanical conversions 2017-11-16 17:42:38 -05:00
Ben Roberts
a1325eeb3f top level API functions, docstrings 2017-11-16 15:53:20 -05:00
Ben Roberts
55f6d6cf47 interfaces and enums 2017-11-16 15:25:25 -05:00
Ben Roberts
6e95b81aee dangerous changes consts 2017-11-16 14:17:21 -05:00
Ben Roberts
e649ef307a couple more functions 2017-11-16 14:15:39 -05:00
Ben Roberts
3811181f49 some functions converted over 2017-11-16 13:53:01 -05:00
Ben Roberts
7aebf2dbf7 initial porting 2017-11-15 16:12:56 -05:00
Vladimir Razuvaev
eaadae4a5b Merge pull request #187 from gabidj/patch-1
Fixed minor bug in example
2017-10-19 12:02:46 +07:00
Gabi DJ
9b449745ab Update graphql.php 2017-10-18 16:34:14 +03:00
Gabi DJ
7f54b1f7e3 removed redundant code and comments
removed redundant code and comments from PR
2017-10-18 16:32:43 +03:00
Gabi DJ
cf3ca86246 $data Unsupported operand types error fix
the operator `+=` only works like `array_merge ($left, $right) ;` if both variables are arrays
2017-10-17 16:47:26 +03:00
Vladimir Razuvaev
57f5ee3783 Fixed typo in docs, see #185 2017-10-16 23:06:21 +07:00
Vladimir Razuvaev
b17b1c3336 Merge remote-tracking branch 'origin/master' 2017-10-14 00:45:55 +07:00
Vladimir Razuvaev
1487741f37 Preserve description for custom scalars (#181) 2017-10-14 00:45:23 +07:00
Vladimir Razuvaev
0c3a657800 Merge pull request #177 from GabrielDeveloper/develop
Improve test coverage
2017-10-05 19:58:23 +07:00
Gabriel Goncalves
440d38d3bc Creating test to Language\Token 2017-10-04 12:06:25 -03:00
Vladimir Razuvaev
fb0ca607e2 Fixed a mistake in the type language documentation (#176) 2017-09-29 20:07:36 +07:00
Vladimir Razuvaev
cb40e111a3 v0.11.1 2017-09-22 23:16:34 +07:00
Vladimir Razuvaev
f7248dec76 Ability to override internal types (using types option of Schema class) #174 2017-09-22 23:08:51 +07:00
Vladimir Razuvaev
d46ad09108 v0.11.0 2017-09-20 19:50:23 +07:00
Vladimir Razuvaev
c5efd1d65b Additional checks for possible fragment spreads 2017-09-20 19:06:04 +07:00
Vladimir Razuvaev
1e34982bda Additional tests for variable coercion + use printSafeJson vs printSafe for input variables 2017-09-20 18:40:45 +07:00
Vladimir Razuvaev
a1e06b2e61 Account for query offset in files for errors 2017-09-20 18:36:19 +07:00
Vladimir Razuvaev
6050af4e67 Add support for directives applied on IDL & Schema 2017-09-20 17:43:06 +07:00
Vladimir Razuvaev
39f378ece7 Fixed type in tests: Testcase -> TestCase 2017-09-20 17:03:22 +07:00
Vladimir Razuvaev
5f5c8118c0 Fixed parseValue of StringType and IDType: (it should return null on invalid value, not throw) 2017-09-20 16:38:02 +07:00
Vladimir Razuvaev
2023b427ae Fixed failed integer test (only fails on some OSs and PHP versions) 2017-09-20 16:20:51 +07:00
Vladimir Razuvaev
c97438cd7d Merge branch 'master' of https://github.com/webonyx/graphql-php 2017-09-20 16:16:38 +07:00
Vladimir Razuvaev
537dbabe8f Merge pull request #171 from dereklavigne18/query_variable_coercion
Update query variable coercion to meet the rules outlined in the specification.
2017-09-20 15:57:29 +07:00
Derek Lavigne
d22385cc93 Update query variable coercion to meet the rules outlined in the
specification.

The framework currently coerces query variables similar to the way it
treats output values, which means it attempts to coerce the value into
the field's corresponding data type regardless of the received value.
According to items 3f and 3g in section 6.1.2
(http://facebook.github.io/graphql/#sec-Validating-Requests) of
Facebook's GraphQL specification query variables should be coerced
according to their type's input coercion rules laid out in section
3.1.1 (http://facebook.github.io/graphql/#sec-Scalars). If the value
can not be coerced into the correct type according the the input
coercion rules for the type a query error should be thrown. This
ensures that client provided query variables were of the correct format
and will be a valid format and type by the time they are passed into an
implementing resolver.

This patch fixes the above issue by updating the way query variables
are sanitized during the process of parsing the query. It directly
follows the rules for scalar input coercion laid out by the
specification and throws query errors when a value that cannot be
coerced to the correct type is given. Tests for isValidPHPValue will
also be updated to ensure that it is doing the correct type checks on
Values::isValidPHPValue for the given type and value provided. A new
test case will also be added to test Values::getVariableValues and make
sure it is also enforcing the scalar input coercion rules and throwing
errors for invalid values.
2017-09-18 12:14:09 -04:00