3 namespace Drupal\Tests\views\Kernel\Handler;
5 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
6 use Drupal\views\Views;
9 * Tests the core Drupal\views\Plugin\views\argument\NullArgument handler.
13 class ArgumentNullTest extends ViewsKernelTestBase {
16 * Views used by this test.
20 public static $testViews = ['test_view'];
22 public function viewsData() {
23 $data = parent::viewsData();
24 $data['views_test_data']['id']['argument']['id'] = 'null';
29 public function testAreaText() {
31 $view = Views::getView('test_view');
34 // Add a null argument.
35 $view->displayHandlers->get('default')->overrideOption('arguments', [
43 $this->executeView($view);
45 // Make sure that the argument is not validated yet.
46 unset($view->argument['null']->argument_validated);
47 $this->assertTrue($view->argument['null']->validateArgument(26));
48 // test must_not_be option.
49 unset($view->argument['null']->argument_validated);
50 $view->argument['null']->options['must_not_be'] = TRUE;
51 $this->assertFalse($view->argument['null']->validateArgument(26), 'must_not_be returns FALSE, if there is an argument');
52 unset($view->argument['null']->argument_validated);
53 $this->assertTrue($view->argument['null']->validateArgument(NULL), 'must_not_be returns TRUE, if there is no argument');
59 // Add a argument, which has null as handler.
60 $view->displayHandlers->get('default')->overrideOption('arguments', [
63 'table' => 'views_test_data',
68 $this->executeView($view, [26]);
70 // The argument should be ignored, so every result should return.
71 $this->assertEqual(5, count($view->result));