]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/ImportBundle/Import/ImportCompilerPassTest.php
Jump to Symfony 3.1
[github/wallabag/wallabag.git] / tests / Wallabag / ImportBundle / Import / ImportCompilerPassTest.php
diff --git a/tests/Wallabag/ImportBundle/Import/ImportCompilerPassTest.php b/tests/Wallabag/ImportBundle/Import/ImportCompilerPassTest.php
new file mode 100644 (file)
index 0000000..71a007a
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+
+namespace Tests\Wallabag\ImportBundle\Import;
+
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Wallabag\ImportBundle\Import\ImportCompilerPass;
+
+class ImportCompilerPassTest extends \PHPUnit_Framework_TestCase
+{
+    public function testProcessNoDefinition()
+    {
+        $container = new ContainerBuilder();
+        $res = $this->process($container);
+
+        $this->assertNull($res);
+    }
+
+    public function testProcess()
+    {
+        $container = new ContainerBuilder();
+        $container
+            ->register('wallabag_import.chain')
+            ->setPublic(false)
+        ;
+
+        $container
+            ->register('foo')
+            ->addTag('wallabag_import.import', ['alias' => 'pocket'])
+        ;
+
+        $this->process($container);
+
+        $this->assertTrue($container->hasDefinition('wallabag_import.chain'));
+
+        $definition = $container->getDefinition('wallabag_import.chain');
+        $this->assertTrue($definition->hasMethodCall('addImport'));
+
+        $calls = $definition->getMethodCalls();
+        $this->assertEquals('pocket', $calls[0][1][1]);
+    }
+
+    protected function process(ContainerBuilder $container)
+    {
+        $repeatedPass = new ImportCompilerPass();
+        $repeatedPass->process($container);
+    }
+}