class XAutoloadUnitTestCase in X Autoload 7.2
Hierarchy
- class \DrupalTestCase
- class \DrupalUnitTestCase
- class \XAutoloadUnitTestCase
- class \DrupalUnitTestCase
Expanded class hierarchy of XAutoloadUnitTestCase
File
- ./
xautoload.test, line 4
View source
class XAutoloadUnitTestCase extends DrupalUnitTestCase {
static function getInfo() {
return array(
'name' => 'X Autoload unit test',
'description' => 'Test the xautoload class finder.',
'group' => 'X Autoload',
);
}
function assertPublic($status, $message) {
return $this
->assert($status, $message);
}
function setUp() {
drupal_load('module', 'xautoload');
// _xautoload_register();
parent::setUp();
}
function testNsRegNested() {
$finder = new xautoload_ClassFinder_NamespaceOrPrefix();
$finder
->registerNamespaceDeep('Drupal\\menu_block', 'sites/all/modules/contrib/menu_block/lib');
$finder
->registerPrefixDeep('menu_block', 'sites/all/modules/contrib/menu_block/lib');
$finder_str = print_r($finder, TRUE);
$this
->_findClass($finder, 'Drupal\\menu_block\\Abc_Def', array(
'sites/all/modules/contrib/menu_block/lib/Abc/Def.php',
));
$this
->_findClass($finder, 'menu_block_Abc_Def', array(
'sites/all/modules/contrib/menu_block/lib/Abc/Def.php',
));
$this
->assert(print_r($finder, TRUE) === $finder_str, "Finder configuration may not change during the process.");
// $this->assert(TRUE, '<pre>' . print_r($finder, TRUE) . '</pre>');
}
function testNsReg() {
$finder = new xautoload_ClassFinder_NamespaceOrPrefix();
$finder
->registerNamespaceDeep('Drupal\\dqx_adminmenu', 'sites/all/modules/contrib/dqx_adminmenu/lib');
$finder
->registerNamespaceRoot('Drupal\\dqx_adminmenu', 'sites/all/modules/contrib/dqx_adminmenu/vendor');
$finder
->registerPrefixDeep('dqx_adminmenu', 'sites/all/modules/contrib/dqx_adminmenu/lib');
$finder
->registerPrefixRoot('dqx_adminmenu', 'sites/all/modules/contrib/dqx_adminmenu/vendor');
$finder_str = print_r($finder, TRUE);
$this
->_findClass($finder, 'Drupal\\dqx_adminmenu\\Abc_Def', array(
'sites/all/modules/contrib/dqx_adminmenu/lib/Abc/Def.php',
'sites/all/modules/contrib/dqx_adminmenu/vendor/Drupal/dqx_adminmenu/Abc/Def.php',
));
$this
->_findClass($finder, 'dqx_adminmenu_Abc_Def', array(
'sites/all/modules/contrib/dqx_adminmenu/lib/Abc/Def.php',
// Yes, this is how prefix-root works: The _ in the module name becomes a dir separator.
'sites/all/modules/contrib/dqx_adminmenu/vendor/dqx/adminmenu/Abc/Def.php',
));
$this
->assert(print_r($finder, TRUE) === $finder_str, "Finder configuration may not change during the process.");
// $this->assert(TRUE, '<pre>' . print_r($finder, TRUE) . '</pre>');
}
function testLibPSR0() {
$system = new xautoload_Mock_DrupalExtensionSystem();
$system
->addModule('menu_block', 'sites/all/modules/contrib/menu_block');
$this
->assert($system
->extensionExists('menu_block'), 'menu_block should "exist".');
$this
->assert(!$system
->extensionExists('foo'), 'foo should not "exist".');
$this
->assert($system
->getExtensionPath('menu_block') === 'sites/all/modules/contrib/menu_block', 'menu_block should be located in sites/all/modules/contrib/menu_block');
$plugin = new xautoload_Plugin_DrupalExtensionLibPrefixDeep($system);
$plugin_psr0 = new xautoload_Plugin_DrupalExtensionLibPSR0($system);
$finder = new xautoload_ClassFinder_NamespaceOrPrefix();
$finder
->registerNamespacePlugin('Drupal', $plugin_psr0);
$finder
->registerPrefixPlugin('', $plugin);
// PSR0-style (D8, PHP 5.3)
// We mix in some underscores just to make sure they work as designed.
$this
->_findClass($finder, 'Drupal\\menu_block\\Abc_Def\\G_Hi', array(
'sites/all/modules/contrib/menu_block/lib/Drupal/menu_block/Abc_Def/G/Hi.php',
));
// xautoload-style (D6, D7, PHP 5.2)
// We mix in some lowercase characters, only to make sure they work as designed.
$this
->_findClass($finder, 'menu_block_Abc_Def_g_hi', array(
'sites/all/modules/contrib/menu_block/lib/Abc/Def/g/hi.php',
));
}
protected function _findClass($finder, $class, array $expectedSuggestions) {
try {
if (TRUE) {
for ($iAccept = 0; $iAccept < count($expectedSuggestions); ++$iAccept) {
$api = new xautoload_Mock_InjectedAPI_findFile($this, $class, $expectedSuggestions, $iAccept);
$finder
->findFile($api, $class);
$api
->finish();
}
}
$api = new xautoload_Mock_InjectedAPI_findFile($this, $class, $expectedSuggestions);
$finder
->findFile($api, $class);
$api
->finish();
} catch (Exception $e) {
$this
->assert(FALSE, 'Exception: ' . $e
->getMessage());
return;
}
$this
->assert(TRUE, "Successfully loaded {$class}");
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalTestCase:: |
protected | property | Assertions thrown in that test case. | |
DrupalTestCase:: |
protected | property | The database prefix of this test run. | |
DrupalTestCase:: |
protected | property | The original file directory, before it was changed for testing purposes. | |
DrupalTestCase:: |
public | property | Current results of this test case. | |
DrupalTestCase:: |
protected | property | Flag to indicate whether the test has been set up. | |
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | This class is skipped when looking for the source of an assertion. | |
DrupalTestCase:: |
protected | property | The test run ID. | |
DrupalTestCase:: |
protected | property | Time limit for the test. | |
DrupalTestCase:: |
public | property | Whether to cache the installation part of the setUp() method. | |
DrupalTestCase:: |
public | property | Whether to cache the modules installation part of the setUp() method. | |
DrupalTestCase:: |
protected | property | URL to the verbose output file directory. | |
DrupalTestCase:: |
protected | function | Internal helper: stores the assert. | |
DrupalTestCase:: |
protected | function | Check to see if two values are equal. | |
DrupalTestCase:: |
protected | function | Check to see if a value is false (an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
protected | function | Check to see if two values are identical. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not equal. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not identical. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
public static | function | Delete an assertion record by message ID. | |
DrupalTestCase:: |
protected | function | Fire an error assertion. | 1 |
DrupalTestCase:: |
public | function | Handle errors during test runs. | 1 |
DrupalTestCase:: |
protected | function | Handle exceptions. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always negative. | |
DrupalTestCase:: |
public static | function | Converts a list of possible parameters into a stack of permutations. | |
DrupalTestCase:: |
protected | function | Cycles through backtrace until the first non-assertion method is found. | |
DrupalTestCase:: |
public static | function | Returns the database connection to the site running Simpletest. | |
DrupalTestCase:: |
public static | function | Store an assertion from outside the testing context. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always positive. | |
DrupalTestCase:: |
public static | function | Generates a random string containing letters and numbers. | |
DrupalTestCase:: |
public static | function | Generates a random string of ASCII characters of codes 32 to 126. | |
DrupalTestCase:: |
public | function | Run all tests in this class. | |
DrupalTestCase:: |
protected | function | Logs a verbose message in a text file. | |
DrupalUnitTestCase:: |
protected | function | 1 | |
DrupalUnitTestCase:: |
function |
Constructor for DrupalUnitTestCase. Overrides DrupalTestCase:: |
||
XAutoloadUnitTestCase:: |
function | |||
XAutoloadUnitTestCase:: |
static | function | ||
XAutoloadUnitTestCase:: |
function |
Sets up unit test environment. Overrides DrupalUnitTestCase:: |
||
XAutoloadUnitTestCase:: |
function | |||
XAutoloadUnitTestCase:: |
function | |||
XAutoloadUnitTestCase:: |
function | |||
XAutoloadUnitTestCase:: |
protected | function |