diff --git a/.travis.yml b/.travis.yml index bbca139..92acfab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ matrix: env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test" PULI_VERSION=1.0.0-beta9 - name: PHPUnit tests php: 7.3 - env: TEST_COMMAND="./vendor/bin/phpunit" DEPENDENCIES="phpunit/phpunit:^7.5 nyholm/psr7:^1.0 kriswallsmith/buzz:^1.0@beta php-http/curl-client:^1.0 php-http/message" + env: TEST_COMMAND="./vendor/bin/phpunit" DEPENDENCIES="phpunit/phpunit:^7.5 nyholm/psr7:^1.0 kriswallsmith/buzz:^1.0 php-http/curl-client:^1.0 php-http/message" - name: PHPUnit test with nothing installed php: 7.3 env: TEST_COMMAND="./vendor/bin/phpunit --group=NothingInstalled" DEPENDENCIES="phpunit/phpunit:^7.5" diff --git a/src/Strategy/CommonClassesStrategy.php b/src/Strategy/CommonClassesStrategy.php index b201eff..f258787 100644 --- a/src/Strategy/CommonClassesStrategy.php +++ b/src/Strategy/CommonClassesStrategy.php @@ -5,7 +5,6 @@ use GuzzleHttp\Psr7\Request as GuzzleRequest; use Http\Client\HttpAsyncClient; use Http\Client\HttpClient; -use Http\Discovery\ClassDiscovery; use Http\Discovery\MessageFactoryDiscovery; use Http\Discovery\Psr17FactoryDiscovery; use Http\Message\MessageFactory; @@ -71,6 +70,10 @@ final class CommonClassesStrategy implements DiscoveryStrategy ['class' => React::class, 'condition' => React::class], ], HttpClient::class => [ + [ + 'class' => [self::class, 'symfonyHttplugInstantiate'], + 'condition' => SymfonyHttplug::class, + ], ['class' => Guzzle6::class, 'condition' => Guzzle6::class], ['class' => Guzzle5::class, 'condition' => Guzzle5::class], ['class' => Curl::class, 'condition' => Curl::class], @@ -84,20 +87,16 @@ final class CommonClassesStrategy implements DiscoveryStrategy 'class' => [self::class, 'buzzInstantiate'], 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], ], - [ - 'class' => [self::class, 'symfonyHttplugInstantiate'], - 'condition' => SymfonyHttplug::class, - ], ], Psr18Client::class => [ - [ - 'class' => [self::class, 'buzzInstantiate'], - 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], - ], [ 'class' => [self::class, 'symfonyPsr18Instantiate'], 'condition' => SymfonyPsr18::class, ], + [ + 'class' => [self::class, 'buzzInstantiate'], + 'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class], + ], ], ]; @@ -133,7 +132,7 @@ public static function buzzInstantiate() public static function symfonyHttplugInstantiate() { - return new SymfonyHttplug(null, ClassDiscovery::findOneByType(MessageFactory::class), ClassDiscovery::findOneByType(StreamFactory::class)); + return new SymfonyHttplug(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory()); } public static function symfonyPsr18Instantiate() diff --git a/tests/HttpClientDiscoveryTest.php b/tests/HttpClientDiscoveryTest.php new file mode 100644 index 0000000..03e22c5 --- /dev/null +++ b/tests/HttpClientDiscoveryTest.php @@ -0,0 +1,16 @@ +assertInstanceOf(HttpClient::class, $client); + } +}