cache_example.test

Test case for testing the cache example module.

File

cache_example/cache_example.test

View source
<?php


/**
 * @file
 * Test case for testing the cache example module.
 */

/**
 * Functional tests for the Cache Example module.
 *
 * @ingroup cache_example
 */
class CacheExampleTestCase extends DrupalWebTestCase {
    
    /**
     * {@inheritdoc}
     */
    public static function getInfo() {
        return array(
            'name' => 'Cache example functionality',
            'description' => 'Test the Cache Example module.',
            'group' => 'Examples',
        );
    }
    
    /**
     * Enable module.
     */
    public function setUp() {
        parent::setUp('cache_example');
    }
    
    /**
     * Functional tests for cache_example.
     *
     * Load cache example page and test if displaying uncached version. Reload
     * once again and test if displaying cached version. Find reload link and
     * click on it. Clear cache at the end and test if displaying uncached
     * version again.
     */
    public function testCacheExampleBasic() {
        // We need administrative privileges to clear the cache.
        $admin_user = $this->drupalCreateUser(array(
            'administer site configuration',
        ));
        $this->drupalLogin($admin_user);
        // Get uncached output of cache example page and assert some things to be
        // sure.
        $this->drupalGet('examples/cache_example');
        $this->assertText('Source: actual file search');
        // Reload the page; the number should be cached.
        $this->drupalGet('examples/cache_example');
        $this->assertText('Source: cached');
        // Now push the button to remove the count.
        $this->drupalPost('examples/cache_example', array(), t('Explicitly remove cached file count'));
        $this->assertText('Source: actual file search');
        // Create a cached item. First make sure it doesn't already exist.
        $this->assertText('Cache item does not exist');
        $this->drupalPost('examples/cache_example', array(
            'expiration' => -10,
        ), t('Create a cache item with this expiration'));
        // We should now have an already-expired item.
        $this->assertText('Cache item exists and is set to expire');
        // Now do the expiration operation.
        $this->drupalPost('examples/cache_example', array(
            'cache_clear_type' => 'expire',
        ), t('Clear or expire cache'));
        // And verify that it was removed.
        $this->assertText('Cache item does not exist');
        // Create a cached item. This time we'll make it not expire.
        $this->drupalPost('examples/cache_example', array(
            'expiration' => 'never_remove',
        ), t('Create a cache item with this expiration'));
        // We should now have an never-remove item.
        $this->assertText('Cache item exists and is set to expire at Never expires');
        // Now do the expiration operation.
        $this->drupalPost('examples/cache_example', array(
            'cache_clear_type' => 'expire',
        ), t('Clear or expire cache'));
        // And verify that it was not removed.
        $this->assertText('Cache item exists and is set to expire at Never expires');
        // Now do full removal.
        $this->drupalPost('examples/cache_example', array(
            'cache_clear_type' => 'remove_wildcard',
        ), t('Clear or expire cache'));
        // And verify that it was removed.
        $this->assertText('Cache item does not exist');
    }

}

Classes

Title Deprecated Summary
CacheExampleTestCase Functional tests for the Cache Example module.