function FieldPluginBaseTest::testGetRenderTokensWithArguments

Same name in other branches
  1. 9 core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testGetRenderTokensWithArguments()
  2. 8.9.x core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testGetRenderTokensWithArguments()
  3. 11.x core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testGetRenderTokensWithArguments()

@covers ::getRenderTokens

File

core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php, line 688

Class

FieldPluginBaseTest
@coversDefaultClass \Drupal\views\Plugin\views\field\FieldPluginBase @group views

Namespace

Drupal\Tests\views\Unit\Plugin\field

Code

public function testGetRenderTokensWithArguments() : void {
    $field = $this->setupTestField([
        'id' => 'id',
    ]);
    $field->view->args = [
        'argument value',
    ];
    $field->view->build_info['substitutions']['{{ arguments.name }}'] = 'argument value';
    $argument = $this->getMockBuilder('\\Drupal\\views\\Plugin\\views\\argument\\ArgumentPluginBase')
        ->disableOriginalConstructor()
        ->getMock();
    $field->last_render = 'last rendered output';
    $this->display
        ->expects($this->any())
        ->method('getHandlers')
        ->willReturnMap([
        [
            'argument',
            [
                'name' => $argument,
            ],
        ],
        [
            'field',
            [
                'id' => $field,
            ],
        ],
    ]);
    $expected = [
        '{{ id }}' => 'last rendered output',
        '{{ arguments.name }}' => 'argument value',
        '{{ raw_arguments.name }}' => 'argument value',
    ];
    $this->assertEquals($expected, $field->getRenderTokens([]));
}

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