Tests Tags::explodeTags and Tags::implodeTags().
Expanded class hierarchy of TagsTest
class TagsTest extends UnitTestCase {
protected $validTags = array(
'Drupal' => 'Drupal',
'Drupal with some spaces' => 'Drupal with some spaces',
'"Legendary Drupal mascot of doom: ""Druplicon"""' => 'Legendary Drupal mascot of doom: "Druplicon"',
'"Drupal, although it rhymes with sloopal, is as awesome as a troopal!"' => 'Drupal, although it rhymes with sloopal, is as awesome as a troopal!',
);
public static function getInfo() {
return array(
'name' => 'Autocomplete tags',
'description' => 'Tests explosion and implosion of autocomplete tags.',
'group' => 'Common',
);
}
/**
* Explodes a series of tags.
*/
public function explodeTags() {
$string = implode(', ', array_keys($this->validTags));
$tags = Tags::explode($string);
$this
->assertTags($tags);
}
/**
* Implodes a series of tags.
*/
public function testImplodeTags() {
$tags = array_values($this->validTags);
// Let's explode and implode to our heart's content.
for ($i = 0; $i < 10; $i++) {
$string = Tags::implode($tags);
$tags = Tags::explode($string);
}
$this
->assertTags($tags);
}
/**
* Helper function: asserts that the ending array of tags is what we wanted.
*/
protected function assertTags($tags) {
$original = $this->validTags;
foreach ($tags as $tag) {
$key = array_search($tag, $original);
$this
->assertTrue((bool) $key, $tag, sprintf('Make sure tag %s shows up in the final tags array (originally %s)', $tag, $key));
unset($original[$key]);
}
foreach ($original as $leftover) {
$this
->fail(sprintf('Leftover tag %s was left over.', $leftover));
}
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TagsTest:: |
protected | property | ||
TagsTest:: |
protected | function | Helper function: asserts that the ending array of tags is what we wanted. | |
TagsTest:: |
public | function | Explodes a series of tags. | |
TagsTest:: |
public static | function |
This method exists to support the simpletest UI runner. Overrides UnitTestCase:: |
|
TagsTest:: |
public | function | Implodes a series of tags. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed in array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
public static | function | Generates a random string containing letters and numbers. |