function FilterLanguageTest::testFilter

Same name and namespace in other branches
  1. 9 core/modules/language/tests/src/Kernel/Views/FilterLanguageTest.php \Drupal\Tests\language\Kernel\Views\FilterLanguageTest::testFilter()
  2. 8.9.x core/modules/language/tests/src/Kernel/Views/FilterLanguageTest.php \Drupal\Tests\language\Kernel\Views\FilterLanguageTest::testFilter()
  3. 10 core/modules/language/tests/src/Kernel/Views/FilterLanguageTest.php \Drupal\Tests\language\Kernel\Views\FilterLanguageTest::testFilter()

Tests the language filter.

File

core/modules/language/tests/src/Kernel/Views/FilterLanguageTest.php, line 27

Class

FilterLanguageTest
Tests the filter language handler.

Namespace

Drupal\Tests\language\Kernel\Views

Code

public function testFilter() : void {
    $view = Views::getView('test_view');
    foreach ([
        'en' => 'John',
        'xx-lolspeak' => 'George',
    ] as $langcode => $name) {
        $view->setDisplay();
        $view->displayHandlers
            ->get('default')
            ->overrideOption('filters', [
            'langcode' => [
                'id' => 'langcode',
                'table' => 'views_test_data',
                'field' => 'langcode',
                'value' => [
                    $langcode => $langcode,
                ],
            ],
        ]);
        $this->executeView($view);
        $expected = [
            [
                'name' => $name,
            ],
        ];
        $this->assertIdenticalResultset($view, $expected, [
            'views_test_data_name' => 'name',
        ]);
        $expected = [
            '***LANGUAGE_site_default***',
            '***LANGUAGE_language_interface***',
            'en',
            'xx-lolspeak',
            'und',
            'zxx',
        ];
        $this->assertSame($expected, array_keys($view->filter['langcode']
            ->getValueOptions()));
        $view->destroy();
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.