Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / views / tests / src / Kernel / Handler / FieldUrlTest.php
1 <?php
2
3 namespace Drupal\Tests\views\Kernel\Handler;
4
5 use Drupal\Core\Url;
6 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
7 use Drupal\views\Views;
8
9 /**
10  * Tests the core Drupal\views\Plugin\views\field\Url handler.
11  *
12  * @group views
13  */
14 class FieldUrlTest extends ViewsKernelTestBase {
15
16   public static $modules = ['system'];
17
18   /**
19    * Views used by this test.
20    *
21    * @var array
22    */
23   public static $testViews = ['test_view'];
24
25   public function viewsData() {
26     $data = parent::viewsData();
27     $data['views_test_data']['name']['field']['id'] = 'url';
28     return $data;
29   }
30
31   public function testFieldUrl() {
32     $view = Views::getView('test_view');
33     $view->setDisplay();
34
35     $view->displayHandlers->get('default')->overrideOption('fields', [
36       'name' => [
37         'id' => 'name',
38         'table' => 'views_test_data',
39         'field' => 'name',
40         'relationship' => 'none',
41         'display_as_link' => FALSE,
42       ],
43     ]);
44
45     $this->executeView($view);
46
47     $this->assertEqual('John', $view->field['name']->advancedRender($view->result[0]));
48
49     // Make the url a link.
50     $view->destroy();
51     $view->setDisplay();
52
53     $view->displayHandlers->get('default')->overrideOption('fields', [
54       'name' => [
55         'id' => 'name',
56         'table' => 'views_test_data',
57         'field' => 'name',
58         'relationship' => 'none',
59       ],
60     ]);
61
62     $this->executeView($view);
63
64     $this->assertEqual(\Drupal::l('John', Url::fromUri('base:John'))->getGeneratedLink(), $view->field['name']->advancedRender($view->result[0]));
65   }
66
67 }