mirror of
https://github.com/KnpLabs/KnpMarkdownBundle.git
synced 2024-05-05 23:23:16 +02:00
Marking new service has private, then adding a workaround for the integration test
This commit is contained in:
parent
000c4b11ed
commit
21576fce48
|
@ -21,6 +21,6 @@
|
|||
</service>
|
||||
|
||||
<!-- parsers will be injected with a compiler pass -->
|
||||
<service id="markdown.parser.parser_manager" class="Knp\Bundle\MarkdownBundle\Parser\ParserManager" />
|
||||
<service id="markdown.parser.parser_manager" class="Knp\Bundle\MarkdownBundle\Parser\ParserManager" public="false" />
|
||||
</services>
|
||||
</container>
|
||||
|
|
|
@ -15,8 +15,9 @@ class ParserManagerTest extends \PHPUnit_Framework_TestCase
|
|||
$kernel->boot();
|
||||
$container = $kernel->getContainer();
|
||||
|
||||
$serviceHelper = $container->get('knp.markdown.test.service_helper');
|
||||
/** @var ParserManager $parserManager */
|
||||
$parserManager = $container->get('markdown.parser.parser_manager');
|
||||
$parserManager = $serviceHelper->getParserManager();
|
||||
|
||||
$actual = $parserManager->transform('*hi*');
|
||||
$this->assertEquals("<p><em>hi</em></p>\n", $actual, 'There is a default parser');
|
||||
|
|
23
Tests/fixtures/app/ServiceHelper.php
vendored
Normal file
23
Tests/fixtures/app/ServiceHelper.php
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
namespace Knp\Bundle\MarkdownBundle\Tests\fixtures\app;
|
||||
|
||||
use Knp\Bundle\MarkdownBundle\Parser\ParserManager;
|
||||
|
||||
/**
|
||||
* Class helps access private services from integration tests.
|
||||
*/
|
||||
class ServiceHelper
|
||||
{
|
||||
private $parserManager;
|
||||
|
||||
public function __construct(ParserManager $parserManager)
|
||||
{
|
||||
$this->parserManager = $parserManager;
|
||||
}
|
||||
|
||||
public function getParserManager()
|
||||
{
|
||||
return $this->parserManager;
|
||||
}
|
||||
}
|
6
Tests/fixtures/app/TestKernel.php
vendored
6
Tests/fixtures/app/TestKernel.php
vendored
|
@ -6,7 +6,7 @@ use Knp\Bundle\MarkdownBundle\KnpMarkdownBundle;
|
|||
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
|
||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\HttpKernel\Bundle\BundleInterface;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\HttpKernel\Kernel;
|
||||
|
||||
class TestKernel extends Kernel
|
||||
|
@ -25,6 +25,10 @@ class TestKernel extends Kernel
|
|||
$c->loadFromExtension('framework', array(
|
||||
'secret' => 'MarkdownTesting'
|
||||
));
|
||||
|
||||
// add a service to help access private services for integration tests
|
||||
$c->register('knp.markdown.test.service_helper', 'Knp\Bundle\MarkdownBundle\Tests\fixtures\app\ServiceHelper')
|
||||
->addArgument(new Reference('markdown.parser.parser_manager'));
|
||||
});
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@ use Knp\Bundle\MarkdownBundle\Parser\ParserManager;
|
|||
|
||||
class MarkdownTwigExtension extends \Twig_Extension
|
||||
{
|
||||
protected $parserManager;
|
||||
private $parserManager;
|
||||
|
||||
public function __construct(ParserManager $parserManager)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue