- added test for FS.syncfs functionality
This commit is contained in:
Родитель
9eaadf56f5
Коммит
67f4aab994
|
@ -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('''
|
||||
|
|
Загрузка…
Ссылка в новой задаче