Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
19 changes: 9 additions & 10 deletions src/Strategy/CommonClassesStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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],
Expand All @@ -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],
],
],
];

Expand Down Expand Up @@ -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()
Expand Down
16 changes: 16 additions & 0 deletions tests/HttpClientDiscoveryTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace tests\Http\Discovery;

use Http\Client\HttpClient;
use Http\Discovery\HttpClientDiscovery;
use PHPUnit\Framework\TestCase;

class HttpClientDiscoveryTest extends TestCase
{
public function testFind()
{
$client = HttpClientDiscovery::find();
$this->assertInstanceOf(HttpClient::class, $client);
}
}