Skip to content

Commit 463d995

Browse files
committed
Reverted #116 (now Executor::defaultFieldResolver checks for instanceof Closure vs is_callable again)
1 parent 3beeb06 commit 463d995

File tree

2 files changed

+3
-35
lines changed

2 files changed

+3
-35
lines changed

src/Executor/Executor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -965,7 +965,7 @@ public static function defaultFieldResolver($source, $args, $context, ResolveInf
965965
}
966966
}
967967

968-
return is_callable($property) ? $property($source, $args, $context, $info) : $property;
968+
return $property instanceof \Closure ? $property($source, $args, $context, $info) : $property;
969969
}
970970

971971
/**

tests/Executor/ResolveTest.php

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ public function testDefaultFunctionAccessesProperties()
4444
/**
4545
* @it default function calls methods
4646
*/
47-
public function testDefaultFunctionCallsMethods()
47+
public function testDefaultFunctionCallsClosures()
4848
{
4949
$schema = $this->buildSchema(['type' => Type::string()]);
5050
$_secret = 'secretValue' . uniqid();
5151

5252
$source = [
53-
'test' => function () use ($_secret) {
53+
'test' => function() use ($_secret) {
5454
return $_secret;
5555
}
5656
];
@@ -60,23 +60,6 @@ public function testDefaultFunctionCallsMethods()
6060
);
6161
}
6262

63-
/**
64-
* @it default function calls callables
65-
*/
66-
public function testDefaultFunctionCallsCallables()
67-
{
68-
$schema = $this->buildSchema(['type' => Type::string()]);
69-
$_secret = 'secretValue' . uniqid();
70-
71-
$source = [
72-
'test' => new ResolveTestCallableFixture($_secret)
73-
];
74-
$this->assertEquals(
75-
['data' => ['test' => $_secret]],
76-
GraphQL::execute($schema, '{ test }', $source)
77-
);
78-
}
79-
8063
/**
8164
* @it default function passes args and context
8265
*/
@@ -132,18 +115,3 @@ public function testUsesProvidedResolveFunction()
132115
);
133116
}
134117
}
135-
136-
class ResolveTestCallableFixture
137-
{
138-
private $value;
139-
140-
public function __construct($value)
141-
{
142-
$this->value = $value;
143-
}
144-
145-
public function __invoke($root, $args, $context)
146-
{
147-
return $this->value;
148-
}
149-
}

0 commit comments

Comments
 (0)