aboutsummaryrefslogtreecommitdiff
path: root/tests/sdl_text.c
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-03-05 14:02:26 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-03-05 14:02:26 -0800
commitf25b794a26c6870318ffe6103113ee50521e728d (patch)
tree371b107934c84373dd587747e17fcaafc9f0bf11 /tests/sdl_text.c
parent230c0e80dfcd44870bec3254c399db430f6e1d98 (diff)
parent38278a6448b7ae7201643cd81047faf263d2385c (diff)
Merge branch 'incoming'
Diffstat (limited to 'tests/sdl_text.c')
-rw-r--r--tests/sdl_text.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/sdl_text.c b/tests/sdl_text.c
new file mode 100644
index 00000000..6bcb0d61
--- /dev/null
+++ b/tests/sdl_text.c
@@ -0,0 +1,40 @@
+#include <SDL/SDL.h>
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+#include <emscripten.h>
+
+int result = 0;
+
+void one() {
+ SDL_Event event;
+ while (SDL_PollEvent(&event)) {
+ switch (event.type) {
+ case SDL_TEXTEDITING: assert(0); break;
+ case SDL_TEXTINPUT:
+ printf("Received %s\n", event.text.text);
+ if (!strcmp("a", event.text.text)) {
+ result = 1;
+ } else if (!strcmp("A", event.text.text)) {
+ REPORT_RESULT();
+ emscripten_run_script("throw 'done'");
+ }
+ break;
+ default: /* Report an unhandled event */
+ printf("I don't know what this event is!\n");
+ }
+ }
+}
+
+int main() {
+ SDL_Init(SDL_INIT_VIDEO);
+ SDL_SetVideoMode(600, 450, 32, SDL_HWSURFACE);
+ SDL_StartTextInput();
+
+ emscripten_run_script("simulateKeyEvent('a'.charCodeAt(0))"); // a
+ emscripten_run_script("simulateKeyEvent('A'.charCodeAt(0))"); // A
+
+ one();
+
+ return 0;
+}