popsu-d7/sites/all/modules/drush/tests/unit.drush.inc
Bachir Soussi Chiadmi 1bc61b12ad first import
2015-04-08 11:40:19 +02:00

76 lines
2.1 KiB
PHP

<?php
// $Id$
/*
* @file
* Commands which are useful for unit tests.
*/
/**
* Implementation of hook_drush_command().
*/
function unit_drush_command() {
$items['unit-eval'] = array(
'description' => 'Works like php-eval. Used for testing $command_specific context.',
'bootstrap' => DRUSH_BOOTSTRAP_MAX,
'callback' => 'drush_core_php_eval', // Note - no invoke hooks.
);
$items['unit-invoke'] = array(
'description' => 'Return an array indicating which invoke hooks got called.',
'bootstrap' => DRUSH_BOOTSTRAP_NONE,
);
return $items;
}
/*
* Dynamically append custom bash code to the generated .bashrc.
*
* @see coreCase::testCoreCLI().
*/
function unit_cli_bashrc($drush_command, $interactive_mode) {
return drush_get_option('unit-extra');
}
// Implement each invoke hook with the same single line of code.
// That line records that the hook was called.
function drush_unit_invoke_init() {unit_invoke_log(__FUNCTION__);}
function drush_unit_invoke_validate() {unit_invoke_log(__FUNCTION__);}
function drush_unit_pre_unit_invoke() {unit_invoke_log(__FUNCTION__);}
function drush_unit_invoke() {unit_invoke_log(__FUNCTION__);}
function drush_unit_pre_unit_invoke_rollback() {unit_invoke_log(__FUNCTION__);}
function drush_unit_post_unit_invoke_rollback() {unit_invoke_log(__FUNCTION__);}
// Record that hook_drush_init() fired.
function unit_drush_init() {
$command = drush_get_command();
if ($command['command'] == 'unit-invoke') {
unit_invoke_log(__FUNCTION__);
}
}
function drush_unit_post_unit_invoke() {
// Record that this hook was called.
unit_invoke_log(__FUNCTION__);
// Make sure we enter into rollback.
drush_set_error('');
}
/*
* The final invoke hook. Emit the call history.
* Cannot use 'exit' as it does not fire in rollback scenario.
*/
function drush_unit_invoke_validate_rollback() {
unit_invoke_log(__FUNCTION__);
print json_encode(unit_invoke_log());
}
function unit_invoke_log($function = NULL) {
static $called = array();
if ($function) {
$called[] = $function;
}
else {
return $called;
}
}