3 namespace Drupal\Tests\contextual\Kernel;
5 use Drupal\KernelTests\KernelTestBase;
8 * Tests all edge cases of converting from #contextual_links to ids and vice
13 class ContextualUnitTest extends KernelTestBase {
20 public static $modules = ['contextual'];
23 * Provides testcases for testContextualLinksToId() and
25 public function _contextual_links_id_testcases() {
26 // Test branch conditions:
28 // - one dynamic path argument.
33 'route_parameters' => [
36 'metadata' => ['langcode' => 'en'],
39 'id' => 'node:node=14031991:langcode=en',
42 // Test branch conditions:
44 // - multiple dynamic path arguments.
49 'route_parameters' => [
54 'metadata' => ['langcode' => 'en'],
57 'id' => 'foo:0=bar&key=baz&1=qux:langcode=en',
60 // Test branch conditions:
62 // - one dynamic path argument.
67 'route_parameters' => [
72 'display' => 'page_1',
77 'id' => 'views_ui_edit:view=frontpage:location=page&display=page_1&langcode=en',
80 // Test branch conditions:
82 // - multiple dynamic path arguments.
86 'route_parameters' => [
89 'metadata' => ['langcode' => 'en'],
92 'route_parameters' => [
97 'metadata' => ['langcode' => 'en'],
100 'route_parameters' => ['20011988'],
101 'metadata' => ['langcode' => 'en'],
104 'id' => 'node:node=14031991:langcode=en|foo:0=bar&key=baz&1=qux:langcode=en|edge:0=20011988:langcode=en',
111 * Tests _contextual_links_to_id().
113 public function testContextualLinksToId() {
114 $tests = $this->_contextual_links_id_testcases();
115 foreach ($tests as $test) {
116 $this->assertIdentical(_contextual_links_to_id($test['links']), $test['id']);
121 * Tests _contextual_id_to_links().
123 public function testContextualIdToLinks() {
124 $tests = $this->_contextual_links_id_testcases();
125 foreach ($tests as $test) {
126 $this->assertIdentical(_contextual_id_to_links($test['id']), $test['links']);