annotate core/modules/contextual/tests/src/Kernel/ContextualUnitTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\contextual\Kernel;
Chris@0 4
Chris@0 5 use Drupal\KernelTests\KernelTestBase;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests all edge cases of converting from #contextual_links to ids and vice
Chris@0 9 * versa.
Chris@0 10 *
Chris@0 11 * @group contextual
Chris@0 12 */
Chris@0 13 class ContextualUnitTest extends KernelTestBase {
Chris@0 14
Chris@0 15 /**
Chris@0 16 * Modules to enable.
Chris@0 17 *
Chris@0 18 * @var array
Chris@0 19 */
Chris@0 20 public static $modules = ['contextual'];
Chris@0 21
Chris@0 22 /**
Chris@0 23 * Provides testcases for testContextualLinksToId() and
Chris@0 24 */
Chris@0 25 public function _contextual_links_id_testcases() {
Chris@0 26 // Test branch conditions:
Chris@0 27 // - one group.
Chris@0 28 // - one dynamic path argument.
Chris@0 29 // - no metadata.
Chris@0 30 $tests[] = [
Chris@0 31 'links' => [
Chris@0 32 'node' => [
Chris@0 33 'route_parameters' => [
Chris@0 34 'node' => '14031991',
Chris@0 35 ],
Chris@0 36 'metadata' => ['langcode' => 'en'],
Chris@0 37 ],
Chris@0 38 ],
Chris@0 39 'id' => 'node:node=14031991:langcode=en',
Chris@0 40 ];
Chris@0 41
Chris@0 42 // Test branch conditions:
Chris@0 43 // - one group.
Chris@0 44 // - multiple dynamic path arguments.
Chris@0 45 // - no metadata.
Chris@0 46 $tests[] = [
Chris@0 47 'links' => [
Chris@0 48 'foo' => [
Chris@0 49 'route_parameters' => [
Chris@0 50 'bar',
Chris@0 51 'key' => 'baz',
Chris@0 52 'qux',
Chris@0 53 ],
Chris@0 54 'metadata' => ['langcode' => 'en'],
Chris@0 55 ],
Chris@0 56 ],
Chris@0 57 'id' => 'foo:0=bar&key=baz&1=qux:langcode=en',
Chris@0 58 ];
Chris@0 59
Chris@0 60 // Test branch conditions:
Chris@0 61 // - one group.
Chris@0 62 // - one dynamic path argument.
Chris@0 63 // - metadata.
Chris@0 64 $tests[] = [
Chris@0 65 'links' => [
Chris@0 66 'views_ui_edit' => [
Chris@0 67 'route_parameters' => [
Chris@17 68 'view' => 'frontpage',
Chris@0 69 ],
Chris@0 70 'metadata' => [
Chris@0 71 'location' => 'page',
Chris@0 72 'display' => 'page_1',
Chris@0 73 'langcode' => 'en',
Chris@0 74 ],
Chris@0 75 ],
Chris@0 76 ],
Chris@0 77 'id' => 'views_ui_edit:view=frontpage:location=page&display=page_1&langcode=en',
Chris@0 78 ];
Chris@0 79
Chris@0 80 // Test branch conditions:
Chris@0 81 // - multiple groups.
Chris@0 82 // - multiple dynamic path arguments.
Chris@0 83 $tests[] = [
Chris@0 84 'links' => [
Chris@0 85 'node' => [
Chris@0 86 'route_parameters' => [
Chris@0 87 'node' => '14031991',
Chris@0 88 ],
Chris@0 89 'metadata' => ['langcode' => 'en'],
Chris@0 90 ],
Chris@0 91 'foo' => [
Chris@0 92 'route_parameters' => [
Chris@0 93 'bar',
Chris@0 94 'key' => 'baz',
Chris@0 95 'qux',
Chris@0 96 ],
Chris@0 97 'metadata' => ['langcode' => 'en'],
Chris@0 98 ],
Chris@0 99 'edge' => [
Chris@0 100 'route_parameters' => ['20011988'],
Chris@0 101 'metadata' => ['langcode' => 'en'],
Chris@0 102 ],
Chris@0 103 ],
Chris@0 104 'id' => 'node:node=14031991:langcode=en|foo:0=bar&key=baz&1=qux:langcode=en|edge:0=20011988:langcode=en',
Chris@0 105 ];
Chris@0 106
Chris@0 107 return $tests;
Chris@0 108 }
Chris@0 109
Chris@0 110 /**
Chris@0 111 * Tests _contextual_links_to_id().
Chris@0 112 */
Chris@0 113 public function testContextualLinksToId() {
Chris@0 114 $tests = $this->_contextual_links_id_testcases();
Chris@0 115 foreach ($tests as $test) {
Chris@0 116 $this->assertIdentical(_contextual_links_to_id($test['links']), $test['id']);
Chris@0 117 }
Chris@0 118 }
Chris@0 119
Chris@0 120 /**
Chris@0 121 * Tests _contextual_id_to_links().
Chris@0 122 */
Chris@0 123 public function testContextualIdToLinks() {
Chris@0 124 $tests = $this->_contextual_links_id_testcases();
Chris@0 125 foreach ($tests as $test) {
Chris@0 126 $this->assertIdentical(_contextual_id_to_links($test['id']), $test['links']);
Chris@0 127 }
Chris@0 128 }
Chris@0 129
Chris@0 130 }