Version 1
[yaffs-website] / web / core / modules / language / tests / src / Unit / Config / LanguageConfigOverrideTest.php
diff --git a/web/core/modules/language/tests/src/Unit/Config/LanguageConfigOverrideTest.php b/web/core/modules/language/tests/src/Unit/Config/LanguageConfigOverrideTest.php
new file mode 100644 (file)
index 0000000..805cef9
--- /dev/null
@@ -0,0 +1,99 @@
+<?php
+
+namespace Drupal\Tests\language\Unit\Config;
+
+use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\language\Config\LanguageConfigOverride;
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @coversDefaultClass \Drupal\language\Config\LanguageConfigOverride
+ * @group Config
+ * @group language
+ */
+class LanguageConfigOverrideTest extends UnitTestCase {
+
+  /**
+   * Language configuration override.
+   *
+   * @var \Drupal\language\Config\LanguageConfigOverride
+   */
+  protected $configTranslation;
+
+  /**
+   * Storage.
+   *
+   * @var \Drupal\Core\Config\StorageInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $storage;
+
+  /**
+   * Event Dispatcher.
+   *
+   * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $eventDispatcher;
+
+  /**
+   * Typed Config.
+   *
+   * @var \Drupal\Core\Config\TypedConfigManagerInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $typedConfig;
+
+  /**
+   * The mocked cache tags invalidator.
+   *
+   * @var \Drupal\Core\Cache\CacheTagsInvalidatorInterface|\PHPUnit_Framework_MockObject_MockObject
+   */
+  protected $cacheTagsInvalidator;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    $this->storage = $this->getMock('Drupal\Core\Config\StorageInterface');
+    $this->eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
+    $this->typedConfig = $this->getMock('\Drupal\Core\Config\TypedConfigManagerInterface');
+    $this->configTranslation = new LanguageConfigOverride('config.test', $this->storage, $this->typedConfig, $this->eventDispatcher);
+    $this->cacheTagsInvalidator = $this->getMock('Drupal\Core\Cache\CacheTagsInvalidatorInterface');
+
+    $container = new ContainerBuilder();
+    $container->set('cache_tags.invalidator', $this->cacheTagsInvalidator);
+    \Drupal::setContainer($container);
+  }
+
+  /**
+   * @covers ::save
+   */
+  public function testSaveNew() {
+    $this->cacheTagsInvalidator->expects($this->once())
+      ->method('invalidateTags')
+      ->with(['config:config.test']);
+    $this->assertTrue($this->configTranslation->isNew());
+    $this->configTranslation->save();
+  }
+
+  /**
+   * @covers ::save
+   */
+  public function testSaveExisting() {
+    $this->cacheTagsInvalidator->expects($this->once())
+      ->method('invalidateTags')
+      ->with(['config:config.test']);
+    $this->configTranslation->initWithData([]);
+    $this->configTranslation->save();
+  }
+
+  /**
+   * @covers ::delete
+   */
+  public function testDelete() {
+    $this->cacheTagsInvalidator->expects($this->once())
+      ->method('invalidateTags')
+      ->with(['config:config.test']);
+    $this->configTranslation->initWithData([]);
+    $this->configTranslation->delete();
+  }
+
+}