/** * Test... * * @covers JLanguage::transliterate * * @return void */ public function testTransliterate() { $string1 = 'Así'; $string2 = 'EÑE'; $this->assertEquals('asi', $this->object->transliterate($string1), 'Line: ' . __LINE__); $this->assertNotEquals('Asi', $this->object->transliterate($string1), 'Line: ' . __LINE__); $this->assertNotEquals('Así', $this->object->transliterate($string1), 'Line: ' . __LINE__); $this->assertEquals('ene', $this->object->transliterate($string2), 'Line: ' . __LINE__); $this->assertNotEquals('ENE', $this->object->transliterate($string2), 'Line: ' . __LINE__); $this->assertNotEquals('EÑE', $this->object->transliterate($string2), 'Line: ' . __LINE__); }
/** * @todo Implement testTransliterate(). */ public function testTransliterate() { // This method processes a string and replaces all accented UTF-8 characters by unaccented ASCII-7 'equivalents' $string1 = 'Así'; $string2 = 'EÑE'; $lang = new JLanguage(''); $this->assertEquals('asi', $lang->transliterate($string1), 'Line: ' . __LINE__); $this->assertNotEquals('Asi', $lang->transliterate($string1), 'Line: ' . __LINE__); $this->assertNotEquals('Así', $lang->transliterate($string1), 'Line: ' . __LINE__); $this->assertEquals('ene', $lang->transliterate($string2), 'Line: ' . __LINE__); $this->assertNotEquals('ENE', $lang->transliterate($string2), 'Line: ' . __LINE__); $this->assertNotEquals('EÑE', $lang->transliterate($string2), 'Line: ' . __LINE__); }
/** * Create a slug * * @copyright * @author RolandD * @todo * @see * @access public * @param string $name the string to turn into a slug * @return string the slug for the product * @since 4.0 */ public function createSlug($name) { $jinput = JFactory::getApplication()->input; $template = $jinput->get('template', null, null); // Transliterate $lang = new JLanguage($template->get('language', 'general', '', null, 0, false)); $str = $lang->transliterate($name); // Trim white spaces at beginning and end of alias and make lowercase $str = trim(JString::strtolower($str)); // Remove any duplicate whitespace, and ensure all characters are alphanumeric $str = preg_replace('/(\\s|[^A-Za-z0-9\\-])+/', '-', $str); // Trim dashes at beginning and end of alias $str = trim($str, '-'); // If we are left with an empty string, make a date with random number if (trim(str_replace('-', '', $str)) == '') { $jdate = JFactory::getDate(); $str = $jdate->format("Y-m-d-h-i-s") . mt_rand(); } return $str; }