diff tests/js-file/main.cpp @ 566:bf56628e070b

Irccd: import new Duktape helpers
author David Demelier <markand@malikania.fr>
date Mon, 27 Nov 2017 15:03:38 +0100
parents 194162717ec9
children
line wrap: on
line diff
--- a/tests/js-file/main.cpp	Mon Nov 27 10:16:45 2017 +0100
+++ b/tests/js-file/main.cpp	Mon Nov 27 15:03:38 2017 +0100
@@ -27,30 +27,12 @@
 
 namespace irccd {
 
-namespace {
-
-std::vector<std::string> array(duk_context* ctx, int index)
-{
-    std::vector<std::string> result;
-    std::size_t length = duk_get_length(ctx, index);
-
-    for (std::size_t i = 0U; i < length; ++i) {
-        duk_get_prop_index(ctx, -1, i);
-        result.push_back(dukx_get_string(ctx, -1));
-        duk_pop(ctx);
-    }
-
-    return result;
-}
-
-} // !namespace
-
 BOOST_FIXTURE_TEST_SUITE(file_jsapi_suite, js_test<file_jsapi>)
 
 BOOST_AUTO_TEST_CASE(function_basename)
 {
     if (duk_peval_string(plugin_->context(), "result = Irccd.File.basename('/usr/local/etc/irccd.conf');"))
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("irccd.conf" == duk_get_string(plugin_->context(), -1));
@@ -59,7 +41,7 @@
 BOOST_AUTO_TEST_CASE(function_dirname)
 {
     if (duk_peval_string(plugin_->context(), "result = Irccd.File.dirname('/usr/local/etc/irccd.conf');"))
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("/usr/local/etc" == duk_get_string(plugin_->context(), -1));
@@ -69,7 +51,7 @@
 BOOST_AUTO_TEST_CASE(function_exists)
 {
     if (duk_peval_string(plugin_->context(), "result = Irccd.File.exists(CMAKE_SOURCE_DIR + '/tests/root/file-1.txt')"))
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(duk_get_boolean(plugin_->context(), -1));
@@ -78,7 +60,7 @@
 BOOST_AUTO_TEST_CASE(function_exists2)
 {
     if (duk_peval_string(plugin_->context(), "result = Irccd.File.exists('file_which_does_not_exist.txt')"))
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(!duk_get_boolean(plugin_->context(), -1));
@@ -90,7 +72,7 @@
     std::ofstream("test-js-fs.remove");
 
     if (duk_peval_string(plugin_->context(), "Irccd.File.remove('test-js-fs.remove');") != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     std::ifstream in("test-js-fs.remove");
 
@@ -105,7 +87,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("file-1.txt" == duk_get_string(plugin_->context(), -1));
@@ -120,7 +102,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("file-1.txt" == duk_get_string(plugin_->context(), -1));
@@ -134,7 +116,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(CMAKE_SOURCE_DIR "/tests/root" == duk_get_string(plugin_->context(), -1));
@@ -149,7 +131,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(CMAKE_SOURCE_DIR "/tests/root" == duk_get_string(plugin_->context(), -1));
@@ -162,12 +144,12 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     std::vector<std::string> expected{"a", "b", "c"};
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
-    BOOST_TEST(expected == array(plugin_->context(), -1));
+    BOOST_TEST(expected == dukx_get_array<std::vector<std::string>>(plugin_->context(), -1));
 }
 
 BOOST_AUTO_TEST_CASE(method_seek1)
@@ -179,10 +161,10 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
-    BOOST_TEST(".", dukx_get_string(plugin_->context(), -1));
+    BOOST_TEST(".", dukx_get<std::string>(plugin_->context(), -1));
 }
 
 BOOST_AUTO_TEST_CASE(method_seek1_closed)
@@ -196,7 +178,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(duk_get_boolean(plugin_->context(), -1));
@@ -212,10 +194,10 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
-    BOOST_TEST("." == dukx_get_string(plugin_->context(), -1));
+    BOOST_TEST("." == dukx_get<std::string>(plugin_->context(), -1));
 }
 
 BOOST_AUTO_TEST_CASE(method_seek2c_losed)
@@ -230,7 +212,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(duk_get_boolean(plugin_->context(), -1));
@@ -245,7 +227,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("t" == duk_get_string(plugin_->context(), -1));
@@ -262,7 +244,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST(duk_get_boolean(plugin_->context(), -1));
@@ -276,7 +258,7 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
     BOOST_TEST("file-1.txt\n" == duk_get_string(plugin_->context(), -1));
@@ -293,12 +275,12 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     std::vector<std::string> expected{"a", "b", "c"};
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
-    BOOST_TEST(expected == array(plugin_->context(), -1));
+    BOOST_TEST(expected == dukx_get_array<std::vector<std::string>>(plugin_->context(), -1));
 }
 
 BOOST_AUTO_TEST_CASE(method_readline_closed)
@@ -313,12 +295,12 @@
     );
 
     if (ret != 0)
-        throw dukx_get_exception(plugin_->context(), -1);
+        throw dukx_stack(plugin_->context(), -1);
 
     std::vector<std::string> expected;
 
     BOOST_TEST(duk_get_global_string(plugin_->context(), "result"));
-    BOOST_TEST(expected == array(plugin_->context(), -1));
+    BOOST_TEST(expected == dukx_get_array<std::vector<std::string>>(plugin_->context(), -1));
 }
 
 BOOST_AUTO_TEST_SUITE_END()