Version 1
[yaffs-website] / web / core / modules / language / tests / src / Kernel / Views / ArgumentLanguageTest.php
diff --git a/web/core/modules/language/tests/src/Kernel/Views/ArgumentLanguageTest.php b/web/core/modules/language/tests/src/Kernel/Views/ArgumentLanguageTest.php
new file mode 100644 (file)
index 0000000..27c7410
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+
+namespace Drupal\Tests\language\Kernel\Views;
+
+use Drupal\views\Views;
+
+/**
+ * Tests the argument language handler.
+ *
+ * @group language
+ * @see \Drupal\language\Plugin\views\argument\Language.php
+ */
+class ArgumentLanguageTest extends LanguageTestBase {
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = ['test_view'];
+
+  /**
+   * Tests the language argument.
+   */
+  public function testArgument() {
+    $view = Views::getView('test_view');
+    foreach (['en' => 'John', 'xx-lolspeak' => 'George'] as $langcode => $name) {
+      $view->setDisplay();
+      $view->displayHandlers->get('default')->overrideOption('arguments', [
+        'langcode' => [
+          'id' => 'langcode',
+          'table' => 'views_test_data',
+          'field' => 'langcode',
+        ],
+      ]);
+      $this->executeView($view, [$langcode]);
+
+      $expected = [[
+        'name' => $name,
+      ]];
+      $this->assertIdenticalResultset($view, $expected, ['views_test_data_name' => 'name']);
+      $view->destroy();
+    }
+  }
+
+}