Test that resetting static variables works.
Hierarchy
- DrupalTestCase
- DrupalUnitTestCase
- BatchPercentagesUnitTestCase
- BlockTemplateSuggestionsUnitTest
- BootstrapGetFilenameTestCase
- BootstrapMiscTestCase
- BootstrapOverrideServerVariablesTestCase
- BootstrapResettableStaticTestCase
- BootstrapTimerTestCase
- CascadingStylesheetsUnitTest
- CommonSizeTestCase
- CommonXssUnitTest
- DrupalAttributesUnitTest
- DrupalHTMLIdentifierTestCase
- DrupalJSONTest
- DrupalTagsHandlingTestCase
- FilterUnitTestCase
- GraphUnitTest
- ImageDimensionsScaleTestCase
- InfoFileParserTestCase
- LocaleBrowserDetectionTest
- MenuTreeDataTestCase
- ParseInfoFilesTestCase
- SearchExcerptTestCase
- SearchExpressionInsertExtractTestCase
- SimpleTestMissingDependentModuleUnitTest
- TableSortTest
- ThemeHtmlTag
- UnicodeUnitTest
- UpdateCoreUnitTestCase
- ValidUrlTestCase
- DrupalUnitTestCase
Functions & methods
| Name | Description |
|---|---|
| BootstrapResettableStaticTestCase::getInfo | |
| BootstrapResettableStaticTestCase::testDrupalStatic | Test that a variable reference returned by drupal_static() gets reset when drupal_static_reset() is called. |
| DrupalTestCase::assert | Internal helper: stores the assert. |
| DrupalTestCase::assertEqual | Check to see if two values are equal. |
| DrupalTestCase::assertFalse | Check to see if a value is false (an empty string, 0, NULL, or FALSE). |
| DrupalTestCase::assertIdentical | Check to see if two values are identical. |
| DrupalTestCase::assertNotEqual | Check to see if two values are not equal. |
| DrupalTestCase::assertNotIdentical | Check to see if two values are not identical. |
| DrupalTestCase::assertNotNull | Check to see if a value is not NULL. |
| DrupalTestCase::assertNull | Check to see if a value is NULL. |
| DrupalTestCase::assertTrue | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). |
| DrupalTestCase::deleteAssert | Delete an assertion record by message ID. |
| DrupalTestCase::error | Fire an error assertion. |
| DrupalTestCase::errorHandler | Handle errors during test runs. |
| DrupalTestCase::exceptionHandler | Handle exceptions. |
| DrupalTestCase::fail | Fire an assertion that is always negative. |
| DrupalTestCase::generatePermutations | Converts a list of possible parameters into a stack of permutations. |
| DrupalTestCase::getAssertionCall | Cycles through backtrace until the first non-assertion method is found. |
| DrupalTestCase::insertAssert | Store an assertion from outside the testing context. |
| DrupalTestCase::pass | Fire an assertion that is always positive. |
| DrupalTestCase::randomName | Generates a random string containing letters and numbers. |
| DrupalTestCase::randomString | Generates a random string of ASCII characters of codes 32 to 126. |
| DrupalTestCase::run | Run all tests in this class. |
| DrupalTestCase::verbose | Logs verbose message in a text file. |
| DrupalUnitTestCase::setUp | Sets up unit test environment. |
| DrupalUnitTestCase::tearDown | |
| DrupalUnitTestCase::__construct | Constructor for DrupalUnitTestCase. Overrides DrupalTestCase::__construct |
Properties
| Name | Description |
|---|---|
| DrupalTestCase::$assertions | Assertions thrown in that test case. |
| DrupalTestCase::$databasePrefix | The database prefix of this test run. |
| DrupalTestCase::$originalFileDirectory | The original file directory, before it was changed for testing purposes. |
| DrupalTestCase::$results | Current results of this test case. |
| DrupalTestCase::$setup | Flag to indicate whether the test has been set up. |
| DrupalTestCase::$skipClasses | This class is skipped when looking for the source of an assertion. |
| DrupalTestCase::$testId | The test run ID. |
| DrupalTestCase::$timeLimit | Time limit for the test. |
File
- modules/
simpletest/ tests/ bootstrap.test, line 403
View source
class BootstrapResettableStaticTestCase extends DrupalUnitTestCase {
public static function getInfo() {
return array(
'name' => 'Resettable static variables test',
'description' => 'Test that drupal_static() and drupal_static_reset() work.',
'group' => 'Bootstrap',
);
}
/**
* Test that a variable reference returned by drupal_static() gets reset when
* drupal_static_reset() is called.
*/
function testDrupalStatic() {
$name = __CLASS__ . '_' . __METHOD__;
$var = &drupal_static($name, 'foo');
$this->assertEqual($var, 'foo', t('Variable returned by drupal_static() was set to its default.'));
// Call the specific reset and the global reset each twice to ensure that
// multiple resets can be issued without odd side effects.
$var = 'bar';
drupal_static_reset($name);
$this->assertEqual($var, 'foo', t('Variable was reset after first invocation of name-specific reset.'));
$var = 'bar';
drupal_static_reset($name);
$this->assertEqual($var, 'foo', t('Variable was reset after second invocation of name-specific reset.'));
$var = 'bar';
drupal_static_reset();
$this->assertEqual($var, 'foo', t('Variable was reset after first invocation of global reset.'));
$var = 'bar';
drupal_static_reset();
$this->assertEqual($var, 'foo', t('Variable was reset after second invocation of global reset.'));
}
}