Skip to content

Commit 5484677

Browse files
committed
Fixed DI extension
1 parent ce0b5a4 commit 5484677

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/DI/CodeceptionExtension.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Arachne\Codeception\DI;
44

5-
use Nette\Bridges\Framework\NetteExtension;
65
use Nette\DI\CompilerExtension;
76
use Nette\Http\IResponse;
87

@@ -16,18 +15,21 @@ public function beforeCompile()
1615
{
1716
$builder = $this->getContainerBuilder();
1817

19-
if ($builder->hasDefinition('httpResponse')) {
20-
$builder->getDefinition('httpResponse')
21-
->setClass('Arachne\Codeception\Http\Response')
22-
// The HTTP code from previous test sometimes survives in http_response_code() so it's necessary to reset it manually.
23-
->addSetup('setCode', [ IResponse::S200_OK]);
24-
}
25-
26-
if ($builder->hasDefinition('httpRequest')) {
27-
$builder->getDefinition('httpRequest')
18+
$request = $builder->getByType('Nette\Http\IRequest') ?: 'httpRequest';
19+
if ($builder->hasDefinition($request)) {
20+
$builder->getDefinition($request)
2821
// RequestFactory leaves port NULL in CLI mode but the urls created by amOnPage have port 80 which breaks canonicalization.
2922
->addSetup('$url = ?->getUrl(); if (!$url->getPort()) { $url->setPort(80); }', [ '@self' ]);
3023
}
24+
25+
$response = $builder->getByType('Nette\Http\IResponse') ?: 'httpResponse';
26+
if ($builder->hasDefinition($response)) {
27+
$builder->getDefinition($response)
28+
->setClass('Nette\Http\IResponse')
29+
->setFactory('Arachne\Codeception\Http\Response')
30+
// The HTTP code from previous test sometimes survives in http_response_code() so it's necessary to reset it manually.
31+
->addSetup('setCode', [ IResponse::S200_OK ]);
32+
}
3133
}
3234

3335
}

0 commit comments

Comments
 (0)