Chris@0: drupalCreateContentType([
Chris@0: 'type' => 'page',
Chris@0: 'name' => 'Basic page'
Chris@0: ]);
Chris@0:
Chris@0: // Create a field.
Chris@0: FieldStorageConfig::create([
Chris@0: 'field_name' => $this->fieldName,
Chris@0: 'type' => 'link',
Chris@0: 'entity_type' => 'node',
Chris@0: 'cardinality' => 1,
Chris@0: ])->save();
Chris@0: FieldConfig::create([
Chris@0: 'field_name' => $this->fieldName,
Chris@0: 'entity_type' => 'node',
Chris@0: 'bundle' => 'page',
Chris@0: 'label' => 'link field',
Chris@0: ])->save();
Chris@0:
Chris@0: }
Chris@0:
Chris@0: public function testLinkViewsTokens() {
Chris@0: // Array of URI's to test.
Chris@0: $uris = [
Chris@0: 'http://www.drupal.org' => 'Drupal.org',
Chris@0: ];
Chris@0:
Chris@0: // Add nodes with the URI's and titles.
Chris@0: foreach ($uris as $uri => $title) {
Chris@0: $values = ['type' => 'page'];
Chris@0: $values[$this->fieldName][] = ['uri' => $uri, 'title' => $title, 'options' => ['attributes' => ['class' => 'test-link-class']]];
Chris@0: $this->drupalCreateNode($values);
Chris@0: }
Chris@0:
Chris@0: $this->drupalGet('test_link_tokens');
Chris@0:
Chris@0: foreach ($uris as $uri => $title) {
Chris@0: // Formatted link: {{ field_link }}
Chris@0: $this->assertRaw("Formated: $title");
Chris@0:
Chris@0: // Raw uri: {{ field_link__uri }}
Chris@0: $this->assertRaw("Raw uri: $uri");
Chris@0:
Chris@0: // Raw title: {{ field_link__title }}
Chris@0: $this->assertRaw("Raw title: $title");
Chris@0:
Chris@0: // Raw options: {{ field_link__options }}
Chris@0: // Options is an array and should return empty after token replace.
Chris@0: $this->assertRaw("Raw options: .");
Chris@0: }
Chris@0: }
Chris@0:
Chris@0: }