'access content', 'administer content types' => 'administer content types', 'administer fields' => 'administer fields', 'administer nodes' => 'administer nodes', 'administer filters' => 'administer filters', 'access comments' => 'access comments', 'post comments' => 'post comments', 'access administration pages' => 'access administration pages', 'create page content' => 'create page content', ); /** * {@inheritdoc} */ public function setUp(array $modules = array()) { // Most of the tests require the field UI to create & modify fields. $modules[] = 'field_ui'; // This module. $modules[] = 'link'; parent::setUp($modules); $this->web_user = $this->drupalCreateUser($this->permissions); $this->drupalLogin($this->web_user); } /** * Create Link Field. */ protected function createLinkField($node_type = 'page', $settings = array()) { $name = strtolower($this->randomName()); $edit = array( 'fields[_add_new_field][label]' => $name, 'fields[_add_new_field][field_name]' => $name, 'fields[_add_new_field][type]' => 'link_field', 'fields[_add_new_field][widget_type]' => 'link_field', ); $field_name = 'field_' . $name; $this->drupalPost('admin/structure/types/manage/' . $node_type . '/fields', $edit, t('Save')); $this->drupalPost(NULL, array(), t('Save field settings')); $this->drupalPost(NULL, $settings, t('Save settings')); // Is field created? $this->assertRaw(t('Saved %label configuration', array('%label' => $name)), 'Field added'); node_types_rebuild(); menu_rebuild(); return $field_name; } }