function EnableDisableTestCase::testEntityInfoChanges

7.x system.test EnableDisableTestCase::testEntityInfoChanges()

Ensures entity info cache is updated after changes.

File

drupal-7.x/modules/system/system.test, line 277
Tests for system.module.

Class

EnableDisableTestCase
Test module enabling/disabling functionality.

Code

function testEntityInfoChanges() {
  module_enable(array('entity_cache_test'));
  $entity_info = entity_get_info();
  $this->assertTrue(isset($entity_info['entity_cache_test']), 'Test entity type found.');

  // Change the label of the test entity type and make sure changes appear
  // after flushing caches.
  variable_set('entity_cache_test_label', 'New label.');
  drupal_flush_all_caches();
  $info = entity_get_info('entity_cache_test');
  $this->assertEqual($info['label'], 'New label.', 'New label appears in entity info.');

  // Disable the providing module and make sure the entity type is gone.
  module_disable(array('entity_cache_test', 'entity_cache_test_dependency'));
  $entity_info = entity_get_info();
  $this->assertFalse(isset($entity_info['entity_cache_test']), 'Entity type of the providing module is gone.');
}