diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-09-13 15:13:30 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-13 15:13:30 -0700 |
commit | 1fc6762e3176843ffc378c8b4f43dd73fed25ebe (patch) | |
tree | 67b1b4dfb930b3e6ee234e98c778e217aceb27f6 /tests | |
parent | ee51b2bd829447fb83c5ebdbc3f8d157355c0fdc (diff) |
emscripten_async_load_script
Diffstat (limited to 'tests')
-rw-r--r-- | tests/emscripten_api_browser2.cpp | 53 | ||||
-rw-r--r-- | tests/test_browser.py | 11 |
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/emscripten_api_browser2.cpp b/tests/emscripten_api_browser2.cpp new file mode 100644 index 00000000..569ed710 --- /dev/null +++ b/tests/emscripten_api_browser2.cpp @@ -0,0 +1,53 @@ +#include <stdio.h> +#include <string.h> +#include <assert.h> + +#include<emscripten.h> + +int value = 0; + +extern "C" { + void set(int x) { + printf("set! %d\n", x); + value = x; + } +} + +void load2() { + printf("load2\n"); + + char buffer[10]; + memset(buffer, 0, 10); + FILE *f = fopen("file1.txt", "r"); + fread(buffer, 1, 5, f); + fclose(f); + assert(strcmp(buffer, "first") == 0); + + memset(buffer, 0, 10); + f = fopen("file2.txt", "r"); + fread(buffer, 1, 6, f); + fclose(f); + assert(strcmp(buffer, "second") == 0); + + int result = 1; + REPORT_RESULT(); +} +void error2() { + printf("fail2\n"); +} + +void load1() { + printf("load1\n"); + assert(value == 456); + emscripten_async_load_script("script2.js", load2, error2); +} +void error1() { + printf("fail1\n"); +} + +int main() { + emscripten_async_load_script("script1.js", load1, error1); + + return 1; +} + diff --git a/tests/test_browser.py b/tests/test_browser.py index e6fd6544..6a23b41c 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -1230,6 +1230,17 @@ keydown(100);keyup(100); // trigger the end def test_emscripten_api(self): self.btest('emscripten_api_browser.cpp', '1', args=['-s', '''EXPORTED_FUNCTIONS=['_main', '_third']''']) + def test_emscripten_api2(self): + open('script1.js', 'w').write(''' + Module._set(456); + ''') + + open('file1.txt', 'w').write('first'); + open('file2.txt', 'w').write('second'); + Popen([PYTHON, FILE_PACKAGER, 'test.data', '--preload', 'file1.txt', 'file2.txt'], stdout=open('script2.js', 'w')).communicate() + + self.btest('emscripten_api_browser2.cpp', '1', args=['-s', '''EXPORTED_FUNCTIONS=['_main', '_set']''']) + def test_emscripten_api_infloop(self): self.btest('emscripten_api_browser_infloop.cpp', '7') |