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\field\Boolean handler.
13 class FieldBooleanTest extends ViewsKernelTestBase {
16 * Views used by this test.
20 public static $testViews = ['test_view'];
22 public function dataSet() {
23 // Use default dataset but remove the age from john and paul
24 $data = parent::dataSet();
30 public function viewsData() {
31 $data = parent::viewsData();
32 $data['views_test_data']['age']['field']['id'] = 'boolean';
36 public function testFieldBoolean() {
37 $view = Views::getView('test_view');
40 $view->displayHandlers->get('default')->overrideOption('fields', [
43 'table' => 'views_test_data',
45 'relationship' => 'none',
49 $this->executeView($view);
51 // This is john, which has no age, there are no custom formats defined, yet.
52 $this->assertEqual(t('No'), $view->field['age']->advancedRender($view->result[0]));
53 $this->assertEqual(t('Yes'), $view->field['age']->advancedRender($view->result[1]));
55 // Reverse the output.
56 $view->field['age']->options['not'] = TRUE;
57 $this->assertEqual(t('Yes'), $view->field['age']->advancedRender($view->result[0]));
58 $this->assertEqual(t('No'), $view->field['age']->advancedRender($view->result[1]));
60 unset($view->field['age']->options['not']);
62 // Use another output format.
63 $view->field['age']->options['type'] = 'true-false';
64 $this->assertEqual(t('False'), $view->field['age']->advancedRender($view->result[0]));
65 $this->assertEqual(t('True'), $view->field['age']->advancedRender($view->result[1]));
67 // test awesome unicode.
68 $view->field['age']->options['type'] = 'unicode-yes-no';
69 $this->assertEqual('✖', $view->field['age']->advancedRender($view->result[0]));
70 $this->assertEqual('✔', $view->field['age']->advancedRender($view->result[1]));
72 // Set a custom output format.
73 $view->field['age']->formats['test'] = [t('Test-True'), t('Test-False')];
74 $view->field['age']->options['type'] = 'test';
75 $this->assertEqual(t('Test-False'), $view->field['age']->advancedRender($view->result[0]));
76 $this->assertEqual(t('Test-True'), $view->field['age']->advancedRender($view->result[1]));