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 |