- added test for FS.syncfs functionality

This commit is contained in:
Anthony Pesch 2013-09-26 22:40:04 -07:00
Родитель 9eaadf56f5
Коммит 67f4aab994
2 изменённых файлов: 53 добавлений и 0 удалений

Просмотреть файл

@ -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;
}

Просмотреть файл

@ -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('''