class WatchdogCase

  1. 8.0.x tests/watchdogTest.php WatchdogCase
  2. 6.x tests/watchdogTest.php WatchdogCase
  3. 7.x tests/watchdogTest.php WatchdogCase
  4. 4.x tests/watchdogTest.php WatchdogCase
  5. 5.x tests/watchdogTest.php WatchdogCase
  6. master tests/watchdogTest.php WatchdogCase

Hierarchy

Expanded class hierarchy of WatchdogCase

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
Drush_TestCase::create_node_types_php function
Drush_TestCase::drush function Invoke drush in via execute().
Drush_TestCase::drush_major_version function
Drush_TestCase::escapeshellarg public static function
Drush_TestCase::execute function Actually runs the command. Does not trap the error stream output as this need PHP 4.3+.
Drush_TestCase::EXIT_ERROR constant
Drush_TestCase::EXIT_SUCCESS constant
Drush_TestCase::file_aliases function
Drush_TestCase::file_delete_recursive function Same code as drush_delete_dir().
Drush_TestCase::getOutput function Accessor for the last output.
Drush_TestCase::getOutputAsList function Accessor for the last output.
Drush_TestCase::is_windows public static function
Drush_TestCase::setUpBeforeClass public static function Assure that each class starts with an empty sandbox directory and a clean environment - http://drupal.org/node/1103568.
Drush_TestCase::setUpDrupal function
Drush_TestCase::tearDownAfterClass public static function Runs after each test case. Remove sandbox directory.
Drush_TestCase::_escapeshellarg_windows public static function
Drush_TestCase::__construct function
WatchdogCase::testWatchdog function

File

tests/watchdogTest.php, line 7

View source
class WatchdogCase extends Drush_TestCase {

  function testWatchdog() {
    $env = 'dev';
    $sites = $this->setUpDrupal($env, TRUE);
    $root = $this->sites[$env]['root'];
    $options = array(
      'yes' => NULL,
      'root' => $root,
      'uri' => $env,
    );

    // Enable dblog module and verify that the watchdog messages are listed
    $this->drush('pm-enable', array('dblog'), $options);
    $this->drush('watchdog-show', array(), $options);
    $output = $this->getOutput();
    $this->assertContains('dblog module installed.', $output);
    $this->assertContains('dblog module enabled.', $output);

    // Add a new entry with a long message with the letter 'd' and verify that watchdog-show does
    // not print it completely in the listing unless --full is given.
    // As the output is formatted so lines may be splitted, assertContains does not work
    // in this scenario. Therefore, we will count the number of times a character is present.
    $message_chars = 300;
    $char = '*';
    $message = str_repeat($char, $message_chars);
    $this->drush('php-eval', array("watchdog('drush', '" . $message . "')"), $options);
    $this->drush('watchdog-show', array(), $options);
    $output = $this->getOutput();
    $this->assertGreaterThan(substr_count($output, $char), $message_chars);
    $this->drush('watchdog-show', array(), $options + array('full' => NULL));
    $output = $this->getOutput();
    $this->assertGreaterThanOrEqual($message_chars, substr_count($output, $char));

    // Tests message deletion
    $this->drush('watchdog-delete', array('all'), $options);
    $output = $this->getOutput();
    $this->drush('watchdog-show', array(), $options);
    $output = $this->getOutput();
    $this->assertEmpty($output);
  }
}