From fdf8bade547cd9b5cecf760dcfd1dc5d8bcc7d5a Mon Sep 17 00:00:00 2001 From: Sam Rapaport Date: Thu, 26 Jan 2017 23:36:21 -0800 Subject: [PATCH 1/3] Add Mock Client strategy. --- CHANGELOG.md | 6 +++++- src/Strategy/MockClientStrategy.php | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/Strategy/MockClientStrategy.php diff --git a/CHANGELOG.md b/CHANGELOG.md index ecdde53..204525e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,16 @@ ## Unreleased +### Added + +- MockClientStrategy class. + ## 1.1.1 - 2016-11-27 ### Changed - Made exception messages clearer. `StrategyUnavailableException` is no longer the previous exception to `DiscoveryFailedException`. -- `CommonClassesStrategy` is using `self` instead of `static`. Using `static` makes no sense when `CommonClassesStrategy` is final. +- `CommonClassesStrategy` is using `self` instead of `static`. Using `static` makes no sense when `CommonClassesStrategy` is final. ## 1.1.0 - 2016-10-20 diff --git a/src/Strategy/MockClientStrategy.php b/src/Strategy/MockClientStrategy.php new file mode 100644 index 0000000..63c56e0 --- /dev/null +++ b/src/Strategy/MockClientStrategy.php @@ -0,0 +1,26 @@ + + */ +final class MockClientStrategy implements DiscoveryStrategy +{ + /** + * {@inheritdoc} + */ + public static function getCandidates($type) + { + return ($type === 'Http\Client\HttpClient') + ? ['class' => Mock::class, 'condition' => Mock::class] + : []; + } +} From fc7ac89cf26ec626bfc80e9fe8bd268a79b36655 Mon Sep 17 00:00:00 2001 From: Sam Rapaport Date: Fri, 27 Jan 2017 11:43:09 -0800 Subject: [PATCH 2/3] Remove unneeded annotations. --- src/Strategy/MockClientStrategy.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Strategy/MockClientStrategy.php b/src/Strategy/MockClientStrategy.php index 63c56e0..1b84257 100644 --- a/src/Strategy/MockClientStrategy.php +++ b/src/Strategy/MockClientStrategy.php @@ -7,9 +7,6 @@ /** * Find the Mock client. * - * @internal - * @final - * * @author Sam Rapaport */ final class MockClientStrategy implements DiscoveryStrategy From a4269f4d6948b869a32cf0a27c0a005f517202fd Mon Sep 17 00:00:00 2001 From: Sam Rapaport Date: Fri, 27 Jan 2017 11:44:11 -0800 Subject: [PATCH 3/3] Use ::class constant. --- src/Strategy/MockClientStrategy.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Strategy/MockClientStrategy.php b/src/Strategy/MockClientStrategy.php index 1b84257..f200c1b 100644 --- a/src/Strategy/MockClientStrategy.php +++ b/src/Strategy/MockClientStrategy.php @@ -2,6 +2,7 @@ namespace Http\Discovery\Strategy; +use Http\Client\HttpClient; use Http\Mock\Client as Mock; /** @@ -16,7 +17,7 @@ final class MockClientStrategy implements DiscoveryStrategy */ public static function getCandidates($type) { - return ($type === 'Http\Client\HttpClient') + return ($type === HttpClient::class) ? ['class' => Mock::class, 'condition' => Mock::class] : []; }