Version 1
[yaffs-website] / web / core / tests / Drupal / Tests / Core / DependencyInjection / YamlFileLoaderTest.php
diff --git a/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php b/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php
new file mode 100644 (file)
index 0000000..1a9dc66
--- /dev/null
@@ -0,0 +1,43 @@
+<?php
+
+namespace Drupal\Tests\Core\DependencyInjection;
+
+use Drupal\Component\FileCache\FileCacheFactory;
+use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\Core\DependencyInjection\YamlFileLoader;
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \Drupal\Core\DependencyInjection\YamlFileLoader
+ * @group DependencyInjection
+ */
+class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    FileCacheFactory::setPrefix('example');
+  }
+
+  public function testParseDefinitionsWithProvider() {
+    $yml = <<<YAML
+services:
+  example_service:
+    class: \Drupal\Core\ExampleClass
+YAML;
+
+    vfsStream::setup('drupal', NULL, [
+      'modules/example/example.yml' => $yml,
+    ]);
+
+    $builder = new ContainerBuilder();
+    $yaml_file_loader = new YamlFileLoader($builder);
+    $yaml_file_loader->load('vfs://drupal/modules/example/example.yml');
+
+    $this->assertEquals(['_provider' => [['provider' => 'example']]], $builder->getDefinition('example_service')->getTags());
+  }
+
+}