Kaydet (Commit) dbc371c4 authored tarafından Caolán McNamara's avatar Caolán McNamara

add test for CJK (~X) mnemonics

Change-Id: I1f69c23dcde6d963ad9c3bc1f2d9178fe15eb27c
üst 86988a9e
...@@ -32,9 +32,24 @@ void VclMnemonicTest::testMnemonic() ...@@ -32,9 +32,24 @@ void VclMnemonicTest::testMnemonic()
{ {
MnemonicGenerator aGenerator; MnemonicGenerator aGenerator;
const sal_Unicode TEST[] = { 0x00DF, 'a' }; {
OUString sResult = aGenerator.CreateMnemonic(OUString(TEST, SAL_N_ELEMENTS(TEST))); const sal_Unicode TEST[] = { 0x00DF, 'a' };
CPPUNIT_ASSERT_EQUAL(u'~', sResult[1]); OUString sResult = aGenerator.CreateMnemonic(OUString(TEST, SAL_N_ELEMENTS(TEST)));
CPPUNIT_ASSERT_EQUAL(u'~', sResult[1]);
}
{
const sal_Unicode TEST[] = { 0x4E00, 'b' };
OUString sResult = aGenerator.CreateMnemonic(OUString(TEST, SAL_N_ELEMENTS(TEST)));
CPPUNIT_ASSERT_EQUAL(u'~', sResult[1]);
}
{
const sal_Unicode TEST[] = { 0x4E00 };
OUString sResult = aGenerator.CreateMnemonic(OUString(TEST, SAL_N_ELEMENTS(TEST)));
CPPUNIT_ASSERT_EQUAL(OUString("(~C)"), sResult.copy(sResult.getLength() - 4));
}
} }
CPPUNIT_TEST_SUITE_REGISTRATION(VclMnemonicTest); CPPUNIT_TEST_SUITE_REGISTRATION(VclMnemonicTest);
......
...@@ -253,14 +253,14 @@ OUString MnemonicGenerator::CreateMnemonic( const OUString& _rKey ) ...@@ -253,14 +253,14 @@ OUString MnemonicGenerator::CreateMnemonic( const OUString& _rKey )
// Append Ascii Mnemonic // Append Ascii Mnemonic
for ( c = MNEMONIC_RANGE_2_START; c <= MNEMONIC_RANGE_2_END; c++ ) for ( c = MNEMONIC_RANGE_2_START; c <= MNEMONIC_RANGE_2_END; c++ )
{ {
nMnemonicIndex = ImplGetMnemonicIndex(sal_Unicode(rtl::toAsciiUpperCase(c))); nMnemonicIndex = ImplGetMnemonicIndex(c);
if ( nMnemonicIndex != MNEMONIC_INDEX_NOTFOUND ) if ( nMnemonicIndex != MNEMONIC_INDEX_NOTFOUND )
{ {
if ( maMnemonics[nMnemonicIndex] ) if ( maMnemonics[nMnemonicIndex] )
{ {
maMnemonics[nMnemonicIndex] = 0; maMnemonics[nMnemonicIndex] = 0;
OUString aStr = OUStringBuffer(). OUString aStr = OUStringBuffer().
append('(').append(MNEMONIC_CHAR).append(c). append('(').append(MNEMONIC_CHAR).append(sal_Unicode(rtl::toAsciiUpperCase(c))).
append(')').makeStringAndClear(); append(')').makeStringAndClear();
nIndex = rKey.getLength(); nIndex = rKey.getLength();
if( nIndex >= 2 ) if( nIndex >= 2 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment