diff options
author | Anthony Pesch <inolen@gmail.com> | 2013-09-26 22:40:04 -0700 |
---|---|---|
committer | Anthony Pesch <inolen@gmail.com> | 2013-09-29 01:50:14 -0700 |
commit | 67f4aab994dc04230d96eb0fed7f8bce57f2f188 (patch) | |
tree | 51524e585f3d988a64648e3a66f2e56f389eb261 /tests | |
parent | 9eaadf56f58b35376469e9a89373632fd34cf08c (diff) |
- added test for FS.syncfs functionality
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fs/test_idbfs_sync.c | 48 | ||||
-rw-r--r-- | tests/test_browser.py | 5 |
2 files changed, 53 insertions, 0 deletions
diff --git a/tests/fs/test_idbfs_sync.c b/tests/fs/test_idbfs_sync.c new file mode 100644 index 00000000..ff356416 --- /dev/null +++ b/tests/fs/test_idbfs_sync.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <emscripten.h> + +#define EM_ASM_REEXPAND(x) EM_ASM(x) + +void success() { + int result = 1; + REPORT_RESULT(); +} + +int main() { + EM_ASM( + FS.mkdir('/working'); + FS.mount(IDBFS, {}, '/working'); + ); + +#if FIRST + // store local files to backing IDB + EM_ASM_REEXPAND( + FS.writeFile('/working/waka.txt', 'az'); + FS.writeFile('/working/moar.txt', SECRET); + FS.syncfs(function (err) { + assert(!err); + + ccall('success', 'v', '', []); + }); + ); +#else + // load files from backing IDB + EM_ASM_REEXPAND( + FS.syncfs(true, function (err) { + assert(!err); + + var contents = FS.readFile('/working/waka.txt', { encoding: 'utf8' }); + assert(contents === 'az'); + + var secret = FS.readFile('/working/moar.txt', { encoding: 'utf8' }); + assert(secret === SECRET); + + ccall('success', 'v', '', []); + }); + ); +#endif + + emscripten_exit_with_live_runtime(); + + return 0; +} diff --git a/tests/test_browser.py b/tests/test_browser.py index d50488ec..799759a1 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -880,6 +880,11 @@ keydown(100);keyup(100); // trigger the end self.btest('file_db.cpp', secret, args=['--preload-file', 'moar.txt']) # even with a file there, we load over it shutil.move('test.html', 'third.html') + def test_fs_idbfs_sync(self): + secret = str(time.time()) + self.btest(path_from_root('tests', 'fs', 'test_idbfs_sync.c'), '1', force_c=True, args=['-DFIRST', '-DSECRET=\'' + secret + '\'', '-s', '''EXPORTED_FUNCTIONS=['_main', '_success']''']) + self.btest(path_from_root('tests', 'fs', 'test_idbfs_sync.c'), '1', force_c=True, args=['-DSECRET=\'' + secret + '\'', '-s', '''EXPORTED_FUNCTIONS=['_main', '_success']''']) + def test_sdl_pumpevents(self): # key events should be detected using SDL_PumpEvents open(os.path.join(self.get_dir(), 'pre.js'), 'w').write(''' |