Skip to content

Commit c443d4d

Browse files
authored
Add more e2e tests (#170)
Add a few popular projects to scope.
1 parent c7bab44 commit c443d4d

File tree

17 files changed

+778
-3
lines changed

17 files changed

+778
-3
lines changed

Makefile

Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ tc: vendor/bin/phpunit
5858
phpdbg -qrr -d zend.enable_gc=0 $(PHPUNIT) --coverage-html=dist/coverage --coverage-text
5959

6060
e2e: ## Run end-to-end tests
61-
e2e: e2e_004 e2e_005 e2e_011 e2e_013 e2e_014 e2e_015
61+
e2e: e2e_004 e2e_005 e2e_011 e2e_013 e2e_014 e2e_015 e2e_016 e2e_017 e2e_018 e2e_019
6262

6363
e2e_004: ## Run end-to-end tests for the fixture set 004: source code case
6464
e2e_004: bin/php-scoper.phar
@@ -113,6 +113,38 @@ e2e_015: bin/php-scoper.phar fixtures/set015/vendor
113113
php build/set015/bin/greet.phar > build/set015/output
114114
diff fixtures/set015/expected-output build/set015/output
115115

116+
e2e_016: ## Run end-to-end tests for the fixture set 016: Symfony Finder
117+
e2e_016: bin/php-scoper.phar fixtures/set016-symfony-finder/vendor
118+
php -d zend.enable_gc=0 $(PHPSCOPER) add-prefix --working-dir=fixtures/set016-symfony-finder --output-dir=../../build/set016-symfony-finder --force --no-config --no-interaction --stop-on-failure
119+
composer --working-dir=build/set016-symfony-finder dump-autoload
120+
121+
php build/set016-symfony-finder/main.php > build/set016-symfony-finder/output
122+
diff fixtures/set016-symfony-finder/expected-output build/set016-symfony-finder/output
123+
124+
e2e_017: ## Run end-to-end tests for the fixture set 017: Symfony DependencyInjection
125+
e2e_017: bin/php-scoper.phar fixtures/set017-symfony-di/vendor
126+
php -d zend.enable_gc=0 $(PHPSCOPER) add-prefix --working-dir=fixtures/set017-symfony-di --output-dir=../../build/set017-symfony-di --force --no-config --no-interaction --stop-on-failure
127+
composer --working-dir=build/set017-symfony-di dump-autoload
128+
129+
php build/set017-symfony-di/main.php > build/set017-symfony-di/output
130+
diff fixtures/set017-symfony-di/expected-output build/set017-symfony-di/output
131+
132+
e2e_018: ## Run end-to-end tests for the fixture set 018: nikic PHP-Parser
133+
e2e_018: bin/php-scoper.phar fixtures/set018-nikic-parser/vendor
134+
php -d zend.enable_gc=0 $(PHPSCOPER) add-prefix --working-dir=fixtures/set018-nikic-parser --prefix=_Prefixed --output-dir=../../build/set018-nikic-parser --force --no-config --no-interaction --stop-on-failure
135+
composer --working-dir=build/set018-nikic-parser dump-autoload
136+
137+
php build/set018-nikic-parser/main.php > build/set018-nikic-parser/output
138+
diff fixtures/set018-nikic-parser/expected-output build/set018-nikic-parser/output
139+
140+
e2e_019: ## Run end-to-end tests for the fixture set 019: Symfony Console
141+
e2e_019: bin/php-scoper.phar fixtures/set019-symfony-console/vendor
142+
php -d zend.enable_gc=0 $(PHPSCOPER) add-prefix --working-dir=fixtures/set019-symfony-console --prefix=_Prefixed --output-dir=../../build/set019-symfony-console --force --no-config --no-interaction --stop-on-failure
143+
composer --working-dir=build/set019-symfony-console dump-autoload
144+
145+
php build/set019-symfony-console/main.php > build/set019-symfony-console/output
146+
diff fixtures/set019-symfony-console/expected-output build/set019-symfony-console/output
147+
116148
tb: ## Run Blackfire profiling
117149
tb: vendor
118150
rm -rf build
@@ -151,11 +183,23 @@ fixtures/set011/vendor: fixtures/set011/vendor
151183
fixtures/set015/vendor: fixtures/set015/composer.lock
152184
composer --working-dir=fixtures/set015 install
153185

186+
fixtures/set016-symfony-finder/vendor: fixtures/set016-symfony-finder/composer.lock
187+
composer --working-dir=fixtures/set016-symfony-finder install
188+
189+
fixtures/set017-symfony-di/vendor: fixtures/set017-symfony-di/composer.lock
190+
composer --working-dir=fixtures/set017-symfony-di install
191+
192+
fixtures/set018-nikic-parser/vendor: fixtures/set018-nikic-parser/composer.lock
193+
composer --working-dir=fixtures/set018-nikic-parser install
194+
195+
fixtures/set019-symfony-console/vendor: fixtures/set019-symfony-console/composer.lock
196+
composer --working-dir=fixtures/set019-symfony-console install
197+
154198
composer.lock: composer.json
155199
@echo composer.lock is not up to date.
156200

157201
vendor-bin/box/composer.lock: composer.lock
158-
composer install
202+
@echo fixtures/set011/composer.lock is not up to date.
159203

160204
fixtures/set005/composer.lock: fixtures/set005/composer.json
161205
@echo fixtures/set005/composer.lock is not up to date.
@@ -164,7 +208,19 @@ fixtures/set011/composer.lock: fixtures/set011/composer.json
164208
@echo fixtures/set011/composer.lock is not up to date.
165209

166210
fixtures/set015/composer.lock: fixtures/set015/composer.json
167-
@echo fixtures/set005/composer.lock is not up to date.
211+
@echo fixtures/set015/composer.lock is not up to date.
212+
213+
fixtures/set016-symfony-finder/composer.lock: fixtures/set016-symfony-finder/composer.json
214+
@echo fixtures/set016-symfony-finder/composer.lock is not up to date.
215+
216+
fixtures/set017-symfony-di/composer.lock: fixtures/set017-symfony-di/composer.json
217+
@echo fixtures/set017-symfony-di/composer.lock is not up to date.
218+
219+
fixtures/set018-nikic-parser/composer.lock: fixtures/set018-nikic-parser/composer.json
220+
@echo fixtures/set018-nikic-parser/composer.lock is not up to date.
221+
222+
fixtures/set019-symfony-console/composer.lock: fixtures/set019-symfony-console/composer.json
223+
@echo fixtures/set019-symfony-console/composer.lock is not up to date.
168224

169225
bin/php-scoper.phar: bin/php-scoper src vendor vendor-bin/box/vendor scoper.inc.php box.json
170226
$(MAKE) build
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"require": {
3+
"symfony/finder": "^4.0"
4+
}
5+
}

fixtures/set016-symfony-finder/composer.lock

Lines changed: 67 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
composer.json
2+
composer.lock
3+
expected-output
4+
main.php
5+
output
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Symfony\Component\Finder\Finder;
6+
use Symfony\Component\Finder\SplFileInfo;
7+
8+
require_once __DIR__ . '/vendor/autoload.php';
9+
10+
$finder = Finder::create()->files()->in(__DIR__)->depth(0);
11+
12+
foreach ($finder as $fileInfo) {
13+
/** @var SplFileInfo $fileInfo */
14+
echo $fileInfo->getFilename().PHP_EOL;
15+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"require": {
3+
"symfony/dependency-injection": "^4.0"
4+
}
5+
}

fixtures/set017-symfony-di/composer.lock

Lines changed: 138 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Hello world!
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Symfony\Component\DependencyInjection\ContainerBuilder;
6+
use Symfony\Component\DependencyInjection\Reference;
7+
8+
require_once __DIR__ . '/vendor/autoload.php';
9+
10+
interface Salute
11+
{
12+
public function salute(): string;
13+
}
14+
15+
class Foo implements Salute
16+
{
17+
private $bar;
18+
19+
public function __construct(Bar $bar)
20+
{
21+
$this->bar = $bar;
22+
}
23+
24+
public function salute(): string
25+
{
26+
return $this->bar->salute();
27+
}
28+
}
29+
30+
class Bar implements Salute
31+
{
32+
public function salute(): string
33+
{
34+
return "Hello world!";
35+
}
36+
}
37+
38+
$container = new ContainerBuilder();
39+
40+
$container->register(Foo::class, Foo::class)->addArgument(new Reference(Bar::class))->setPublic(true);
41+
$container->register(Bar::class, Bar::class);
42+
43+
$container->compile();
44+
45+
echo $container->get(Foo::class)->salute().PHP_EOL;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"require": {
3+
"nikic/php-parser": "^3.1"
4+
}
5+
}

0 commit comments

Comments
 (0)