/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.vertical.engine.handlers;
import junit.framework.TestCase;
import static com.enonic.vertical.engine.handlers.NameGenerator.transcribeName;
public class NameGeneratorTest
extends TestCase
{
public void testCreateLatinUsernameFromDiacritics()
throws Exception
{
assertEquals( "jorundvierskriubakken", transcribeName( "J\u00f8rund Vier Skriubakken" ) ); // ø
}
// for encoding use native2ascii -encoding utf-8 file.txt ,
// where file.txt is saved in utf-8 !
public void testCreateLatinUsernameFromCyrillic()
throws Exception
{
// Василий Щукин
assertEquals( "vasilijschukin", transcribeName( "\u0412\u0430\u0441\u0438\u043b\u0438\u0439 \u0429\u0443\u043a\u0438\u043d" ) );
}
// for encoding use native2ascii -encoding utf-8 file.txt ,
// where file.txt is saved in utf-8 !
public void testCreateLatinUsernameFromGreek()
throws Exception
{
char[] characters = new char[25];
for ( int i = 0; i < characters.length; i++ )
{
characters[i] = (char) ( i + 0x391 ); // small alpha
}
// alpha beta ...
assertEquals( "abgdezethiclmnxoprstyphchpso", transcribeName( new String( characters ) ) );
for ( int i = 0; i < characters.length; i++ )
{
characters[i] = (char) ( i + 0x3B1 ); // big alpha
}
// alpha beta ...
assertEquals( "abgdezethiclmnxoprstyphchpso", transcribeName( new String( characters ) ) );
}
public void testCreateLatinUsernameFromDiacriticsAZ()
throws Exception
{
byte[] characters = new byte[128];
for ( int i = 0; i < 128; i++ )
{
characters[i] = (byte) ( i + 128 );
}
assertEquals( "szszycaaaaaaceeeeiiiidnooooouuuuythssaaaaaaaeceeeeiiiidnoooooouuuuythy",
transcribeName( new String( characters, "cp1252" ) ) );
}
public void testCreateLatinUsernameFromCyrillicAZ()
throws Exception
{
byte[] characters = new byte[128];
for ( int i = 0; i < 128; i++ )
{
characters[i] = (byte) ( i + 128 );
}
assertEquals(
"gjgjljnjkjdjljnjkjdjujujjjgjjocyeyiiigjjoyejjdzdzyiabvgdezhzijklmnoprstufhcchshschyehjujaabvgdezhzijklmnoprstufhcchshschyehjuja",
transcribeName( new String( characters, "cp1251" ) ) );
}
public void testCreateLatinUsernameFromEmptyString()
throws Exception
{
final String user = transcribeName( "" );
assertTrue( user.matches( "user\\d{4}" ) );
}
}