58 lines
No EOL
1.9 KiB
Text
58 lines
No EOL
1.9 KiB
Text
<?php
|
|
/**
|
|
* Class for testing messaging module.
|
|
*
|
|
* Tests basic API functions
|
|
*/
|
|
|
|
require_once 'i18n_strings.test';
|
|
|
|
class i18n_Taxonomy_Test extends Drupali18nTestCase {
|
|
|
|
function getInfo() {
|
|
return array(
|
|
'name' => 'Taxonomy translation',
|
|
'group' => 'Internationalization',
|
|
'description' => 'Taxonomy translation functions'
|
|
);
|
|
}
|
|
|
|
function setUp() {
|
|
parent::setUp('i18nstrings', 'taxonomy', 'i18ntaxonomy');
|
|
$this->addLanguage('es');
|
|
$this->addLanguage('de');
|
|
}
|
|
|
|
function testTaxonomyTranslationAPI() {
|
|
// Create a vocabulary with some terms
|
|
$number = 4;
|
|
$vocab = $this->drupalCreateVocabulary(array('i18nmode' => I18N_TAXONOMY_LOCALIZE));
|
|
$this->assertEqual(i18ntaxonomy_vocabulary($vocab-vid), I18N_TAXONOMY_LOCALIZE, 'A vocabulary has been created and it is localizable.');
|
|
$terms = $this->drupalCreateTerms($number, array('vid' => $vocab->vid));
|
|
$this->assertEqual(count($terms), $number, "Four translatable terms have been created.");
|
|
// Create and Save Spanish translation for all of them
|
|
$count = 0;
|
|
$lang = 'es';
|
|
foreach ($terms as $term) {
|
|
$translations[$term->tid] = $this->randomName(10);
|
|
// Save Spanish translation
|
|
$translations[$term->tid] = $this->i18nstringsCreateTranslation("taxonomy:term:$term->tid:name", $lang);
|
|
}
|
|
}
|
|
// Create vocabulary with given fields
|
|
function drupalCreateVocabulary($vocab = array()) {
|
|
$vocab += array('name' => $this->randomName(10), 'description' => $this->randomName(20));
|
|
taxonomy_save_vocabulary($vocab);
|
|
return (object)$vocab;
|
|
}
|
|
// Create term with given fields
|
|
function drupalCreateTerms($number = 1, $data = array()) {
|
|
$list = array();
|
|
for ($i = 1; $i <= $number ; $i++ ) {
|
|
$term = $data + array('name' => $this->randomName(10), 'description' => $this->randomName(20));
|
|
taxonomy_save_term($term);
|
|
$list[] = (object)$term;
|
|
}
|
|
return $list;
|
|
}
|
|
} |