You are here

function TokenUnitTestCase::testSystemTokenRecognition in Token 6

Test whether token-replacement works in various contexts.

See also

http://drupal.org/node/733192

File

./token.test, line 197
Tests for the token module.

Class

TokenUnitTestCase

Code

function testSystemTokenRecognition() {
  global $language;

  // Generate prefixes and suffixes for the token context.
  $tests = array(
    array(
      'prefix' => 'this is the ',
      'suffix' => ' site',
    ),
    array(
      'prefix' => 'this is the',
      'suffix' => 'site',
    ),
    array(
      'prefix' => '[',
      'suffix' => ']',
    ),
    array(
      'prefix' => '',
      'suffix' => ']]]',
    ),
    array(
      'prefix' => '[[[',
      'suffix' => '',
    ),
    array(
      'prefix' => ':[:',
      'suffix' => '--]',
    ),
    array(
      'prefix' => '-[-',
      'suffix' => ':]:',
    ),
    array(
      'prefix' => '[:',
      'suffix' => ']',
    ),
    array(
      'prefix' => '[site:',
      'suffix' => ':name]',
    ),
    array(
      'prefix' => '[site:',
      'suffix' => ']',
    ),
  );

  // Check if the token is recognized in each of the contexts.
  foreach ($tests as $test) {
    $input = $test['prefix'] . '[site-name]' . $test['suffix'];
    $expected = $test['prefix'] . 'Drupal' . $test['suffix'];
    $output = token_replace($input);
    $this
      ->assertEqual($output, $expected);
  }
}