Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / language / tests / src / Kernel / Views / FilterLanguageTest.php
1 <?php
2
3 namespace Drupal\Tests\language\Kernel\Views;
4
5 use Drupal\views\Views;
6
7 /**
8  * Tests the filter language handler.
9  *
10  * @group language
11  * @see \Drupal\language\Plugin\views\filter\Language
12  */
13 class FilterLanguageTest extends LanguageTestBase {
14
15   /**
16    * Views used by this test.
17    *
18    * @var array
19    */
20   public static $testViews = ['test_view'];
21
22   /**
23    * Tests the language filter.
24    */
25   public function testFilter() {
26     $view = Views::getView('test_view');
27     foreach (['en' => 'John', 'xx-lolspeak' => 'George'] as $langcode => $name) {
28       $view->setDisplay();
29       $view->displayHandlers->get('default')->overrideOption('filters', [
30         'langcode' => [
31           'id' => 'langcode',
32           'table' => 'views_test_data',
33           'field' => 'langcode',
34           'value' => [$langcode],
35         ],
36       ]);
37       $this->executeView($view);
38
39       $expected = [
40         ['name' => $name],
41       ];
42       $this->assertIdenticalResultset($view, $expected, ['views_test_data_name' => 'name']);
43
44       $expected = [
45         '***LANGUAGE_site_default***',
46         '***LANGUAGE_language_interface***',
47         '***LANGUAGE_language_content***',
48         'en',
49         'xx-lolspeak',
50         'und',
51         'zxx'
52       ];
53       $this->assertIdentical(array_keys($view->filter['langcode']->getValueOptions()), $expected);
54
55       $view->destroy();
56     }
57   }
58
59 }