Version 1
[yaffs-website] / web / core / modules / views / tests / src / Kernel / Handler / FieldFileSizeTest.php
1 <?php
2
3 namespace Drupal\Tests\views\Kernel\Handler;
4
5 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
6 use Drupal\views\Views;
7
8 /**
9  * Tests the core Drupal\views\Plugin\views\field\FileSize handler.
10  *
11  * @group views
12  * @see CommonXssUnitTest
13  */
14 class FieldFileSizeTest extends ViewsKernelTestBase {
15
16   /**
17    * Views used by this test.
18    *
19    * @var array
20    */
21   public static $testViews = ['test_view'];
22
23   public function dataSet() {
24     $data = parent::dataSet();
25     $data[0]['age'] = 0;
26     $data[1]['age'] = 10;
27     $data[2]['age'] = 1000;
28     $data[3]['age'] = 10000;
29
30     return $data;
31   }
32
33   public function viewsData() {
34     $data = parent::viewsData();
35     $data['views_test_data']['age']['field']['id'] = 'file_size';
36
37     return $data;
38   }
39
40   public function testFieldFileSize() {
41     $view = Views::getView('test_view');
42     $view->setDisplay();
43
44     $view->displayHandlers->get('default')->overrideOption('fields', [
45       'age' => [
46         'id' => 'age',
47         'table' => 'views_test_data',
48         'field' => 'age',
49       ],
50     ]);
51
52     $this->executeView($view);
53
54     // Test with the formatted option.
55     $this->assertEqual($view->field['age']->advancedRender($view->result[0]), '');
56     $this->assertEqual($view->field['age']->advancedRender($view->result[1]), '10 bytes');
57     $this->assertEqual($view->field['age']->advancedRender($view->result[2]), '1000 bytes');
58     $this->assertEqual($view->field['age']->advancedRender($view->result[3]), '9.77 KB');
59     // Test with the bytes option.
60     $view->field['age']->options['file_size_display'] = 'bytes';
61     $this->assertEqual($view->field['age']->advancedRender($view->result[0]), '');
62     $this->assertEqual($view->field['age']->advancedRender($view->result[1]), '10');
63     $this->assertEqual($view->field['age']->advancedRender($view->result[2]), '1000');
64     $this->assertEqual($view->field['age']->advancedRender($view->result[3]), '10000');
65   }
66
67 }