You are here

class CollapseTextTestCase in Collapse Text 7.2

@file Tests for the Collapse Text module

Most of the test functions are currently empty; they can be filled as things come up.

Hierarchy

Expanded class hierarchy of CollapseTextTestCase

File

./collapse_text.test, line 10
Tests for the Collapse Text module

View source
class CollapseTextTestCase extends DrupalUnitTestCase {

  /**
   * tests to be added:
   * - test non-ascii titles
   */
  public static function getInfo() {
    return array(
      'name' => t('Collapse Text tests'),
      'description' => t('Tests for the Collapse Text module.'),
      'group' => t('Collapse Text'),
    );
  }

  /**
   * Enable modules and create user with specific permissions.
   */
  function setUp() {
    drupal_load('module', 'collapse_text');
    parent::setUp();
  }

  /**
   * Make sure that the filter doesn't prevent text from being cached.
   */
  function testFilterInfo() {
    $filter_info = collapse_text_filter_info();
    $this
      ->assertTrue($filter_info['collapse_text_filter']['cache'], t('hook_filter_info() should return "cache" => TRUE.'), t('Filter info'));
  }

  /**
   * Tests of the prepare step
   */
  function testPrepareFunction() {

    /* test for changing angle brackets to straight brackets */
    $this
      ->assertEqual($this
      ->prepareWrapper('<collapse>'), '[collapse]', t('&lt;collapse&gt; should become [collapse]'), t('Prepare - angle brackets'));
    $this
      ->assertEqual($this
      ->prepareWrapper('\\<collapse>'), '\\<collapse>', t('Prefixing &lt;collapse&gt; with "\\" should escape it'), t('Prepare - angle brackets'));
    $this
      ->assertEqual($this
      ->prepareWrapper('</collapse>'), '[/collapse]', t('&lt;/collapse&gt; should become [/collapse]'), t('Prepare - angle brackets'));
    $this
      ->assertEqual($this
      ->prepareWrapper('\\</collapse>'), '\\</collapse>', t('Prefixing &lt;/collapse&gt; with "\\" should escape it'), t('Prepare - angle brackets'));
    $this
      ->assertEqual($this
      ->prepareWrapper('<collapse extra stuff>'), '[collapse extra stuff]', t('Extra content in a &lt;collapse&gt; span should be retained'), t('Prepare - angle brackets'));

    /* test collapsed changes */
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse collapsed]'), '[collapse collapsed="collapsed"]', t('[collapse collapsed] should become [collapse collapsed="collapsed"]'), t('Prepare - collapsed'));
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapsed]'), '[collapse collapsed="collapsed"]', t('[collapsed] should expand to [collapse collapsed="collapsed"]'), t('Prepare - collapsed'));

    /* test class= / style= changes */
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse style="foo"]'), '[collapse class="foo"]', t('style= should be converted to class='), t('Prepare - class='));
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse style=foo]'), '[collapse class="foo"]', t('style= simple unquoted support'), t('Prepare - class='));
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse class=foo]'), '[collapse class=foo]', t('class= should not add quotes'), t('Prepare - class='));
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse style=foo bar baz title="stuff"]'), '[collapse class="foo bar baz" title="stuff"]', t('style= should grab up until title='), t('Prepare - class='));

    /* title tests */
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse title=this is a title]'), '[collapse title="this is a title"]', t('title= should add quotes'), t('Prepare - title='));
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse title=this is a title class="stuff"]'), '[collapse title="this is a title" class="stuff"]', t('title= should grab until class='), t('Prepare - title='));

    /* combined tests */
    $this
      ->assertEqual($this
      ->prepareWrapper('[collapse collapsed style=foo bar title=more stuff]'), '[collapse collapsed="collapsed" class="foo bar" title="more stuff"]', t('combined test 1'), t('Prepare - combined'));
  }
  function prepareWrapper($text) {
    $test_filter = new StdClass();
    $test_filter->settings = array(
      'form' => 1,
      'default_title' => COLLAPSE_TEXT_DEFAULT_TITLE,
    );
    return _collapse_text_filter_prepare($text, $test_filter, NULL, NULL, NULL, NULL);
  }

  /**
   * Tests of the process step.
   */
  function testProcessFunction() {
  }
  function processWrapper($text) {
    $test_filter->settings = array(
      'form' => 1,
      'default_title' => COLLAPSE_TEXT_DEFAULT_TITLE,
    );
    return _collapse_text_filter_process($text, $test_filter, NULL, NULL, NULL, NULL);
  }

  /**
   * Tests of _collapse_text_process_recurse_levels
   */
  function testRecurseLevels() {
  }

  /**
   * Tests of _collapse_text_process_recurse_tree
   */
  function testRecurseTree() {
  }

  /**
   * Tests of _collapse_text_process_text_item and _collapse_text_process_child_item
   */
  function testProcessItems() {
  }

  /**
   * Tests of collapse_text_preprocess_page and _collapse_text_preprocess_page_walk_callback
   */
  function testPreprocessPage() {
  }

  /**
   * Tests of the theme functions
   */
  function testTheme() {
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CollapseTextTestCase::getInfo public static function tests to be added:
CollapseTextTestCase::prepareWrapper function
CollapseTextTestCase::processWrapper function
CollapseTextTestCase::setUp function Enable modules and create user with specific permissions. Overrides DrupalUnitTestCase::setUp
CollapseTextTestCase::testFilterInfo function Make sure that the filter doesn't prevent text from being cached.
CollapseTextTestCase::testPrepareFunction function Tests of the prepare step
CollapseTextTestCase::testPreprocessPage function Tests of collapse_text_preprocess_page and _collapse_text_preprocess_page_walk_callback
CollapseTextTestCase::testProcessFunction function Tests of the process step.
CollapseTextTestCase::testProcessItems function Tests of _collapse_text_process_text_item and _collapse_text_process_child_item
CollapseTextTestCase::testRecurseLevels function Tests of _collapse_text_process_recurse_levels
CollapseTextTestCase::testRecurseTree function Tests of _collapse_text_process_recurse_tree
CollapseTextTestCase::testTheme function Tests of the theme functions
DrupalTestCase::$assertions protected property Assertions thrown in that test case.
DrupalTestCase::$databasePrefix protected property The database prefix of this test run.
DrupalTestCase::$originalFileDirectory protected property The original file directory, before it was changed for testing purposes.
DrupalTestCase::$results public property Current results of this test case.
DrupalTestCase::$setup protected property Flag to indicate whether the test has been set up.
DrupalTestCase::$setupDatabasePrefix protected property
DrupalTestCase::$setupEnvironment protected property
DrupalTestCase::$skipClasses protected property This class is skipped when looking for the source of an assertion.
DrupalTestCase::$testId protected property The test run ID.
DrupalTestCase::$timeLimit protected property Time limit for the test.
DrupalTestCase::$useSetupInstallationCache public property Whether to cache the installation part of the setUp() method.
DrupalTestCase::$useSetupModulesCache public property Whether to cache the modules installation part of the setUp() method.
DrupalTestCase::$verboseDirectoryUrl protected property URL to the verbose output file directory.
DrupalTestCase::assert protected function Internal helper: stores the assert.
DrupalTestCase::assertEqual protected function Check to see if two values are equal.
DrupalTestCase::assertFalse protected function Check to see if a value is false (an empty string, 0, NULL, or FALSE).
DrupalTestCase::assertIdentical protected function Check to see if two values are identical.
DrupalTestCase::assertNotEqual protected function Check to see if two values are not equal.
DrupalTestCase::assertNotIdentical protected function Check to see if two values are not identical.
DrupalTestCase::assertNotNull protected function Check to see if a value is not NULL.
DrupalTestCase::assertNull protected function Check to see if a value is NULL.
DrupalTestCase::assertTrue protected function Check to see if a value is not false (not an empty string, 0, NULL, or FALSE).
DrupalTestCase::deleteAssert public static function Delete an assertion record by message ID.
DrupalTestCase::error protected function Fire an error assertion. 1
DrupalTestCase::errorHandler public function Handle errors during test runs. 1
DrupalTestCase::exceptionHandler protected function Handle exceptions.
DrupalTestCase::fail protected function Fire an assertion that is always negative.
DrupalTestCase::generatePermutations public static function Converts a list of possible parameters into a stack of permutations.
DrupalTestCase::getAssertionCall protected function Cycles through backtrace until the first non-assertion method is found.
DrupalTestCase::getDatabaseConnection public static function Returns the database connection to the site running Simpletest.
DrupalTestCase::insertAssert public static function Store an assertion from outside the testing context.
DrupalTestCase::pass protected function Fire an assertion that is always positive.
DrupalTestCase::randomName public static function Generates a random string containing letters and numbers.
DrupalTestCase::randomString public static function Generates a random string of ASCII characters of codes 32 to 126.
DrupalTestCase::run public function Run all tests in this class.
DrupalTestCase::verbose protected function Logs a verbose message in a text file.
DrupalUnitTestCase::tearDown protected function 1
DrupalUnitTestCase::__construct function Constructor for DrupalUnitTestCase. Overrides DrupalTestCase::__construct