Checks block edit functionality.
public function testBlockFields() {
$this
->drupalLogin($this->adminUser);
$this->blockType = $this
->createCustomBlockType('link');
// Create a field with settings to validate.
$this->field = array(
'field_name' => drupal_strtolower($this
->randomName()),
'type' => 'link',
'cardinality' => 2,
);
field_create_field($this->field);
$this->instance = array(
'field_name' => $this->field['field_name'],
'entity_type' => 'custom_block',
'bundle' => 'link',
'settings' => array(
'title' => DRUPAL_OPTIONAL,
),
);
field_create_instance($this->instance);
entity_get_form_display('custom_block', 'link', 'default')
->setComponent($this->field['field_name'], array(
'type' => 'link_default',
))
->save();
entity_get_display('custom_block', 'link', 'default')
->setComponent($this->field['field_name'], array(
'type' => 'link',
'label' => 'hidden',
))
->save();
// Create a block.
$this
->drupalGet('block/add/link');
$edit = array(
'info' => $this
->randomName(8),
$this->field['field_name'] . '[und][0][url]' => 'http://example.com',
$this->field['field_name'] . '[und][0][title]' => 'Example.com',
);
$this
->drupalPost(NULL, $edit, t('Save'));
// Place the block.
$instance = array(
'machine_name' => drupal_strtolower($edit['info']),
'settings[label]' => $edit['info'],
'region' => 'sidebar_first',
);
$this
->drupalPost(NULL, $instance, t('Save block'));
// Navigate to home page.
$this
->drupalGet('<front>');
$this
->assertLinkByHref('http://example.com');
$this
->assertText('Example.com');
}