Mercurial > irccd
diff tests/test-jsapi-file.c @ 965:a518664b20a0
irccd: move javascript API from library to frontend
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 29 Jan 2021 15:03:23 +0100 |
parents | 371e1cc2c697 |
children | 6da542806ed3 |
line wrap: on
line diff
--- a/tests/test-jsapi-file.c Fri Jan 29 13:50:44 2021 +0100 +++ b/tests/test-jsapi-file.c Fri Jan 29 15:03:23 2021 +0100 @@ -26,21 +26,21 @@ #include <irccd/plugin.h> static struct irc_plugin *plugin; -static struct irc_js_plugin_data *data; +static duk_context *ctx; static void setup(void *udata) { (void)udata; - plugin = irc_js_plugin_open(SOURCE "/data/example-plugin.js"); - data = plugin->data; + plugin = js_plugin_open(SOURCE "/data/example-plugin.js"); + ctx = js_plugin_get_context(plugin); - duk_push_string(data->ctx, SOURCE); - duk_put_global_string(data->ctx, "SOURCE"); + duk_push_string(ctx, SOURCE); + duk_put_global_string(ctx, "SOURCE"); - duk_push_string(data->ctx, BINARY); - duk_put_global_string(data->ctx, "BINARY"); + duk_push_string(ctx, BINARY); + duk_put_global_string(ctx, "BINARY"); } static void @@ -51,17 +51,17 @@ irc_plugin_finish(plugin); plugin = NULL; - data = NULL; + ctx = NULL; } GREATEST_TEST free_basename(void) { - if (duk_peval_string(data->ctx, "result = Irccd.File.basename('/usr/local/etc/irccd.conf');")) + if (duk_peval_string(ctx, "result = Irccd.File.basename('/usr/local/etc/irccd.conf');")) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("irccd.conf", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("irccd.conf", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -69,11 +69,11 @@ GREATEST_TEST free_dirname(void) { - if (duk_peval_string(data->ctx, "result = Irccd.File.dirname('/usr/local/etc/irccd.conf');")) + if (duk_peval_string(ctx, "result = Irccd.File.dirname('/usr/local/etc/irccd.conf');")) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("/usr/local/etc", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("/usr/local/etc", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -81,11 +81,11 @@ GREATEST_TEST free_exists(void) { - if (duk_peval_string(data->ctx, "result = Irccd.File.exists(SOURCE + '/data/root/file-1.txt')")) + if (duk_peval_string(ctx, "result = Irccd.File.exists(SOURCE + '/data/root/file-1.txt')")) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT(duk_get_boolean(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT(duk_get_boolean(ctx, -1)); GREATEST_PASS(); } @@ -93,11 +93,11 @@ GREATEST_TEST free_exists2(void) { - if (duk_peval_string(data->ctx, "result = Irccd.File.exists('file_which_does_not_exist.txt')")) + if (duk_peval_string(ctx, "result = Irccd.File.exists('file_which_does_not_exist.txt')")) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT(!duk_get_boolean(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT(!duk_get_boolean(ctx, -1)); GREATEST_PASS(); } @@ -113,7 +113,7 @@ fclose(fp); - if (duk_peval_string(data->ctx, "Irccd.File.remove(BINARY + '/test.bin')") != 0) + if (duk_peval_string(ctx, "Irccd.File.remove(BINARY + '/test.bin')") != 0) GREATEST_FAIL(); GREATEST_ASSERT(stat(BINARY "/test.bin", &st) < 0); @@ -135,7 +135,7 @@ GREATEST_TEST object_basename(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "result = f.basename();" ); @@ -143,8 +143,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("file-1.txt", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("file-1.txt", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -152,7 +152,7 @@ GREATEST_TEST object_basename_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "f.close();" "result = f.basename();" @@ -161,8 +161,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("file-1.txt", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("file-1.txt", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -170,7 +170,7 @@ GREATEST_TEST object_dirname(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "result = f.dirname();" ); @@ -178,8 +178,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ(SOURCE "/data/root", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ(SOURCE "/data/root", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -187,7 +187,7 @@ GREATEST_TEST object_dirname_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "f.close();" "result = f.dirname();" @@ -196,8 +196,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ(SOURCE "/data/root", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ(SOURCE "/data/root", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -205,21 +205,21 @@ GREATEST_TEST object_lines(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "result = new Irccd.File(SOURCE + '/data/root/lines.txt', 'r').lines();" ); if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_EQ(3, duk_get_length(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -1, 0)); - GREATEST_ASSERT_STR_EQ("a", duk_get_string(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -2, 1)); - GREATEST_ASSERT_STR_EQ("b", duk_get_string(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -3, 2)); - GREATEST_ASSERT_STR_EQ("c", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_EQ(3, duk_get_length(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -1, 0)); + GREATEST_ASSERT_STR_EQ("a", duk_get_string(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -2, 1)); + GREATEST_ASSERT_STR_EQ("b", duk_get_string(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -3, 2)); + GREATEST_ASSERT_STR_EQ("c", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -227,7 +227,7 @@ GREATEST_TEST object_lines_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "try {" " f = new Irccd.File(SOURCE + '/data/root/lines.txt', 'r');" " f.close();" @@ -240,8 +240,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "name")); - GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "name")); + GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -249,7 +249,7 @@ GREATEST_TEST object_seek1(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "f.seek(Irccd.File.SeekSet, 6);" "result = f.read(1);" @@ -258,8 +258,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ(".", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ(".", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -267,7 +267,7 @@ GREATEST_TEST object_seek2(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "f.seek(Irccd.File.SeekSet, 2);" "f.seek(Irccd.File.SeekCur, 4);" @@ -277,8 +277,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ(".", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ(".", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -286,7 +286,7 @@ GREATEST_TEST object_seek3(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "f.seek(Irccd.File.SeekEnd, -2);" "result = f.read(1);" @@ -295,8 +295,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("t", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("t", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -304,7 +304,7 @@ GREATEST_TEST object_seek_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "try {" " f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" " f.close();" @@ -317,8 +317,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "name")); - GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "name")); + GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -326,7 +326,7 @@ GREATEST_TEST object_read(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" "result = f.read();" ); @@ -334,8 +334,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_STR_EQ("file-1.txt\n", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_STR_EQ("file-1.txt\n", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -343,7 +343,7 @@ GREATEST_TEST object_read_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "try {" " f = new Irccd.File(SOURCE + '/data/root/file-1.txt', 'r');" " f.close();" @@ -356,8 +356,8 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "name")); - GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "name")); + GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -365,7 +365,7 @@ GREATEST_TEST object_readline(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "result = [];" "f = new Irccd.File(SOURCE + '/data/root/lines.txt', 'r');" "for (var s; s = f.readline(); ) {" @@ -374,18 +374,18 @@ ); if (ret != 0) { - puts(duk_to_string(data->ctx, -1)); + puts(duk_to_string(ctx, -1)); GREATEST_FAIL(); } - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_EQ(3, duk_get_length(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -1, 0)); - GREATEST_ASSERT_STR_EQ("a", duk_get_string(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -2, 1)); - GREATEST_ASSERT_STR_EQ("b", duk_get_string(data->ctx, -1)); - GREATEST_ASSERT(duk_get_prop_index(data->ctx, -3, 2)); - GREATEST_ASSERT_STR_EQ("c", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_EQ(3, duk_get_length(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -1, 0)); + GREATEST_ASSERT_STR_EQ("a", duk_get_string(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -2, 1)); + GREATEST_ASSERT_STR_EQ("b", duk_get_string(ctx, -1)); + GREATEST_ASSERT(duk_get_prop_index(ctx, -3, 2)); + GREATEST_ASSERT_STR_EQ("c", duk_get_string(ctx, -1)); GREATEST_PASS(); } @@ -393,7 +393,7 @@ GREATEST_TEST object_readline_closed(void) { - const int ret = duk_peval_string(data->ctx, + const int ret = duk_peval_string(ctx, "try {" " result = [];" " f = new Irccd.File(SOURCE + '/data/root/lines.txt', 'r');" @@ -410,10 +410,10 @@ if (ret != 0) GREATEST_FAIL(); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "result")); - GREATEST_ASSERT_EQ(0, duk_get_length(data->ctx, -1)); - GREATEST_ASSERT(duk_get_global_string(data->ctx, "name")); - GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(data->ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "result")); + GREATEST_ASSERT_EQ(0, duk_get_length(ctx, -1)); + GREATEST_ASSERT(duk_get_global_string(ctx, "name")); + GREATEST_ASSERT_STR_EQ("SystemError", duk_get_string(ctx, -1)); GREATEST_PASS(); }