Mercurial > irccd
comparison tests/js-system/main.cpp @ 179:ef527409e638
Irccd: update JavaScript code
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 31 May 2016 21:03:01 +0200 |
parents | a02756832959 |
children | cb61cc16e2b6 |
comparison
equal
deleted
inserted
replaced
178:084081b24024 | 179:ef527409e638 |
---|---|
21 #include <irccd/irccd.hpp> | 21 #include <irccd/irccd.hpp> |
22 #include <irccd/mod-irccd.hpp> | 22 #include <irccd/mod-irccd.hpp> |
23 #include <irccd/mod-system.hpp> | 23 #include <irccd/mod-system.hpp> |
24 #include <irccd/plugin-js.hpp> | 24 #include <irccd/plugin-js.hpp> |
25 #include <irccd/service-module.hpp> | 25 #include <irccd/service-module.hpp> |
26 #include <irccd/sysconfig.hpp> | |
26 #include <irccd/system.hpp> | 27 #include <irccd/system.hpp> |
27 | 28 |
28 using namespace irccd; | 29 using namespace irccd; |
29 | 30 |
30 class TestJsSystem : public testing::Test { | 31 class TestJsSystem : public testing::Test { |
34 | 35 |
35 TestJsSystem() | 36 TestJsSystem() |
36 : m_plugin(std::make_shared<JsPlugin>("empty", SOURCEDIR "/empty.js")) | 37 : m_plugin(std::make_shared<JsPlugin>("empty", SOURCEDIR "/empty.js")) |
37 { | 38 { |
38 m_irccd.moduleService().get("Irccd")->load(m_irccd, *m_plugin); | 39 m_irccd.moduleService().get("Irccd")->load(m_irccd, *m_plugin); |
40 m_irccd.moduleService().get("Irccd.File")->load(m_irccd, *m_plugin); | |
39 m_irccd.moduleService().get("Irccd.System")->load(m_irccd, *m_plugin); | 41 m_irccd.moduleService().get("Irccd.System")->load(m_irccd, *m_plugin); |
40 } | 42 } |
41 }; | 43 }; |
42 | 44 |
43 TEST_F(TestJsSystem, home) | 45 TEST_F(TestJsSystem, home) |
49 } catch (const std::exception &ex) { | 51 } catch (const std::exception &ex) { |
50 FAIL() << ex.what(); | 52 FAIL() << ex.what(); |
51 } | 53 } |
52 } | 54 } |
53 | 55 |
56 #if defined(HAVE_POPEN) | |
57 | |
58 TEST_F(TestJsSystem, popen) | |
59 { | |
60 try { | |
61 auto ret = duk::pevalString(m_plugin->context(), | |
62 "f = Irccd.System.popen(\"" IRCCD_EXECUTABLE " --version\", \"r\");" | |
63 "r = f.readline();" | |
64 ); | |
65 | |
66 if (ret != 0) | |
67 throw duk::exception(m_plugin->context(), -1); | |
68 | |
69 ASSERT_EQ(IRCCD_VERSION, duk::getGlobal<std::string>(m_plugin->context(), "r")); | |
70 } catch (const std::exception &ex) { | |
71 FAIL() << ex.what(); | |
72 } | |
73 } | |
74 | |
75 #endif | |
76 | |
54 int main(int argc, char **argv) | 77 int main(int argc, char **argv) |
55 { | 78 { |
56 testing::InitGoogleTest(&argc, argv); | 79 testing::InitGoogleTest(&argc, argv); |
57 | 80 |
58 return RUN_ALL_TESTS(); | 81 return RUN_ALL_TESTS(); |