function FieldPluginBaseTest::testRenderAsExternalLinkWithPathAndTokens
Same name and namespace in other branches
- 11.x core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testRenderAsExternalLinkWithPathAndTokens()
- 10 core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testRenderAsExternalLinkWithPathAndTokens()
- 9 core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testRenderAsExternalLinkWithPathAndTokens()
- 8.9.x core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest::testRenderAsExternalLinkWithPathAndTokens()
Tests rendering of a link with a path and options.
@legacy-covers ::renderAsLink
Attributes
#[DataProvider('providerTestRenderAsExternalLinkWithPathAndTokens')]
File
-
core/
modules/ views/ tests/ src/ Unit/ Plugin/ field/ FieldPluginBaseTest.php, line 697
Class
Namespace
Drupal\Tests\views\Unit\Plugin\fieldCode
public function testRenderAsExternalLinkWithPathAndTokens($path, $tokens, $link_html, $context) : void {
$this->setUpMockRenderer();
$alter = [
'make_link' => TRUE,
'path' => $path,
'url' => '',
];
if (isset($context['alter'])) {
$alter += $context['alter'];
}
$this->setUpUrlIntegrationServices();
$this->setupDisplayWithEmptyArgumentsAndFields();
$this->executable->build_info['substitutions'] = $tokens;
$field = $this->setupTestField([
'alter' => $alter,
]);
$field->field_alias = 'key';
$row = new ResultRow([
'key' => 'value',
]);
$build = [
'#type' => 'inline_template',
'#template' => $path,
'#context' => [
'foo' => $context['context_path'],
],
];
$this->renderer
->expects($this->once())
->method('renderInIsolation')
->willReturnCallback(function (array $arg) use ($build, $context) : string {
$tmp = $arg;
unset($tmp['#post_render']);
if ($tmp == $build) {
return $context['context_path'];
}
throw new \InvalidArgumentException('Unexpected argument value for renderInIsolation: ' . var_export($arg, TRUE));
});
$result = $field->advancedRender($row);
$this->assertEquals($link_html, $result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.