aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAnthony Pesch <inolen@gmail.com>2013-09-26 22:40:04 -0700
committerAnthony Pesch <inolen@gmail.com>2013-09-29 01:50:14 -0700
commit67f4aab994dc04230d96eb0fed7f8bce57f2f188 (patch)
tree51524e585f3d988a64648e3a66f2e56f389eb261 /tests
parent9eaadf56f58b35376469e9a89373632fd34cf08c (diff)
- added test for FS.syncfs functionality
Diffstat (limited to 'tests')
-rw-r--r--tests/fs/test_idbfs_sync.c48
-rw-r--r--tests/test_browser.py5
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('''