logsui/logscntfinder/tsrc/ut_logscntfinder/src/ut_logspredictive12keytranslator.cpp
changeset 21 2f0af9ba7665
parent 17 90fe74753f71
equal deleted inserted replaced
18:acd4e87b24b4 21:2f0af9ba7665
    20 #include <hbinputsettingproxy.h>
    20 #include <hbinputsettingproxy.h>
    21 #include <hbinputkeymapfactory.h>
    21 #include <hbinputkeymapfactory.h>
    22 
    22 
    23 #include <QtTest/QtTest>
    23 #include <QtTest/QtTest>
    24 #include <QSignalSpy>
    24 #include <QSignalSpy>
       
    25 #include "qtcontacts_stubs.h"
    25 
    26 
    26 class LogsPredictive12KeyTranslator_mock : public LogsPredictive12KeyTranslator
    27 class LogsPredictive12KeyTranslator_mock : public LogsPredictive12KeyTranslator
    27 {
    28 {
    28 public:
    29 public:
    29     
    30     
    30     inline LogsPredictive12KeyTranslator_mock() 
    31     inline LogsPredictive12KeyTranslator_mock() 
    31         :LogsPredictive12KeyTranslator( QLocale::English ) 
    32         :LogsPredictive12KeyTranslator( QLocale::English ) 
    32     {  
    33     {  
    33     }
    34     }
    34     
    35     
    35     inline QStringList nameTokens( const QString& /*name*/ ) const
    36     inline QStringList nameTokens( const QString& name ) const
    36             {return QStringList();}
    37         {return QStringList(name);}
    37     inline const QChar translateChar( const QChar /*character*/, bool& /*ok*/ ) const
    38     inline const QString translateChar( const QChar /*character*/, bool& /*ok*/ ) const
    38             {return QChar();}
    39         {return QString();}
    39     inline bool encodes( const QString& /*sniplet*/ )
    40     inline bool encodes( const QString& /*sniplet*/ )
    40         {return true;}
    41         {return true;}
    41     inline int mib() const {return 0;}
    42     inline int mib() const 
       
    43         {return 0;}
       
    44     inline QString& trimPattern( QString& pattern, bool /*tailOnly*/ ) const
       
    45         {return pattern;}
       
    46     inline int hasPatternSeparators( const QString& pattern ) const
       
    47         {return pattern.length();}
       
    48     inline QStringList patternTokens( const QString& pattern ) const
       
    49         {return QStringList( pattern );}
       
    50     
    42     
    51     
    43 
    52 
    44 };
    53 };
    45 
    54 
    46 
    55 
    47 void UT_LogsPredictive12KeyTranslator::initTestCase()
    56 void UT_LogsPredictive12KeyTranslator::initTestCase()
    48 {
    57 {
    49     mOrigLang = HbInputSettingProxy::instance()->globalInputLanguage();
       
    50     
    58     
    51 }
    59 }
    52 
    60 
    53 void UT_LogsPredictive12KeyTranslator::cleanupTestCase()
    61 void UT_LogsPredictive12KeyTranslator::cleanupTestCase()
    54 {
    62 {
    55     HbInputSettingProxy::instance()->setGlobalInputLanguage( mOrigLang );
    63     LOGS_CNTFINDER_SET_PHONE_LANGUAGE( QLocale::English );    
    56     
       
    57 }
    64 }
    58 
    65 
    59 
    66 
    60 void UT_LogsPredictive12KeyTranslator::init()
    67 void UT_LogsPredictive12KeyTranslator::init()
    61 {
    68 {
    64 
    71 
    65 void UT_LogsPredictive12KeyTranslator::cleanup()
    72 void UT_LogsPredictive12KeyTranslator::cleanup()
    66 {
    73 {
    67     delete mTranslator;
    74     delete mTranslator;
    68     mTranslator = 0;
    75     mTranslator = 0;
    69     HbInputSettingProxy::instance()->setGlobalInputLanguage( mOrigLang );
       
    70     
    76     
    71 }
    77 }
    72 
    78 
    73 void UT_LogsPredictive12KeyTranslator::testConstructor()
    79 void UT_LogsPredictive12KeyTranslator::testConstructor()
    74 {
    80 {
    75     QVERIFY( mTranslator );
    81     QVERIFY( mTranslator );
    76     QVERIFY( mTranslator->mKeyMap );
    82     QVERIFY( mTranslator->mKeyMap );
    77 }
    83 }
    78 
    84 
    79 void UT_LogsPredictive12KeyTranslator::testSplitPattern()
       
    80 {
       
    81     QString car;
       
    82     QString cdr;
       
    83     
       
    84     mTranslator->splitPattern( QString( "122" ), car, cdr );
       
    85     QCOMPARE( car, QString("122" ) );
       
    86     QCOMPARE( cdr, QString("" ) );
       
    87     
       
    88     mTranslator->splitPattern( QString( "01220" ), car, cdr );
       
    89     QCOMPARE( car, QString("01220" ) );
       
    90     QCOMPARE( cdr, QString("" ) );
       
    91     
       
    92     mTranslator->splitPattern( QString( "0122020" ), car, cdr );
       
    93     QCOMPARE( car, QString("0122" ) );
       
    94     QCOMPARE( cdr, QString("20" ) );
       
    95     
       
    96     mTranslator->splitPattern( QString( "012200020" ), car, cdr );
       
    97     QCOMPARE( car, QString("0122" ) );
       
    98     QCOMPARE( cdr, QString("20" ) );
       
    99     
       
   100     mTranslator->splitPattern( QString( "0122050020" ), car, cdr );
       
   101     QCOMPARE( car, QString("0122" ) );
       
   102     QCOMPARE( cdr, QString("50020" ) );
       
   103     
       
   104     mTranslator->splitPattern( QString( "00000" ), car, cdr );
       
   105     QCOMPARE( car, QString("00000" ) );
       
   106     QCOMPARE( cdr, QString("" ) );
       
   107     
       
   108     mTranslator->splitPattern( QString( "0" ), car, cdr );
       
   109     QCOMPARE( car, QString("0" ) );
       
   110     QCOMPARE( cdr, QString("" ) );
       
   111 
       
   112     mTranslator->splitPattern( QString( "" ), car, cdr );
       
   113     QCOMPARE( car, QString("" ) );
       
   114     QCOMPARE( cdr, QString("" ) );
       
   115     
       
   116 }
       
   117 
       
   118 void UT_LogsPredictive12KeyTranslator::testTrimPattern()
       
   119 {
       
   120     QString pattern;
       
   121     
       
   122     pattern = "1";
       
   123     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1") );
       
   124     
       
   125     pattern = "122";
       
   126     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") );
       
   127     
       
   128     pattern = "0122";
       
   129     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") );
       
   130     
       
   131     pattern = "0122";
       
   132     QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "0122") );
       
   133     
       
   134     pattern = "1220";
       
   135     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") );
       
   136     
       
   137     pattern = "1220";
       
   138     QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "122") );
       
   139     
       
   140     pattern = "01220";
       
   141     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "122") );
       
   142     
       
   143     pattern = "01220";
       
   144     QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "0122") );
       
   145     
       
   146     pattern = "012020";
       
   147     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1202") );
       
   148     
       
   149     pattern = "012020";
       
   150     QCOMPARE( mTranslator->trimPattern( pattern, true ), QString( "01202") );
       
   151 
       
   152     pattern = "000120200";
       
   153     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "1202") );
       
   154     
       
   155     pattern = "00012000200";
       
   156     QCOMPARE( mTranslator->trimPattern( pattern , false), QString( "120002") );
       
   157     
       
   158     pattern = "0001200024500";
       
   159     QCOMPARE( mTranslator->trimPattern( pattern , false), QString( "12000245") );
       
   160     
       
   161     pattern = "000";
       
   162     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "0") );
       
   163 
       
   164     pattern = "0";
       
   165     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "0") );
       
   166     
       
   167     pattern = "";
       
   168     QCOMPARE( mTranslator->trimPattern( pattern, false ), QString( "") );
       
   169     
       
   170     
       
   171 }
       
   172 
       
   173 void UT_LogsPredictive12KeyTranslator::testPatternTokens()
       
   174 {
       
   175     
       
   176     QCOMPARE( mTranslator->patternTokens( QString("122" ) ).length(), 1 );
       
   177     QCOMPARE( mTranslator->patternTokens( QString("122" ) )[0], QString("122" ) );
       
   178     QCOMPARE( mTranslator->patternTokens( QString("01220" ) ).length(), 1 );
       
   179     QCOMPARE( mTranslator->patternTokens( QString("01220" ) )[0], QString("01220" ) );
       
   180     QCOMPARE( mTranslator->patternTokens( QString("102" ) ).length(), 2 );
       
   181     QCOMPARE( mTranslator->patternTokens( QString("102" ) )[0], QString("1" ) );
       
   182     QCOMPARE( mTranslator->patternTokens( QString("102" ) )[1], QString("2" ) );
       
   183     QCOMPARE( mTranslator->patternTokens( QString("0010200" ) ).length(), 2 );
       
   184     QCOMPARE( mTranslator->patternTokens( QString("0010200" ) )[0], QString("001" ) );
       
   185     QCOMPARE( mTranslator->patternTokens( QString("0010200" ) )[1], QString("200" ) );
       
   186     QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) ).length(), 2 );
       
   187     QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) )[0], QString("001" ) );
       
   188     QCOMPARE( mTranslator->patternTokens( QString("0010200564760635" ) )[1], QString("200564760635" ) );
       
   189     QCOMPARE( mTranslator->patternTokens( QString("0" ) ).length(), 1 );
       
   190     QCOMPARE( mTranslator->patternTokens( QString("0" ) )[0], QString("0" ) );
       
   191     QCOMPARE( mTranslator->patternTokens( QString("000" ) ).length(), 1 );
       
   192     QCOMPARE( mTranslator->patternTokens( QString("000" ) )[0], QString("000" ) );
       
   193     QCOMPARE( mTranslator->patternTokens( QString("001" ) ).length(), 1 );
       
   194     QCOMPARE( mTranslator->patternTokens( QString("001" ) )[0], QString("001" ) );
       
   195     
       
   196 }
       
   197 
       
   198 void UT_LogsPredictive12KeyTranslator::testHasPatternSeparators()
       
   199 {
       
   200     QVERIFY( !mTranslator->hasPatternSeparators( QString("122" ) ) );
       
   201     QVERIFY( mTranslator->hasPatternSeparators( QString("1022" ) ) );
       
   202     QCOMPARE( mTranslator->hasPatternSeparators( QString("0010200" ) ), 5 );
       
   203     QCOMPARE( mTranslator->hasPatternSeparators( QString("0000" ) ), 4 );
       
   204     QCOMPARE( mTranslator->hasPatternSeparators( QString("345345" ) ), 0 );
       
   205     
       
   206 }
       
   207 
    85 
   208 void UT_LogsPredictive12KeyTranslator::testTranslateChar()
    86 void UT_LogsPredictive12KeyTranslator::testTranslateChar()
   209 {
    87 {
   210     //latin
    88     //latin
   211     QCOMPARE( mTranslator->translateChar( QChar('0') ), QChar('0') );
    89     QCOMPARE( mTranslator->translateChar( QChar('0') ), QString('0') );
   212     QCOMPARE( mTranslator->translateChar( QChar(0x4E0F) ), QChar() );
    90     QCOMPARE( mTranslator->translateChar( QChar('%') ), QString('*') );
       
    91     QCOMPARE( mTranslator->translateChar( QChar(0x4E0F) ), QString() );
       
    92     mTranslator->mKeyMap = 0;
       
    93     QCOMPARE( mTranslator->translateChar( QChar('0') ), QString() );
   213     
    94     
   214 }
    95 }
   215 
    96 
   216 
    97