Skip to content

Commit e444002

Browse files
authored
Moved Symfony before Buzz (#141)
* Moved Symfony before Buzz * Moved Symfony and added test * cs
1 parent 73e5506 commit e444002

File tree

3 files changed

+26
-11
lines changed

3 files changed

+26
-11
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ matrix:
3030
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test" PULI_VERSION=1.0.0-beta9
3131
- name: PHPUnit tests
3232
php: 7.3
33-
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"
33+
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"
3434
- name: PHPUnit test with nothing installed
3535
php: 7.3
3636
env: TEST_COMMAND="./vendor/bin/phpunit --group=NothingInstalled" DEPENDENCIES="phpunit/phpunit:^7.5"

src/Strategy/CommonClassesStrategy.php

+9-10
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use GuzzleHttp\Psr7\Request as GuzzleRequest;
66
use Http\Client\HttpAsyncClient;
77
use Http\Client\HttpClient;
8-
use Http\Discovery\ClassDiscovery;
98
use Http\Discovery\MessageFactoryDiscovery;
109
use Http\Discovery\Psr17FactoryDiscovery;
1110
use Http\Message\MessageFactory;
@@ -71,6 +70,10 @@ final class CommonClassesStrategy implements DiscoveryStrategy
7170
['class' => React::class, 'condition' => React::class],
7271
],
7372
HttpClient::class => [
73+
[
74+
'class' => [self::class, 'symfonyHttplugInstantiate'],
75+
'condition' => SymfonyHttplug::class,
76+
],
7477
['class' => Guzzle6::class, 'condition' => Guzzle6::class],
7578
['class' => Guzzle5::class, 'condition' => Guzzle5::class],
7679
['class' => Curl::class, 'condition' => Curl::class],
@@ -84,20 +87,16 @@ final class CommonClassesStrategy implements DiscoveryStrategy
8487
'class' => [self::class, 'buzzInstantiate'],
8588
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
8689
],
87-
[
88-
'class' => [self::class, 'symfonyHttplugInstantiate'],
89-
'condition' => SymfonyHttplug::class,
90-
],
9190
],
9291
Psr18Client::class => [
93-
[
94-
'class' => [self::class, 'buzzInstantiate'],
95-
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
96-
],
9792
[
9893
'class' => [self::class, 'symfonyPsr18Instantiate'],
9994
'condition' => SymfonyPsr18::class,
10095
],
96+
[
97+
'class' => [self::class, 'buzzInstantiate'],
98+
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
99+
],
101100
],
102101
];
103102

@@ -133,7 +132,7 @@ public static function buzzInstantiate()
133132

134133
public static function symfonyHttplugInstantiate()
135134
{
136-
return new SymfonyHttplug(null, ClassDiscovery::findOneByType(MessageFactory::class), ClassDiscovery::findOneByType(StreamFactory::class));
135+
return new SymfonyHttplug(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory());
137136
}
138137

139138
public static function symfonyPsr18Instantiate()

tests/HttpClientDiscoveryTest.php

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace tests\Http\Discovery;
4+
5+
use Http\Client\HttpClient;
6+
use Http\Discovery\HttpClientDiscovery;
7+
use PHPUnit\Framework\TestCase;
8+
9+
class HttpClientDiscoveryTest extends TestCase
10+
{
11+
public function testFind()
12+
{
13+
$client = HttpClientDiscovery::find();
14+
$this->assertInstanceOf(HttpClient::class, $client);
15+
}
16+
}

0 commit comments

Comments
 (0)