From 463d995d9515733cf58a76882b0543d22f999b9d Mon Sep 17 00:00:00 2001 From: Vladimir Razuvaev Date: Sat, 8 Jul 2017 14:56:15 +0700 Subject: [PATCH] Reverted #116 (now Executor::defaultFieldResolver checks for instanceof Closure vs is_callable again) --- src/Executor/Executor.php | 2 +- tests/Executor/ResolveTest.php | 36 ++-------------------------------- 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/src/Executor/Executor.php b/src/Executor/Executor.php index 5942005..a7208a8 100644 --- a/src/Executor/Executor.php +++ b/src/Executor/Executor.php @@ -965,7 +965,7 @@ class Executor } } - return is_callable($property) ? $property($source, $args, $context, $info) : $property; + return $property instanceof \Closure ? $property($source, $args, $context, $info) : $property; } /** diff --git a/tests/Executor/ResolveTest.php b/tests/Executor/ResolveTest.php index 49e23b6..7929e4a 100644 --- a/tests/Executor/ResolveTest.php +++ b/tests/Executor/ResolveTest.php @@ -44,13 +44,13 @@ class ResolveTest extends \PHPUnit_Framework_TestCase /** * @it default function calls methods */ - public function testDefaultFunctionCallsMethods() + public function testDefaultFunctionCallsClosures() { $schema = $this->buildSchema(['type' => Type::string()]); $_secret = 'secretValue' . uniqid(); $source = [ - 'test' => function () use ($_secret) { + 'test' => function() use ($_secret) { return $_secret; } ]; @@ -60,23 +60,6 @@ class ResolveTest extends \PHPUnit_Framework_TestCase ); } - /** - * @it default function calls callables - */ - public function testDefaultFunctionCallsCallables() - { - $schema = $this->buildSchema(['type' => Type::string()]); - $_secret = 'secretValue' . uniqid(); - - $source = [ - 'test' => new ResolveTestCallableFixture($_secret) - ]; - $this->assertEquals( - ['data' => ['test' => $_secret]], - GraphQL::execute($schema, '{ test }', $source) - ); - } - /** * @it default function passes args and context */ @@ -132,18 +115,3 @@ class ResolveTest extends \PHPUnit_Framework_TestCase ); } } - -class ResolveTestCallableFixture -{ - private $value; - - public function __construct($value) - { - $this->value = $value; - } - - public function __invoke($root, $args, $context) - { - return $this->value; - } -}