Nux

Merge lp:~smspillaz/nux/nux.fix_1112321 into lp:nux

Proposed by Sam Spilsbury
Status: Merged
Approved by: Brandon Schaefer
Approved revision: 758
Merged at revision: 762
Proposed branch: lp:~smspillaz/nux/nux.fix_1112321
Merge into: lp:nux
Prerequisite: lp:~smspillaz/nux/nux.fix_1097281
Diff against target: 1355 lines (+671/-619)
4 files modified
tests/nux_automated_test_framework.cpp (+39/-8)
tests/nux_automated_test_framework.h (+7/-0)
tests/xtest-text-entry-compositionkeys.cpp (+315/-308)
tests/xtest-text-entry-deadkeys.cpp (+310/-303)
To merge this branch: bzr merge lp:~smspillaz/nux/nux.fix_1112321
Reviewer Review Type Date Requested Status
Brandon Schaefer (community) Approve
PS Jenkins bot continuous-integration Pending
Review via email: mp+146098@code.launchpad.net

Commit message

Skip the composition key tests if the server doesn't support it so that
we don't SIGABRT when trying to use that functionality (LP: #1112321)

Description of the change

Skip the composition key tests if the server doesn't support it so that
we don't SIGABRT when trying to use that functionality (LP: #1112321).

All the nux tests now pass

To post a comment you must log in.
Revision history for this message
Michi Henning (michihenning) wrote :

As a general comment, there are hundreds of lines that repeat every five or ten lines, doing the same thing over and over again. It would probably help a lot in terms of the maintainability of the tests if there were a table containing the inputs and outputs. In that case, there would be the table (easy to read, one line per test), and something like ten or twenty lines of code for the single test that runs through the table.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

On Fri, Feb 1, 2013 at 7:41 PM, Michi Henning
<email address hidden> wrote:
> As a general comment, there are hundreds of lines that repeat every five or ten lines, doing the same thing over and over again. It would probably help a lot in terms of the maintainability of the tests if there were a table containing the inputs and outputs. In that case, there would be the table (easy to read, one line per test), and something like ten or twenty lines of code for the single test that runs through the table.

I agree.

I note that the "xtest" set of tests in Nux appear to be mainly
acceptance/integration level tests, which makes the stateful testing
model slightly more acceptable. There's a lot of dependencies between
each of the tests, and they don't use an xUnit like framework.

The set-up and tear-down times would almost make separation not worth
it, although I'm pretty sure the tests take long enough with all those
sleep() statements used to get around the threading concerns.

We should focus on this later on.

> --
> https://code.launchpad.net/~smspillaz/nux/nux.fix_1112321/+merge/146098
> You are the owner of lp:~smspillaz/nux/nux.fix_1112321.

--
Sam Spilsbury

Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

@Michi

This test was generated by script that test every single possible compilation of dead keys. Though it would be nicer to go through the header in Nux to go over ever combo....overall no more dead key combos will be needed but I do agree there is wwwaaayy to much repetition in this test and I apologize :(

Looks good and works for me

Revision history for this message
Brandon Schaefer (brandontschaefer) :
review: Approve
Revision history for this message
Brandon Schaefer (brandontschaefer) wrote :

Approved!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'tests/nux_automated_test_framework.cpp'
--- tests/nux_automated_test_framework.cpp 2012-10-19 00:23:27 +0000
+++ tests/nux_automated_test_framework.cpp 2013-02-01 11:15:39 +0000
@@ -31,15 +31,16 @@
31int NuxAutomatedTestFramework::safety_border_inside_view = 1; // pixels31int NuxAutomatedTestFramework::safety_border_inside_view = 1; // pixels
3232
33NuxAutomatedTestFramework::NuxAutomatedTestFramework(nux::WindowThread *window_thread)33NuxAutomatedTestFramework::NuxAutomatedTestFramework(nux::WindowThread *window_thread)
34 : ready_to_start_(false)
35 , display_(NULL)
36 , window_thread_(window_thread)
37 , window_x_(0)
38 , window_y_(0)
39 , window_width_(0)
40 , window_height_(0)
41 , terminate_when_test_over_(false)
42 , composition_keys_supported_(false)
34{43{
35 ready_to_start_ = false;
36 display_ = NULL;
37 window_thread_ = window_thread;
38 window_x_ = 0;
39 window_y_ = 0;
40 window_width_ = 0;
41 window_height_ = 0;
42 terminate_when_test_over_ = false;
43}44}
4445
45NuxAutomatedTestFramework::~NuxAutomatedTestFramework()46NuxAutomatedTestFramework::~NuxAutomatedTestFramework()
@@ -47,6 +48,17 @@
47 XCloseDisplay(display_);48 XCloseDisplay(display_);
48}49}
4950
51void NuxAutomatedTestFramework::WarnCompositionKeysNotSupported()
52{
53 nuxWarningMsg("Composition keys are not supported by your server, "
54 "not running the composition keys tests");
55}
56
57bool NuxAutomatedTestFramework::CompositionKeysSupported()
58{
59 return composition_keys_supported_;
60}
61
50void NuxAutomatedTestFramework::SetTerminateProgramWhenDone(bool terminate)62void NuxAutomatedTestFramework::SetTerminateProgramWhenDone(bool terminate)
51{63{
52 terminate_when_test_over_ = terminate;64 terminate_when_test_over_ = terminate;
@@ -63,6 +75,25 @@
63 nux::Geometry rect = window_thread_->GetGraphicsDisplay().GetWindowGeometry();75 nux::Geometry rect = window_thread_->GetGraphicsDisplay().GetWindowGeometry();
64 //nuxDebugMsg("Window geometry: (%d, %d, %d, %d)", rect.x, rect.y, rect.width, rect.height);76 //nuxDebugMsg("Window geometry: (%d, %d, %d, %d)", rect.x, rect.y, rect.width, rect.height);
6577
78 int min, max, per_keycode;
79
80 // Get the min and max keycodes
81 XDisplayKeycodes(display_, &min, &max);
82
83 // Must be called with:
84 // first_keycode: min,
85 // keycode_count: max - min
86 KeySym *syms = XGetKeyboardMapping(display_, min, max - min, &per_keycode);
87
88 // Number of keysyms is (max - min) * keysyms_per_keycode
89 for (int i = 0; i < (max - min) * per_keycode; ++i)
90 {
91 if (syms[i] == XK_Multi_key)
92 composition_keys_supported_ = true;
93 }
94
95 XFree(syms);
96
66 window_x_ = rect.x;97 window_x_ = rect.x;
67 window_y_ = rect.y;98 window_y_ = rect.y;
68 window_width_ = rect.width;99 window_width_ = rect.width;
69100
=== modified file 'tests/nux_automated_test_framework.h'
--- tests/nux_automated_test_framework.h 2012-09-11 06:50:44 +0000
+++ tests/nux_automated_test_framework.h 2013-02-01 11:15:39 +0000
@@ -30,6 +30,12 @@
30 NuxAutomatedTestFramework(nux::WindowThread *window_thread);30 NuxAutomatedTestFramework(nux::WindowThread *window_thread);
31 virtual ~NuxAutomatedTestFramework();31 virtual ~NuxAutomatedTestFramework();
3232
33 //! Returns true if composition keys are supported by the server
34 bool CompositionKeysSupported();
35
36 //! Warn the developer composition keys are not supported
37 void WarnCompositionKeysNotSupported();
38
33 //! Initialize the testing framework.39 //! Initialize the testing framework.
34 void Startup();40 void Startup();
3541
@@ -130,6 +136,7 @@
130 int window_width_;136 int window_width_;
131 int window_height_;137 int window_height_;
132 bool terminate_when_test_over_;138 bool terminate_when_test_over_;
139 bool composition_keys_supported_;
133140
134 static int mouse_motion_time_span; // in milliseconds141 static int mouse_motion_time_span; // in milliseconds
135 static int mouse_click_time_span; // in milliseconds142 static int mouse_click_time_span; // in milliseconds
136143
=== modified file 'tests/xtest-text-entry-compositionkeys.cpp'
--- tests/xtest-text-entry-compositionkeys.cpp 2012-10-01 23:37:25 +0000
+++ tests/xtest-text-entry-compositionkeys.cpp 2013-02-01 11:15:39 +0000
@@ -108,314 +108,321 @@
108108
109 test.TestReportMsg(test_textentry->text_entry_, "TextEntry created");109 test.TestReportMsg(test_textentry->text_entry_, "TextEntry created");
110110
111 test_textentry->ResetEvents();111 if (test.CompositionKeysSupported())
112 test.ViewSendMouseMotionToCenter(test_textentry->text_entry_);112 {
113113 test_textentry->ResetEvents();
114 test.ViewSendMouseClick(0, 1);114 test.ViewSendMouseMotionToCenter(test_textentry->text_entry_);
115115
116 test.ViewSendCompositionKeys("`o");116 test.ViewSendMouseClick(0, 1);
117 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ò", "ò");117
118118 test.ViewSendCompositionKeys("`o");
119 test.ViewSendCompositionKeys("~o");119 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ò", "ò");
120 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõ", "òõ");120
121121 test.ViewSendCompositionKeys("~o");
122 test.ViewSendCompositionKeys("^o");122 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõ", "òõ");
123 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô", "òõô");123
124124 test.ViewSendCompositionKeys("^o");
125 test.ViewSendCompositionKeys("c=");125 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô", "òõô");
126 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€", "òõô€");126
127127 test.ViewSendCompositionKeys("c=");
128 test.ViewSendCompositionKeys("oc");128 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€", "òõô€");
129 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©", "òõô€©");129
130130 test.ViewSendCompositionKeys("oc");
131 test.ViewSendCompositionKeys("\"w");131 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©", "òõô€©");
132 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅ", "òõô€©ẅ");132
133133 test.ViewSendCompositionKeys("\"w");
134 test.ViewSendCompositionKeys("'S");134 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅ", "òõô€©ẅ");
135 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅŚ", "òõô€©ẅŚ");135
136 test.ViewSendCtrlA();136 test.ViewSendCompositionKeys("'S");
137 test.ViewSendDelete();137 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅŚ", "òõô€©ẅŚ");
138138 test.ViewSendCtrlA();
139 nux::SleepForMilliseconds(100);;139 test.ViewSendDelete();
140 //exclamdown # INVERTED EXCLAMATION MARK140
141 test.ViewSendCompositionKeys("!!");141 nux::SleepForMilliseconds(100);;
142 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¡", "¡");142 //exclamdown # INVERTED EXCLAMATION MARK
143 test.ViewSendCtrlA();143 test.ViewSendCompositionKeys("!!");
144 test.ViewSendDelete();144 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¡", "¡");
145 nux::SleepForMilliseconds(100);;145 test.ViewSendCtrlA();
146146 test.ViewSendDelete();
147 //CENT SIGN147 nux::SleepForMilliseconds(100);;
148 test.ViewSendCompositionKeys("|c");148
149 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¢", "¢");149 //CENT SIGN
150 test.ViewSendCtrlA();150 test.ViewSendCompositionKeys("|c");
151 test.ViewSendDelete();151 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¢", "¢");
152 nux::SleepForMilliseconds(100);;152 test.ViewSendCtrlA();
153153 test.ViewSendDelete();
154 //POUND SIGN154 nux::SleepForMilliseconds(100);;
155 test.ViewSendCompositionKeys("-L");155
156 test.TestReportMsg(test_textentry->text_entry_->GetText() == "£", "£");156 //POUND SIGN
157 test.ViewSendCtrlA();157 test.ViewSendCompositionKeys("-L");
158 test.ViewSendDelete();158 test.TestReportMsg(test_textentry->text_entry_->GetText() == "£", "£");
159 nux::SleepForMilliseconds(100);;159 test.ViewSendCtrlA();
160160 test.ViewSendDelete();
161 //currency # CURRENCY SIGN161 nux::SleepForMilliseconds(100);;
162 test.ViewSendCompositionKeys("xo");162
163 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¤", "¤");163 //currency # CURRENCY SIGN
164 test.ViewSendCtrlA();164 test.ViewSendCompositionKeys("xo");
165 test.ViewSendDelete();165 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¤", "¤");
166 nux::SleepForMilliseconds(100);;166 test.ViewSendCtrlA();
167167 test.ViewSendDelete();
168 //yen # YEN SIGN168 nux::SleepForMilliseconds(100);;
169 test.ViewSendCompositionKeys("Y=");169
170 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¥", "¥");170 //yen # YEN SIGN
171 test.ViewSendCtrlA();171 test.ViewSendCompositionKeys("Y=");
172 test.ViewSendDelete();172 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¥", "¥");
173 nux::SleepForMilliseconds(100);;173 test.ViewSendCtrlA();
174174 test.ViewSendDelete();
175 //FEMININE ORDINAL INDICATOR175 nux::SleepForMilliseconds(100);;
176 test.ViewSendCompositionKeys("^_a");176
177 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ª", "ª");177 //FEMININE ORDINAL INDICATOR
178 test.ViewSendCtrlA();178 test.ViewSendCompositionKeys("^_a");
179 test.ViewSendDelete();179 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ª", "ª");
180 nux::SleepForMilliseconds(100);;180 test.ViewSendCtrlA();
181181 test.ViewSendDelete();
182 //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK182 nux::SleepForMilliseconds(100);;
183 test.ViewSendCompositionKeys("<<");183
184 test.TestReportMsg(test_textentry->text_entry_->GetText() == "«", "«");184 //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
185 test.ViewSendCtrlA();185 test.ViewSendCompositionKeys("<<");
186 test.ViewSendDelete();186 test.TestReportMsg(test_textentry->text_entry_->GetText() == "«", "«");
187 nux::SleepForMilliseconds(100);;187 test.ViewSendCtrlA();
188188 test.ViewSendDelete();
189 //SUPERSCRIPT THREE189 nux::SleepForMilliseconds(100);;
190 test.ViewSendCompositionKeys("^3");190
191 test.TestReportMsg(test_textentry->text_entry_->GetText() == "³", "³");191 //SUPERSCRIPT THREE
192 test.ViewSendCtrlA();192 test.ViewSendCompositionKeys("^3");
193 test.ViewSendDelete();193 test.TestReportMsg(test_textentry->text_entry_->GetText() == "³", "³");
194 nux::SleepForMilliseconds(100);;194 test.ViewSendCtrlA();
195195 test.ViewSendDelete();
196 //MIDDLE DOT196 nux::SleepForMilliseconds(100);;
197 test.ViewSendCompositionKeys("..");197
198 test.TestReportMsg(test_textentry->text_entry_->GetText() == "·", "·");198 //MIDDLE DOT
199 test.ViewSendCtrlA();199 test.ViewSendCompositionKeys("..");
200 test.ViewSendDelete();200 test.TestReportMsg(test_textentry->text_entry_->GetText() == "·", "·");
201 nux::SleepForMilliseconds(100);;201 test.ViewSendCtrlA();
202202 test.ViewSendDelete();
203 //cedilla # CEDILLA203 nux::SleepForMilliseconds(100);;
204 test.ViewSendCompositionKeys(", ");204
205 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¸", "¸");205 //cedilla # CEDILLA
206 test.ViewSendCtrlA();206 test.ViewSendCompositionKeys(", ");
207 test.ViewSendDelete();207 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¸", "¸");
208 nux::SleepForMilliseconds(100);;208 test.ViewSendCtrlA();
209209 test.ViewSendDelete();
210 //VULGAR FRACTION THREE QUARTERS210 nux::SleepForMilliseconds(100);;
211 test.ViewSendCompositionKeys("34");211
212 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¾", "¾");212 //VULGAR FRACTION THREE QUARTERS
213 test.ViewSendCtrlA();213 test.ViewSendCompositionKeys("34");
214 test.ViewSendDelete();214 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¾", "¾");
215 nux::SleepForMilliseconds(100);;215 test.ViewSendCtrlA();
216216 test.ViewSendDelete();
217 //questiondown # INVERTED QUESTION MARK217 nux::SleepForMilliseconds(100);;
218 test.ViewSendCompositionKeys("??");218
219 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¿", "¿");219 //questiondown # INVERTED QUESTION MARK
220 test.ViewSendCtrlA();220 test.ViewSendCompositionKeys("??");
221 test.ViewSendDelete();221 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¿", "¿");
222 nux::SleepForMilliseconds(100);;222 test.ViewSendCtrlA();
223223 test.ViewSendDelete();
224 //LATIN CAPITAL LETTER A WITH GRAVE224 nux::SleepForMilliseconds(100);;
225 test.ViewSendCompositionKeys("`A");225
226 test.TestReportMsg(test_textentry->text_entry_->GetText() == "À", "À");226 //LATIN CAPITAL LETTER A WITH GRAVE
227 test.ViewSendCtrlA();227 test.ViewSendCompositionKeys("`A");
228 test.ViewSendDelete();228 test.TestReportMsg(test_textentry->text_entry_->GetText() == "À", "À");
229 nux::SleepForMilliseconds(100);;229 test.ViewSendCtrlA();
230230 test.ViewSendDelete();
231 //LATIN CAPITAL LETTER A WITH ACUTE231 nux::SleepForMilliseconds(100);;
232 test.ViewSendCompositionKeys("'A");232
233 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Á", "Á");233 //LATIN CAPITAL LETTER A WITH ACUTE
234 test.ViewSendCtrlA();234 test.ViewSendCompositionKeys("'A");
235 test.ViewSendDelete();235 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Á", "Á");
236 nux::SleepForMilliseconds(100);;236 test.ViewSendCtrlA();
237237 test.ViewSendDelete();
238 //LATIN CAPITAL LETTER A WITH CIRCUMFLEX238 nux::SleepForMilliseconds(100);;
239 test.ViewSendCompositionKeys("^A");239
240 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Â", "Â");240 //LATIN CAPITAL LETTER A WITH CIRCUMFLEX
241 test.ViewSendCtrlA();241 test.ViewSendCompositionKeys("^A");
242 test.ViewSendDelete();242 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Â", "Â");
243 nux::SleepForMilliseconds(100);;243 test.ViewSendCtrlA();
244244 test.ViewSendDelete();
245 //LATIN CAPITAL LETTER A WITH TILDE245 nux::SleepForMilliseconds(100);;
246 test.ViewSendCompositionKeys("~A");246
247 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ã", "Ã");247 //LATIN CAPITAL LETTER A WITH TILDE
248 test.ViewSendCtrlA();248 test.ViewSendCompositionKeys("~A");
249 test.ViewSendDelete();249 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ã", "Ã");
250 nux::SleepForMilliseconds(100);;250 test.ViewSendCtrlA();
251251 test.ViewSendDelete();
252 //LATIN CAPITAL LETTER A WITH DIAERESIS252 nux::SleepForMilliseconds(100);;
253 test.ViewSendCompositionKeys("\"A");253
254 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ä", "Ä");254 //LATIN CAPITAL LETTER A WITH DIAERESIS
255 test.ViewSendCtrlA();255 test.ViewSendCompositionKeys("\"A");
256 test.ViewSendDelete();256 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ä", "Ä");
257 nux::SleepForMilliseconds(100);;257 test.ViewSendCtrlA();
258258 test.ViewSendDelete();
259 //LATIN CAPITAL LETTER A WITH RING ABOVE259 nux::SleepForMilliseconds(100);;
260 test.ViewSendCompositionKeys("oA");260
261 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Å", "Å");261 //LATIN CAPITAL LETTER A WITH RING ABOVE
262 test.ViewSendCtrlA();262 test.ViewSendCompositionKeys("oA");
263 test.ViewSendDelete();263 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Å", "Å");
264 nux::SleepForMilliseconds(100);;264 test.ViewSendCtrlA();
265265 test.ViewSendDelete();
266 //AE # LATIN CAPITAL LETTER AE266 nux::SleepForMilliseconds(100);;
267 test.ViewSendCompositionKeys("AE");267
268 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Æ", "Æ");268 //AE # LATIN CAPITAL LETTER AE
269 test.ViewSendCtrlA();269 test.ViewSendCompositionKeys("AE");
270 test.ViewSendDelete();270 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Æ", "Æ");
271 nux::SleepForMilliseconds(100);;271 test.ViewSendCtrlA();
272272 test.ViewSendDelete();
273 //ssharp # LATIN SMALL LETTER SHARP S273 nux::SleepForMilliseconds(100);;
274 test.ViewSendCompositionKeys("ss");274
275 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ß", "ß");275 //ssharp # LATIN SMALL LETTER SHARP S
276 test.ViewSendCtrlA();276 test.ViewSendCompositionKeys("ss");
277 test.ViewSendDelete();277 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ß", "ß");
278 nux::SleepForMilliseconds(100);;278 test.ViewSendCtrlA();
279279 test.ViewSendDelete();
280 //LATIN SMALL LETTER A WITH GRAVE280 nux::SleepForMilliseconds(100);;
281 test.ViewSendCompositionKeys("`a");281
282 test.TestReportMsg(test_textentry->text_entry_->GetText() == "à", "à");282 //LATIN SMALL LETTER A WITH GRAVE
283 test.ViewSendCtrlA();283 test.ViewSendCompositionKeys("`a");
284 test.ViewSendDelete();284 test.TestReportMsg(test_textentry->text_entry_->GetText() == "à", "à");
285 nux::SleepForMilliseconds(100);;285 test.ViewSendCtrlA();
286286 test.ViewSendDelete();
287 //LATIN SMALL LETTER A WITH ACUTE287 nux::SleepForMilliseconds(100);;
288 test.ViewSendCompositionKeys("'a");288
289 test.TestReportMsg(test_textentry->text_entry_->GetText() == "á", "á");289 //LATIN SMALL LETTER A WITH ACUTE
290 test.ViewSendCtrlA();290 test.ViewSendCompositionKeys("'a");
291 test.ViewSendDelete();291 test.TestReportMsg(test_textentry->text_entry_->GetText() == "á", "á");
292 nux::SleepForMilliseconds(100);;292 test.ViewSendCtrlA();
293293 test.ViewSendDelete();
294 //LATIN SMALL LETTER A WITH CIRCUMFLEX294 nux::SleepForMilliseconds(100);;
295 test.ViewSendCompositionKeys("^a");295
296 test.TestReportMsg(test_textentry->text_entry_->GetText() == "â", "â");296 //LATIN SMALL LETTER A WITH CIRCUMFLEX
297 test.ViewSendCtrlA();297 test.ViewSendCompositionKeys("^a");
298 test.ViewSendDelete();298 test.TestReportMsg(test_textentry->text_entry_->GetText() == "â", "â");
299 nux::SleepForMilliseconds(100);;299 test.ViewSendCtrlA();
300300 test.ViewSendDelete();
301 //LATIN SMALL LETTER A WITH TILDE301 nux::SleepForMilliseconds(100);;
302 test.ViewSendCompositionKeys("~a");302
303 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ã", "ã");303 //LATIN SMALL LETTER A WITH TILDE
304 test.ViewSendCtrlA();304 test.ViewSendCompositionKeys("~a");
305 test.ViewSendDelete();305 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ã", "ã");
306 nux::SleepForMilliseconds(100);;306 test.ViewSendCtrlA();
307307 test.ViewSendDelete();
308 //LATIN SMALL LETTER A WITH DIAERESIS308 nux::SleepForMilliseconds(100);;
309 test.ViewSendCompositionKeys("\"a");309
310 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ä", "ä");310 //LATIN SMALL LETTER A WITH DIAERESIS
311 test.ViewSendCtrlA();311 test.ViewSendCompositionKeys("\"a");
312 test.ViewSendDelete();312 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ä", "ä");
313 nux::SleepForMilliseconds(100);;313 test.ViewSendCtrlA();
314314 test.ViewSendDelete();
315 //LATIN SMALL LETTER A WITH RING ABOVE315 nux::SleepForMilliseconds(100);;
316 test.ViewSendCompositionKeys("oa");316
317 test.TestReportMsg(test_textentry->text_entry_->GetText() == "å", "å");317 //LATIN SMALL LETTER A WITH RING ABOVE
318 test.ViewSendCtrlA();318 test.ViewSendCompositionKeys("oa");
319 test.ViewSendDelete();319 test.TestReportMsg(test_textentry->text_entry_->GetText() == "å", "å");
320 nux::SleepForMilliseconds(100);;320 test.ViewSendCtrlA();
321321 test.ViewSendDelete();
322 //ae # LATIN SMALL LETTER AE322 nux::SleepForMilliseconds(100);;
323 test.ViewSendCompositionKeys("ae");323
324 test.TestReportMsg(test_textentry->text_entry_->GetText() == "æ", "æ");324 //ae # LATIN SMALL LETTER AE
325 test.ViewSendCtrlA();325 test.ViewSendCompositionKeys("ae");
326 test.ViewSendDelete();326 test.TestReportMsg(test_textentry->text_entry_->GetText() == "æ", "æ");
327 nux::SleepForMilliseconds(100);;327 test.ViewSendCtrlA();
328328 test.ViewSendDelete();
329 //DIVISION SIGN329 nux::SleepForMilliseconds(100);;
330 test.ViewSendCompositionKeys("-:");330
331 test.TestReportMsg(test_textentry->text_entry_->GetText() == "÷", "÷");331 //DIVISION SIGN
332 test.ViewSendCtrlA();332 test.ViewSendCompositionKeys("-:");
333 test.ViewSendDelete();333 test.TestReportMsg(test_textentry->text_entry_->GetText() == "÷", "÷");
334 nux::SleepForMilliseconds(100);;334 test.ViewSendCtrlA();
335335 test.ViewSendDelete();
336 //LATIN CAPITAL LETTER A WITH OGONEK336 nux::SleepForMilliseconds(100);;
337 test.ViewSendCompositionKeys(";A");337
338 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ą", "Ą");338 //LATIN CAPITAL LETTER A WITH OGONEK
339 test.ViewSendCtrlA();339 test.ViewSendCompositionKeys(";A");
340 test.ViewSendDelete();340 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ą", "Ą");
341 nux::SleepForMilliseconds(100);;341 test.ViewSendCtrlA();
342342 test.ViewSendDelete();
343 //LATIN SMALL LETTER A WITH OGONEK343 nux::SleepForMilliseconds(100);;
344 test.ViewSendCompositionKeys(";a");344
345 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ą", "ą");345 //LATIN SMALL LETTER A WITH OGONEK
346 test.ViewSendCtrlA();346 test.ViewSendCompositionKeys(";a");
347 test.ViewSendDelete();347 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ą", "ą");
348 nux::SleepForMilliseconds(100);;348 test.ViewSendCtrlA();
349349 test.ViewSendDelete();
350 //LATIN CAPITAL LETTER A WITH CARON350 nux::SleepForMilliseconds(100);;
351 test.ViewSendCompositionKeys("cA");351
352 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ǎ", "Ǎ");352 //LATIN CAPITAL LETTER A WITH CARON
353 test.ViewSendCtrlA();353 test.ViewSendCompositionKeys("cA");
354 test.ViewSendDelete();354 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ǎ", "Ǎ");
355 nux::SleepForMilliseconds(100);355 test.ViewSendCtrlA();
356 356 test.ViewSendDelete();
357 //EN DASH357 nux::SleepForMilliseconds(100);
358 test.ViewSendCompositionKeys("--.");358
359 test.TestReportMsg(test_textentry->text_entry_->GetText() == "–", "–");359 //EN DASH
360 test.ViewSendCtrlA();360 test.ViewSendCompositionKeys("--.");
361 test.ViewSendDelete();361 test.TestReportMsg(test_textentry->text_entry_->GetText() == "–", "–");
362 nux::SleepForMilliseconds(100);362 test.ViewSendCtrlA();
363363 test.ViewSendDelete();
364 //RIGHT SINGLE QUOTATION MARK364 nux::SleepForMilliseconds(100);
365 test.ViewSendCompositionKeys(">'");365
366 test.TestReportMsg(test_textentry->text_entry_->GetText() == "’", "’");366 //RIGHT SINGLE QUOTATION MARK
367 test.ViewSendCtrlA();367 test.ViewSendCompositionKeys(">'");
368 test.ViewSendDelete();368 test.TestReportMsg(test_textentry->text_entry_->GetText() == "’", "’");
369 nux::SleepForMilliseconds(100);369 test.ViewSendCtrlA();
370370 test.ViewSendDelete();
371 //LEFT DOUBLE QUOTATION MARK371 nux::SleepForMilliseconds(100);
372 test.ViewSendCompositionKeys("<\"");372
373 test.TestReportMsg(test_textentry->text_entry_->GetText() == "“", "“");373 //LEFT DOUBLE QUOTATION MARK
374 test.ViewSendCtrlA();374 test.ViewSendCompositionKeys("<\"");
375 test.ViewSendDelete();375 test.TestReportMsg(test_textentry->text_entry_->GetText() == "“", "“");
376 nux::SleepForMilliseconds(100);376 test.ViewSendCtrlA();
377377 test.ViewSendDelete();
378 //RIGHT DOUBLE QUOTATION MARK378 nux::SleepForMilliseconds(100);
379 test.ViewSendCompositionKeys("\">");379
380 test.TestReportMsg(test_textentry->text_entry_->GetText() == "”", "”");380 //RIGHT DOUBLE QUOTATION MARK
381 test.ViewSendCtrlA();381 test.ViewSendCompositionKeys("\">");
382 test.ViewSendDelete();382 test.TestReportMsg(test_textentry->text_entry_->GetText() == "”", "”");
383 nux::SleepForMilliseconds(100);383 test.ViewSendCtrlA();
384384 test.ViewSendDelete();
385 //DOUBLE LOW-9 QUOTATION MARK385 nux::SleepForMilliseconds(100);
386 test.ViewSendCompositionKeys("\",");386
387 test.TestReportMsg(test_textentry->text_entry_->GetText() == "„", "„");387 //DOUBLE LOW-9 QUOTATION MARK
388 test.ViewSendCtrlA();388 test.ViewSendCompositionKeys("\",");
389 test.ViewSendDelete();389 test.TestReportMsg(test_textentry->text_entry_->GetText() == "„", "„");
390 nux::SleepForMilliseconds(100);390 test.ViewSendCtrlA();
391391 test.ViewSendDelete();
392 //PER MILLE SIGN392 nux::SleepForMilliseconds(100);
393 test.ViewSendCompositionKeys("%o");393
394 test.TestReportMsg(test_textentry->text_entry_->GetText() == "‰", "‰");394 //PER MILLE SIGN
395 test.ViewSendCtrlA();395 test.ViewSendCompositionKeys("%o");
396 test.ViewSendDelete();396 test.TestReportMsg(test_textentry->text_entry_->GetText() == "‰", "‰");
397 nux::SleepForMilliseconds(100);397 test.ViewSendCtrlA();
398398 test.ViewSendDelete();
399 //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK399 nux::SleepForMilliseconds(100);
400 test.ViewSendCompositionKeys(".>");400
401 test.TestReportMsg(test_textentry->text_entry_->GetText() == "›", "›");401 //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
402 test.ViewSendCtrlA();402 test.ViewSendCompositionKeys(".>");
403 test.ViewSendDelete();403 test.TestReportMsg(test_textentry->text_entry_->GetText() == "›", "›");
404 nux::SleepForMilliseconds(100);404 test.ViewSendCtrlA();
405405 test.ViewSendDelete();
406 //EuroSign # EURO SIGN406 nux::SleepForMilliseconds(100);
407 test.ViewSendCompositionKeys("=E");407
408 test.TestReportMsg(test_textentry->text_entry_->GetText() == "€", "€");408 //EuroSign # EURO SIGN
409 test.ViewSendCtrlA();409 test.ViewSendCompositionKeys("=E");
410 test.ViewSendDelete();410 test.TestReportMsg(test_textentry->text_entry_->GetText() == "€", "€");
411 nux::SleepForMilliseconds(100);411 test.ViewSendCtrlA();
412412 test.ViewSendDelete();
413 //REVERSED DOUBLE PRIME QUOTATION MARK413 nux::SleepForMilliseconds(100);
414 test.ViewSendCompositionKeys("\"\\");414
415 test.TestReportMsg(test_textentry->text_entry_->GetText() == "〝", "〝");415 //REVERSED DOUBLE PRIME QUOTATION MARK
416 test.ViewSendCtrlA();416 test.ViewSendCompositionKeys("\"\\");
417 test.ViewSendDelete();417 test.TestReportMsg(test_textentry->text_entry_->GetText() == "〝", "〝");
418 nux::SleepForMilliseconds(100);418 test.ViewSendCtrlA();
419 test.ViewSendDelete();
420 nux::SleepForMilliseconds(100);
421 }
422 else
423 {
424 test.WarnCompositionKeysNotSupported();
425 }
419426
420 if (test.WhenDoneTerminateProgram())427 if (test.WhenDoneTerminateProgram())
421 {428 {
422429
=== modified file 'tests/xtest-text-entry-deadkeys.cpp'
--- tests/xtest-text-entry-deadkeys.cpp 2012-12-04 01:10:25 +0000
+++ tests/xtest-text-entry-deadkeys.cpp 2013-02-01 11:15:39 +0000
@@ -113,309 +113,316 @@
113113
114 test.ViewSendMouseClick(0, 1);114 test.ViewSendMouseClick(0, 1);
115115
116 test.ViewSendCompositionKeys("`o");116 if (test.CompositionKeysSupported())
117 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ò", "ò");117 {
118118 test.ViewSendCompositionKeys("`o");
119 test.ViewSendCompositionKeys("~o");119 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ò", "ò");
120 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõ", "òõ");120
121121 test.ViewSendCompositionKeys("~o");
122 test.ViewSendCompositionKeys("^o");122 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõ", "òõ");
123 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô", "òõô");123
124124 test.ViewSendCompositionKeys("^o");
125 test.ViewSendCompositionKeys("c=");125 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô", "òõô");
126 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€", "òõô€");126
127127 test.ViewSendCompositionKeys("c=");
128 test.ViewSendCompositionKeys("oc");128 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€", "òõô€");
129 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©", "òõô€©");129
130130 test.ViewSendCompositionKeys("oc");
131 test.ViewSendCompositionKeys("\"w");131 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©", "òõô€©");
132 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅ", "òõô€©ẅ");132
133133 test.ViewSendCompositionKeys("\"w");
134 test.ViewSendCompositionKeys("'S");134 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅ", "òõô€©ẅ");
135 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅŚ", "òõô€©ẅŚ");135
136 test.ViewSendCtrlA();136 test.ViewSendCompositionKeys("'S");
137 test.ViewSendDelete();137 test.TestReportMsg(test_textentry->text_entry_->GetText() == "òõô€©ẅŚ", "òõô€©ẅŚ");
138138 test.ViewSendCtrlA();
139 nux::SleepForMilliseconds(100);139 test.ViewSendDelete();
140 //exclamdown # INVERTED EXCLAMATION MARK140
141 test.ViewSendCompositionKeys("!!");141 nux::SleepForMilliseconds(100);
142 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¡", "¡");142 //exclamdown # INVERTED EXCLAMATION MARK
143 test.ViewSendCtrlA();143 test.ViewSendCompositionKeys("!!");
144 test.ViewSendDelete();144 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¡", "¡");
145 nux::SleepForMilliseconds(100);;145 test.ViewSendCtrlA();
146146 test.ViewSendDelete();
147 //CENT SIGN147 nux::SleepForMilliseconds(100);;
148 test.ViewSendCompositionKeys("|c");148
149 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¢", "¢");149 //CENT SIGN
150 test.ViewSendCtrlA();150 test.ViewSendCompositionKeys("|c");
151 test.ViewSendDelete();151 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¢", "¢");
152 nux::SleepForMilliseconds(100);;152 test.ViewSendCtrlA();
153153 test.ViewSendDelete();
154 //POUND SIGN154 nux::SleepForMilliseconds(100);;
155 test.ViewSendCompositionKeys("-L");155
156 test.TestReportMsg(test_textentry->text_entry_->GetText() == "£", "£");156 //POUND SIGN
157 test.ViewSendCtrlA();157 test.ViewSendCompositionKeys("-L");
158 test.ViewSendDelete();158 test.TestReportMsg(test_textentry->text_entry_->GetText() == "£", "£");
159 nux::SleepForMilliseconds(100);;159 test.ViewSendCtrlA();
160160 test.ViewSendDelete();
161 //currency # CURRENCY SIGN161 nux::SleepForMilliseconds(100);;
162 test.ViewSendCompositionKeys("xo");162
163 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¤", "¤");163 //currency # CURRENCY SIGN
164 test.ViewSendCtrlA();164 test.ViewSendCompositionKeys("xo");
165 test.ViewSendDelete();165 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¤", "¤");
166 nux::SleepForMilliseconds(100);;166 test.ViewSendCtrlA();
167167 test.ViewSendDelete();
168 //yen # YEN SIGN168 nux::SleepForMilliseconds(100);;
169 test.ViewSendCompositionKeys("Y=");169
170 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¥", "¥");170 //yen # YEN SIGN
171 test.ViewSendCtrlA();171 test.ViewSendCompositionKeys("Y=");
172 test.ViewSendDelete();172 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¥", "¥");
173 nux::SleepForMilliseconds(100);;173 test.ViewSendCtrlA();
174174 test.ViewSendDelete();
175 //FEMININE ORDINAL INDICATOR175 nux::SleepForMilliseconds(100);;
176 test.ViewSendCompositionKeys("^_a");176
177 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ª", "ª");177 //FEMININE ORDINAL INDICATOR
178 test.ViewSendCtrlA();178 test.ViewSendCompositionKeys("^_a");
179 test.ViewSendDelete();179 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ª", "ª");
180 nux::SleepForMilliseconds(100);;180 test.ViewSendCtrlA();
181181 test.ViewSendDelete();
182 //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK182 nux::SleepForMilliseconds(100);;
183 test.ViewSendCompositionKeys("<<");183
184 test.TestReportMsg(test_textentry->text_entry_->GetText() == "«", "«");184 //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
185 test.ViewSendCtrlA();185 test.ViewSendCompositionKeys("<<");
186 test.ViewSendDelete();186 test.TestReportMsg(test_textentry->text_entry_->GetText() == "«", "«");
187 nux::SleepForMilliseconds(100);;187 test.ViewSendCtrlA();
188188 test.ViewSendDelete();
189 //SUPERSCRIPT THREE189 nux::SleepForMilliseconds(100);;
190 test.ViewSendCompositionKeys("^3");190
191 test.TestReportMsg(test_textentry->text_entry_->GetText() == "³", "³");191 //SUPERSCRIPT THREE
192 test.ViewSendCtrlA();192 test.ViewSendCompositionKeys("^3");
193 test.ViewSendDelete();193 test.TestReportMsg(test_textentry->text_entry_->GetText() == "³", "³");
194 nux::SleepForMilliseconds(100);;194 test.ViewSendCtrlA();
195195 test.ViewSendDelete();
196 //MIDDLE DOT196 nux::SleepForMilliseconds(100);;
197 test.ViewSendCompositionKeys("..");197
198 test.TestReportMsg(test_textentry->text_entry_->GetText() == "·", "·");198 //MIDDLE DOT
199 test.ViewSendCtrlA();199 test.ViewSendCompositionKeys("..");
200 test.ViewSendDelete();200 test.TestReportMsg(test_textentry->text_entry_->GetText() == "·", "·");
201 nux::SleepForMilliseconds(100);;201 test.ViewSendCtrlA();
202202 test.ViewSendDelete();
203 //cedilla # CEDILLA203 nux::SleepForMilliseconds(100);;
204 test.ViewSendCompositionKeys(", ");204
205 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¸", "¸");205 //cedilla # CEDILLA
206 test.ViewSendCtrlA();206 test.ViewSendCompositionKeys(", ");
207 test.ViewSendDelete();207 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¸", "¸");
208 nux::SleepForMilliseconds(100);;208 test.ViewSendCtrlA();
209209 test.ViewSendDelete();
210 //VULGAR FRACTION THREE QUARTERS210 nux::SleepForMilliseconds(100);;
211 test.ViewSendCompositionKeys("34");211
212 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¾", "¾");212 //VULGAR FRACTION THREE QUARTERS
213 test.ViewSendCtrlA();213 test.ViewSendCompositionKeys("34");
214 test.ViewSendDelete();214 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¾", "¾");
215 nux::SleepForMilliseconds(100);;215 test.ViewSendCtrlA();
216216 test.ViewSendDelete();
217 //questiondown # INVERTED QUESTION MARK217 nux::SleepForMilliseconds(100);;
218 test.ViewSendCompositionKeys("??");218
219 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¿", "¿");219 //questiondown # INVERTED QUESTION MARK
220 test.ViewSendCtrlA();220 test.ViewSendCompositionKeys("??");
221 test.ViewSendDelete();221 test.TestReportMsg(test_textentry->text_entry_->GetText() == "¿", "¿");
222 nux::SleepForMilliseconds(100);;222 test.ViewSendCtrlA();
223223 test.ViewSendDelete();
224 //LATIN CAPITAL LETTER A WITH GRAVE224 nux::SleepForMilliseconds(100);;
225 test.ViewSendCompositionKeys("`A");225
226 test.TestReportMsg(test_textentry->text_entry_->GetText() == "À", "À");226 //LATIN CAPITAL LETTER A WITH GRAVE
227 test.ViewSendCtrlA();227 test.ViewSendCompositionKeys("`A");
228 test.ViewSendDelete();228 test.TestReportMsg(test_textentry->text_entry_->GetText() == "À", "À");
229 nux::SleepForMilliseconds(100);;229 test.ViewSendCtrlA();
230230 test.ViewSendDelete();
231 //LATIN CAPITAL LETTER A WITH ACUTE231 nux::SleepForMilliseconds(100);;
232 test.ViewSendCompositionKeys("'A");232
233 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Á", "Á");233 //LATIN CAPITAL LETTER A WITH ACUTE
234 test.ViewSendCtrlA();234 test.ViewSendCompositionKeys("'A");
235 test.ViewSendDelete();235 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Á", "Á");
236 nux::SleepForMilliseconds(100);;236 test.ViewSendCtrlA();
237237 test.ViewSendDelete();
238 //LATIN CAPITAL LETTER A WITH CIRCUMFLEX238 nux::SleepForMilliseconds(100);;
239 test.ViewSendCompositionKeys("^A");239
240 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Â", "Â");240 //LATIN CAPITAL LETTER A WITH CIRCUMFLEX
241 test.ViewSendCtrlA();241 test.ViewSendCompositionKeys("^A");
242 test.ViewSendDelete();242 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Â", "Â");
243 nux::SleepForMilliseconds(100);;243 test.ViewSendCtrlA();
244244 test.ViewSendDelete();
245 //LATIN CAPITAL LETTER A WITH TILDE245 nux::SleepForMilliseconds(100);;
246 test.ViewSendCompositionKeys("~A");246
247 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ã", "Ã");247 //LATIN CAPITAL LETTER A WITH TILDE
248 test.ViewSendCtrlA();248 test.ViewSendCompositionKeys("~A");
249 test.ViewSendDelete();249 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ã", "Ã");
250 nux::SleepForMilliseconds(100);;250 test.ViewSendCtrlA();
251251 test.ViewSendDelete();
252 //LATIN CAPITAL LETTER A WITH DIAERESIS252 nux::SleepForMilliseconds(100);;
253 test.ViewSendCompositionKeys("\"A");253
254 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ä", "Ä");254 //LATIN CAPITAL LETTER A WITH DIAERESIS
255 test.ViewSendCtrlA();255 test.ViewSendCompositionKeys("\"A");
256 test.ViewSendDelete();256 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ä", "Ä");
257 nux::SleepForMilliseconds(100);;257 test.ViewSendCtrlA();
258258 test.ViewSendDelete();
259 //LATIN CAPITAL LETTER A WITH RING ABOVE259 nux::SleepForMilliseconds(100);;
260 test.ViewSendCompositionKeys("oA");260
261 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Å", "Å");261 //LATIN CAPITAL LETTER A WITH RING ABOVE
262 test.ViewSendCtrlA();262 test.ViewSendCompositionKeys("oA");
263 test.ViewSendDelete();263 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Å", "Å");
264 nux::SleepForMilliseconds(100);;264 test.ViewSendCtrlA();
265265 test.ViewSendDelete();
266 //AE # LATIN CAPITAL LETTER AE266 nux::SleepForMilliseconds(100);;
267 test.ViewSendCompositionKeys("AE");267
268 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Æ", "Æ");268 //AE # LATIN CAPITAL LETTER AE
269 test.ViewSendCtrlA();269 test.ViewSendCompositionKeys("AE");
270 test.ViewSendDelete();270 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Æ", "Æ");
271 nux::SleepForMilliseconds(100);;271 test.ViewSendCtrlA();
272272 test.ViewSendDelete();
273 //ssharp # LATIN SMALL LETTER SHARP S273 nux::SleepForMilliseconds(100);;
274 test.ViewSendCompositionKeys("ss");274
275 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ß", "ß");275 //ssharp # LATIN SMALL LETTER SHARP S
276 test.ViewSendCtrlA();276 test.ViewSendCompositionKeys("ss");
277 test.ViewSendDelete();277 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ß", "ß");
278 nux::SleepForMilliseconds(100);;278 test.ViewSendCtrlA();
279279 test.ViewSendDelete();
280 //LATIN SMALL LETTER A WITH GRAVE280 nux::SleepForMilliseconds(100);;
281 test.ViewSendCompositionKeys("`a");281
282 test.TestReportMsg(test_textentry->text_entry_->GetText() == "à", "à");282 //LATIN SMALL LETTER A WITH GRAVE
283 test.ViewSendCtrlA();283 test.ViewSendCompositionKeys("`a");
284 test.ViewSendDelete();284 test.TestReportMsg(test_textentry->text_entry_->GetText() == "à", "à");
285 nux::SleepForMilliseconds(100);;285 test.ViewSendCtrlA();
286286 test.ViewSendDelete();
287 //LATIN SMALL LETTER A WITH ACUTE287 nux::SleepForMilliseconds(100);;
288 test.ViewSendCompositionKeys("'a");288
289 test.TestReportMsg(test_textentry->text_entry_->GetText() == "á", "á");289 //LATIN SMALL LETTER A WITH ACUTE
290 test.ViewSendCtrlA();290 test.ViewSendCompositionKeys("'a");
291 test.ViewSendDelete();291 test.TestReportMsg(test_textentry->text_entry_->GetText() == "á", "á");
292 nux::SleepForMilliseconds(100);;292 test.ViewSendCtrlA();
293293 test.ViewSendDelete();
294 //LATIN SMALL LETTER A WITH CIRCUMFLEX294 nux::SleepForMilliseconds(100);;
295 test.ViewSendCompositionKeys("^a");295
296 test.TestReportMsg(test_textentry->text_entry_->GetText() == "â", "â");296 //LATIN SMALL LETTER A WITH CIRCUMFLEX
297 test.ViewSendCtrlA();297 test.ViewSendCompositionKeys("^a");
298 test.ViewSendDelete();298 test.TestReportMsg(test_textentry->text_entry_->GetText() == "â", "â");
299 nux::SleepForMilliseconds(100);;299 test.ViewSendCtrlA();
300300 test.ViewSendDelete();
301 //LATIN SMALL LETTER A WITH TILDE301 nux::SleepForMilliseconds(100);;
302 test.ViewSendCompositionKeys("~a");302
303 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ã", "ã");303 //LATIN SMALL LETTER A WITH TILDE
304 test.ViewSendCtrlA();304 test.ViewSendCompositionKeys("~a");
305 test.ViewSendDelete();305 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ã", "ã");
306 nux::SleepForMilliseconds(100);;306 test.ViewSendCtrlA();
307307 test.ViewSendDelete();
308 //LATIN SMALL LETTER A WITH DIAERESIS308 nux::SleepForMilliseconds(100);;
309 test.ViewSendCompositionKeys("\"a");309
310 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ä", "ä");310 //LATIN SMALL LETTER A WITH DIAERESIS
311 test.ViewSendCtrlA();311 test.ViewSendCompositionKeys("\"a");
312 test.ViewSendDelete();312 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ä", "ä");
313 nux::SleepForMilliseconds(100);;313 test.ViewSendCtrlA();
314314 test.ViewSendDelete();
315 //LATIN SMALL LETTER A WITH RING ABOVE315 nux::SleepForMilliseconds(100);;
316 test.ViewSendCompositionKeys("oa");316
317 test.TestReportMsg(test_textentry->text_entry_->GetText() == "å", "å");317 //LATIN SMALL LETTER A WITH RING ABOVE
318 test.ViewSendCtrlA();318 test.ViewSendCompositionKeys("oa");
319 test.ViewSendDelete();319 test.TestReportMsg(test_textentry->text_entry_->GetText() == "å", "å");
320 nux::SleepForMilliseconds(100);;320 test.ViewSendCtrlA();
321321 test.ViewSendDelete();
322 //ae # LATIN SMALL LETTER AE322 nux::SleepForMilliseconds(100);;
323 test.ViewSendCompositionKeys("ae");323
324 test.TestReportMsg(test_textentry->text_entry_->GetText() == "æ", "æ");324 //ae # LATIN SMALL LETTER AE
325 test.ViewSendCtrlA();325 test.ViewSendCompositionKeys("ae");
326 test.ViewSendDelete();326 test.TestReportMsg(test_textentry->text_entry_->GetText() == "æ", "æ");
327 nux::SleepForMilliseconds(100);;327 test.ViewSendCtrlA();
328328 test.ViewSendDelete();
329 //DIVISION SIGN329 nux::SleepForMilliseconds(100);;
330 test.ViewSendCompositionKeys("-:");330
331 test.TestReportMsg(test_textentry->text_entry_->GetText() == "÷", "÷");331 //DIVISION SIGN
332 test.ViewSendCtrlA();332 test.ViewSendCompositionKeys("-:");
333 test.ViewSendDelete();333 test.TestReportMsg(test_textentry->text_entry_->GetText() == "÷", "÷");
334 nux::SleepForMilliseconds(100);;334 test.ViewSendCtrlA();
335335 test.ViewSendDelete();
336 //LATIN CAPITAL LETTER A WITH OGONEK336 nux::SleepForMilliseconds(100);;
337 test.ViewSendCompositionKeys(";A");337
338 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ą", "Ą");338 //LATIN CAPITAL LETTER A WITH OGONEK
339 test.ViewSendCtrlA();339 test.ViewSendCompositionKeys(";A");
340 test.ViewSendDelete();340 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ą", "Ą");
341 nux::SleepForMilliseconds(100);;341 test.ViewSendCtrlA();
342342 test.ViewSendDelete();
343 //LATIN SMALL LETTER A WITH OGONEK343 nux::SleepForMilliseconds(100);;
344 test.ViewSendCompositionKeys(";a");344
345 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ą", "ą");345 //LATIN SMALL LETTER A WITH OGONEK
346 test.ViewSendCtrlA();346 test.ViewSendCompositionKeys(";a");
347 test.ViewSendDelete();347 test.TestReportMsg(test_textentry->text_entry_->GetText() == "ą", "ą");
348 nux::SleepForMilliseconds(100);;348 test.ViewSendCtrlA();
349349 test.ViewSendDelete();
350 //LATIN CAPITAL LETTER A WITH CARON350 nux::SleepForMilliseconds(100);;
351 test.ViewSendCompositionKeys("cA");351
352 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ǎ", "Ǎ");352 //LATIN CAPITAL LETTER A WITH CARON
353 test.ViewSendCtrlA();353 test.ViewSendCompositionKeys("cA");
354 test.ViewSendDelete();354 test.TestReportMsg(test_textentry->text_entry_->GetText() == "Ǎ", "Ǎ");
355 nux::SleepForMilliseconds(100);355 test.ViewSendCtrlA();
356 356 test.ViewSendDelete();
357 //EN DASH357 nux::SleepForMilliseconds(100);
358 test.ViewSendCompositionKeys("--.");358
359 test.TestReportMsg(test_textentry->text_entry_->GetText() == "–", "–");359 //EN DASH
360 test.ViewSendCtrlA();360 test.ViewSendCompositionKeys("--.");
361 test.ViewSendDelete();361 test.TestReportMsg(test_textentry->text_entry_->GetText() == "–", "–");
362 nux::SleepForMilliseconds(100);362 test.ViewSendCtrlA();
363363 test.ViewSendDelete();
364 //RIGHT SINGLE QUOTATION MARK364 nux::SleepForMilliseconds(100);
365 test.ViewSendCompositionKeys(">'");365
366 test.TestReportMsg(test_textentry->text_entry_->GetText() == "’", "’");366 //RIGHT SINGLE QUOTATION MARK
367 test.ViewSendCtrlA();367 test.ViewSendCompositionKeys(">'");
368 test.ViewSendDelete();368 test.TestReportMsg(test_textentry->text_entry_->GetText() == "’", "’");
369 nux::SleepForMilliseconds(100);369 test.ViewSendCtrlA();
370370 test.ViewSendDelete();
371 //LEFT DOUBLE QUOTATION MARK371 nux::SleepForMilliseconds(100);
372 test.ViewSendCompositionKeys("<\"");372
373 test.TestReportMsg(test_textentry->text_entry_->GetText() == "“", "“");373 //LEFT DOUBLE QUOTATION MARK
374 test.ViewSendCtrlA();374 test.ViewSendCompositionKeys("<\"");
375 test.ViewSendDelete();375 test.TestReportMsg(test_textentry->text_entry_->GetText() == "“", "“");
376 nux::SleepForMilliseconds(100);376 test.ViewSendCtrlA();
377377 test.ViewSendDelete();
378 //RIGHT DOUBLE QUOTATION MARK378 nux::SleepForMilliseconds(100);
379 test.ViewSendCompositionKeys("\">");379
380 test.TestReportMsg(test_textentry->text_entry_->GetText() == "”", "”");380 //RIGHT DOUBLE QUOTATION MARK
381 test.ViewSendCtrlA();381 test.ViewSendCompositionKeys("\">");
382 test.ViewSendDelete();382 test.TestReportMsg(test_textentry->text_entry_->GetText() == "”", "”");
383 nux::SleepForMilliseconds(100);383 test.ViewSendCtrlA();
384384 test.ViewSendDelete();
385 //DOUBLE LOW-9 QUOTATION MARK385 nux::SleepForMilliseconds(100);
386 test.ViewSendCompositionKeys("\",");386
387 test.TestReportMsg(test_textentry->text_entry_->GetText() == "„", "„");387 //DOUBLE LOW-9 QUOTATION MARK
388 test.ViewSendCtrlA();388 test.ViewSendCompositionKeys("\",");
389 test.ViewSendDelete();389 test.TestReportMsg(test_textentry->text_entry_->GetText() == "„", "„");
390 nux::SleepForMilliseconds(100);390 test.ViewSendCtrlA();
391391 test.ViewSendDelete();
392 //PER MILLE SIGN392 nux::SleepForMilliseconds(100);
393 test.ViewSendCompositionKeys("%o");393
394 test.TestReportMsg(test_textentry->text_entry_->GetText() == "‰", "‰");394 //PER MILLE SIGN
395 test.ViewSendCtrlA();395 test.ViewSendCompositionKeys("%o");
396 test.ViewSendDelete();396 test.TestReportMsg(test_textentry->text_entry_->GetText() == "‰", "‰");
397 nux::SleepForMilliseconds(100);397 test.ViewSendCtrlA();
398398 test.ViewSendDelete();
399 //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK399 nux::SleepForMilliseconds(100);
400 test.ViewSendCompositionKeys(".>");400
401 test.TestReportMsg(test_textentry->text_entry_->GetText() == "›", "›");401 //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
402 test.ViewSendCtrlA();402 test.ViewSendCompositionKeys(".>");
403 test.ViewSendDelete();403 test.TestReportMsg(test_textentry->text_entry_->GetText() == "›", "›");
404 nux::SleepForMilliseconds(100);404 test.ViewSendCtrlA();
405405 test.ViewSendDelete();
406 //EuroSign # EURO SIGN406 nux::SleepForMilliseconds(100);
407 test.ViewSendCompositionKeys("=E");407
408 test.TestReportMsg(test_textentry->text_entry_->GetText() == "€", "€");408 //EuroSign # EURO SIGN
409 test.ViewSendCtrlA();409 test.ViewSendCompositionKeys("=E");
410 test.ViewSendDelete();410 test.TestReportMsg(test_textentry->text_entry_->GetText() == "€", "€");
411 nux::SleepForMilliseconds(100);411 test.ViewSendCtrlA();
412412 test.ViewSendDelete();
413 //REVERSED DOUBLE PRIME QUOTATION MARK413 nux::SleepForMilliseconds(100);
414 test.ViewSendCompositionKeys("\"\\");414
415 test.TestReportMsg(test_textentry->text_entry_->GetText() == "〝", "〝");415 //REVERSED DOUBLE PRIME QUOTATION MARK
416 test.ViewSendCtrlA();416 test.ViewSendCompositionKeys("\"\\");
417 test.ViewSendDelete();417 test.TestReportMsg(test_textentry->text_entry_->GetText() == "〝", "〝");
418 nux::SleepForMilliseconds(100);418 test.ViewSendCtrlA();
419 test.ViewSendDelete();
420 nux::SleepForMilliseconds(100);
421 }
422 else
423 {
424 test.WarnCompositionKeysNotSupported();
425 }
419426
420 if (test.WhenDoneTerminateProgram())427 if (test.WhenDoneTerminateProgram())
421 {428 {

Subscribers

People subscribed via source and target branches