Issue #2115291 by plopesc, agentrickard: Field types must use as provider its own module instead of Core when are defined in hook_field_info_alter().

8.0.x
Nathaniel Catchpole 2013-11-29 13:13:23 +00:00
parent 2f4b95bae4
commit 958056da9b
4 changed files with 16 additions and 7 deletions

View File

@ -41,6 +41,7 @@ function email_field_info_alter(&$info) {
else {
$info['email']['default_formatter'] = 'email_mailto';
}
$info['email']['provider'] = 'email';
}
/**

View File

@ -90,6 +90,9 @@ class EmailFieldTest extends WebTestBase {
))
->save();
// Rebuild field info to check if email field still working.
field_sync_field_status();
// Display creation form.
$this->drupalGet('entity_test/add');
$this->assertFieldByName("{$field_name}[0][value]", '', 'Widget found.');
@ -106,13 +109,14 @@ class EmailFieldTest extends WebTestBase {
preg_match('|entity_test/manage/(\d+)|', $this->url, $match);
$id = $match[1];
$this->assertText(t('entity_test @id has been created.', array('@id' => $id)));
$this->assertRaw($value);
// Verify that a mailto link is displayed.
$entity = entity_load('entity_test', $id);
$display = entity_get_display($entity->entityType(), $entity->bundle(), 'full');
$entity->content = field_attach_view($entity, $display);
$this->drupalSetContent(drupal_render($entity->content));
$this->assertLinkByHref('mailto:test@example.com');
if ($this->assertRaw($value)) {
// Verify that a mailto link is displayed.
$entity = entity_load('entity_test', $id);
$display = entity_get_display($entity->entityType(), $entity->bundle(), 'full');
$entity->content = field_attach_view($entity, $display);
$this->drupalSetContent(drupal_render($entity->content));
$this->assertLinkByHref('mailto:test@example.com');
}
}
}

View File

@ -25,6 +25,7 @@ function entity_reference_field_info_alter(&$info) {
$info['entity_reference']['default_widget'] = 'entity_reference_autocomplete';
$info['entity_reference']['default_formatter'] = 'entity_reference_label';
$info['entity_reference']['list_class'] = '\Drupal\entity_reference\Plugin\Field\FieldType\ConfigurableEntityReferenceFieldItemList';
$info['entity_reference']['provider'] = 'entity_reference';
}
/**

View File

@ -69,6 +69,9 @@ class EntityReferenceFieldDefaultValueTest extends WebTestBase {
));
$this->instance->save();
// Rebuild field info to check if entity_reference field still working.
field_sync_field_status();
// Set created node as default_value.
$instance_edit = array(
'default_value_input[' . $this->field->name . '][0][target_id]' => $referenced_node->getTitle() . ' (' .$referenced_node->id() . ')',