function TaxonomyVocabularyTestCase::testUninstallReinstall
7.x taxonomy.test | TaxonomyVocabularyTestCase::testUninstallReinstall() |
Test uninstall and reinstall of the taxonomy module.
File
- drupal-7.x/
modules/ taxonomy/ taxonomy.test, line 371 - Tests for taxonomy.module.
Class
- TaxonomyVocabularyTestCase
- Tests for taxonomy vocabulary functions.
Code
function testUninstallReinstall() {
// Fields and field instances attached to taxonomy term bundles should be
// removed when the module is uninstalled.
$this->field_name = drupal_strtolower($this->randomName() . '_field_name');
$this->field = array('field_name' => $this->field_name, 'type' => 'text', 'cardinality' => 4);
$this->field = field_create_field($this->field);
$this->instance = array(
'field_name' => $this->field_name,
'entity_type' => 'taxonomy_term',
'bundle' => $this->vocabulary->machine_name,
'label' => $this->randomName() . '_label',
);
field_create_instance($this->instance);
module_disable(array('taxonomy'));
require_once DRUPAL_ROOT . '/includes/install.inc';
drupal_uninstall_modules(array('taxonomy'));
module_enable(array('taxonomy'));
// Now create a vocabulary with the same name. All field instances
// connected to this vocabulary name should have been removed when the
// module was uninstalled. Creating a new field with the same name and
// an instance of this field on the same bundle name should be successful.
unset($this->vocabulary->vid);
taxonomy_vocabulary_save($this->vocabulary);
unset($this->field['id']);
field_create_field($this->field);
field_create_instance($this->instance);
}