From 439612cf923b70e87b4c4e739b90ec1df23ddda3 Mon Sep 17 00:00:00 2001 From: Jukka Jylänki Date: Wed, 30 Apr 2014 12:30:26 +0300 Subject: Add unit test for FS.trackingDelegate operation. --- tests/fs/test_trackingdelegate.c | 39 ++++++++++++++++++++++++++++++++++++++ tests/fs/test_trackingdelegate.out | 9 +++++++++ tests/test_core.py | 5 +++++ 3 files changed, 53 insertions(+) create mode 100644 tests/fs/test_trackingdelegate.c create mode 100644 tests/fs/test_trackingdelegate.out diff --git a/tests/fs/test_trackingdelegate.c b/tests/fs/test_trackingdelegate.c new file mode 100644 index 00000000..6cdece72 --- /dev/null +++ b/tests/fs/test_trackingdelegate.c @@ -0,0 +1,39 @@ +#include +#include +#include + +int main() { + + EM_ASM( + FS.trackingDelegate['willMovePath'] = function(oldpath, newpath) { + Module.print('About to move "' + oldpath + '" to "' + newpath + '"'); + }; + FS.trackingDelegate['onMovePath'] = function(oldpath, newpath) { + Module.print('Moved "' + oldpath + '" to "' + newpath + '"'); + }; + FS.trackingDelegate['willDeletePath'] = function(path) { + Module.print('About to delete "' + path + '"'); + }; + FS.trackingDelegate['onDeletePath'] = function(path) { + Module.print('Deleted "' + path + '"'); + }; + FS.trackingDelegate['onOpenFile'] = function(path, flags) { + Module.print('Opened "' + path + '" with flags ' + flags); + }; + FS.trackingDelegate['onWriteToFile'] = function(path) { + Module.print('Wrote to file "' + path + '"'); + }; + ); + + FILE *file; + file = fopen("/file.txt", "w"); + fputs("hello!", file); + fclose(file); + rename("/file.txt", "/renamed.txt"); + file = fopen("/renamed.txt", "r"); + char str[256] = {}; + fgets(str, 255, file); + printf("File read returned '%s'\n", str); + fclose(file); + remove("/renamed.txt"); +} diff --git a/tests/fs/test_trackingdelegate.out b/tests/fs/test_trackingdelegate.out new file mode 100644 index 00000000..b3c941c2 --- /dev/null +++ b/tests/fs/test_trackingdelegate.out @@ -0,0 +1,9 @@ +Opened "/file.txt" with flags 2 +Wrote to file "/file.txt" +About to move "/file.txt" to "/renamed.txt" +Moved "/file.txt" to "/renamed.txt" +Opened "/renamed.txt" with flags 1 +File read returned 'hello!' +Wrote to file "/dev/tty" +About to delete "/renamed.txt" +Deleted "/renamed.txt" diff --git a/tests/test_core.py b/tests/test_core.py index d25a61be..c9784ec9 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -4252,6 +4252,11 @@ def process(filename): src = open(path_from_root('tests', 'fs', 'test_nodefs_rw.c'), 'r').read() self.do_run(src, 'success', force_c=True, js_engines=[NODE_JS]) + def test_fs_trackingdelegate(self): + src = path_from_root('tests', 'fs', 'test_trackingdelegate.c') + out = path_from_root('tests', 'fs', 'test_trackingdelegate.out') + self.do_run_from_file(src, out) + def test_unistd_access(self): self.clear() if not self.is_emscripten_abi(): return self.skip('asmjs-unknown-emscripten needed for inline js') -- cgit v1.2.3-18-g5258