X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Flink%2Ftests%2Fsrc%2FFunctional%2FViews%2FLinkViewsTokensTest.php;fp=web%2Fcore%2Fmodules%2Flink%2Ftests%2Fsrc%2FFunctional%2FViews%2FLinkViewsTokensTest.php;h=b1cce75d0e3abf190a64c6a5707f40667e2751e6;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/link/tests/src/Functional/Views/LinkViewsTokensTest.php b/web/core/modules/link/tests/src/Functional/Views/LinkViewsTokensTest.php new file mode 100644 index 000000000..b1cce75d0 --- /dev/null +++ b/web/core/modules/link/tests/src/Functional/Views/LinkViewsTokensTest.php @@ -0,0 +1,98 @@ +drupalCreateContentType([ + 'type' => 'page', + 'name' => 'Basic page', + ]); + + // Create a field. + FieldStorageConfig::create([ + 'field_name' => $this->fieldName, + 'type' => 'link', + 'entity_type' => 'node', + 'cardinality' => 1, + ])->save(); + FieldConfig::create([ + 'field_name' => $this->fieldName, + 'entity_type' => 'node', + 'bundle' => 'page', + 'label' => 'link field', + ])->save(); + + } + + public function testLinkViewsTokens() { + // Array of URI's to test. + $uris = [ + 'http://www.drupal.org' => 'Drupal.org', + ]; + + // Add nodes with the URI's and titles. + foreach ($uris as $uri => $title) { + $values = ['type' => 'page']; + $values[$this->fieldName][] = ['uri' => $uri, 'title' => $title, 'options' => ['attributes' => ['class' => 'test-link-class']]]; + $this->drupalCreateNode($values); + } + + $this->drupalGet('test_link_tokens'); + + foreach ($uris as $uri => $title) { + // Formatted link: {{ field_link }}
+ $this->assertRaw("Formated: $title"); + + // Raw uri: {{ field_link__uri }}
+ $this->assertRaw("Raw uri: $uri"); + + // Raw title: {{ field_link__title }}
+ $this->assertRaw("Raw title: $title"); + + // Raw options: {{ field_link__options }}
+ // Options is an array and should return empty after token replace. + $this->assertRaw("Raw options: ."); + } + } + +}