aboutsummaryrefslogtreecommitdiff
path: root/tests/file_db.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-27 18:23:35 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-08-27 18:23:35 -0700
commit1b134c883a0708f25a90a31903be3a2006a27ed4 (patch)
treecae6030cf76c1d01e6fe6f162d1b4ecc3cc66def /tests/file_db.cpp
parent3b2b7341aad1fb098b4a90a88ee8ee271b61e39a (diff)
FS.loadFilesFromDB|saveFilesToDB
Diffstat (limited to 'tests/file_db.cpp')
-rw-r--r--tests/file_db.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/file_db.cpp b/tests/file_db.cpp
new file mode 100644
index 00000000..ebb3bb30
--- /dev/null
+++ b/tests/file_db.cpp
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <emscripten.h>
+
+void later(void *) {}
+
+int main() {
+#if FIRST
+ FILE *f = fopen("waka.txt", "w");
+ fputc('a', f);
+ fputc('z', f);
+ fclose(f);
+
+ EM_ASM(
+ FS.saveFilesToDB(['waka.txt', 'moar.txt'], function() {
+ Module.print('save ok');
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', 'http://localhost:8888/report_result?1');
+ xhr.send();
+ setTimeout(function() { window.close() }, 1000);
+ }, function(e) {
+ abort('saving should succeed ' + e);
+ });
+ );
+#else
+ EM_ASM(
+ FS.loadFilesFromDB(['waka.txt', 'moar.txt'], function() {
+ function stringy(arr) {
+ return Array.prototype.map.call(arr, function(x) { return String.fromCharCode(x) }).join('');
+ }
+ assert(stringy(FS.analyzePath('waka.txt').object.contents) == 'az');
+ var secret = stringy(FS.analyzePath('moar.txt').object.contents);
+ Module.print('load: ' + secret);
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', 'http://localhost:8888/report_result?' + secret);
+ xhr.send();
+ setTimeout(function() { window.close() }, 1000);
+ }, function() {
+ abort('loading should succeed');
+ });
+ );
+#endif
+
+ emscripten_async_call(later, NULL, 100); // keep runtime alive
+
+ return 0;
+}
+