diff options
author | Aleksander Guryanov <caiiiycuk@gmail.com> | 2012-06-20 22:20:04 +0700 |
---|---|---|
committer | Aleksander Guryanov <caiiiycuk@gmail.com> | 2012-06-21 20:38:01 +0700 |
commit | 2c86cbf25bead7607256ef9bb8f36bfe07047cee (patch) | |
tree | 98f4ea7699d6d7474dd80b4ab4037e8ff5dd3a96 /tests/emscripten_fs_api_browser.cpp | |
parent | 6d34633796954f2edb225c66e62ab5a188d59bb0 (diff) |
Implementation for emscripten_async_wget
Diffstat (limited to 'tests/emscripten_fs_api_browser.cpp')
-rw-r--r-- | tests/emscripten_fs_api_browser.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/emscripten_fs_api_browser.cpp b/tests/emscripten_fs_api_browser.cpp new file mode 100644 index 00000000..07469f34 --- /dev/null +++ b/tests/emscripten_fs_api_browser.cpp @@ -0,0 +1,69 @@ +#include<stdio.h> +#include<emscripten.h> +#include<assert.h> +#include <string.h> + +extern "C" { + +int result = 1; +int get_count = 0; + +void wait_wgets() { + if (get_count == 2) { + emscripten_cancel_main_loop(); + REPORT_RESULT(); + } +} + +void onLoaded(const char* file) { + if (strcmp(file, "/tmp/test.html")) { + result = 0; + } + + printf("loaded: %s\n", file); + + if (FILE * f = fopen(file, "r")) { + printf("exists: %s\n", file); + int c = fgetc (f); + if (c == EOF) { + printf("file empty: %s\n", file); + result = 0; + } + fclose(f); + } else { + result = 0; + printf("!exists: %s\n", file); + } + + get_count++; +} + +void onError(const char* file) { + if (strcmp(file, "/tmp/null")) { + result = 0; + } + + printf("error: %s\n", file); + get_count++; +} + +int main() { + emscripten_async_wget( + "http://localhost:8888/this_is_not_a_file", + "/tmp/null", + onLoaded, + onError); + + emscripten_async_wget( + "http://localhost:8888/test.html", + "/tmp/test.html", + onLoaded, + onError); + + emscripten_set_main_loop(wait_wgets, 0); + + return 0; +} + +} + |