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/fs/test_idbfs_sync.c | |
parent | 9eaadf56f58b35376469e9a89373632fd34cf08c (diff) |
- added test for FS.syncfs functionality
Diffstat (limited to 'tests/fs/test_idbfs_sync.c')
-rw-r--r-- | tests/fs/test_idbfs_sync.c | 48 |
1 files changed, 48 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; +} |