Mercurial > irccd
comparison tests/plugin-logger/main.cpp @ 350:287e9ede5eef
Tests: unbreak some
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 14 Nov 2016 13:11:16 +0100 |
parents | f04acabfbbe5 |
children | c6fbb6e0e06d |
comparison
equal
deleted
inserted
replaced
349:56475d6c1c30 | 350:287e9ede5eef |
---|---|
22 #include <gtest/gtest.h> | 22 #include <gtest/gtest.h> |
23 | 23 |
24 #include <irccd/irccd.hpp> | 24 #include <irccd/irccd.hpp> |
25 #include <irccd/logger.hpp> | 25 #include <irccd/logger.hpp> |
26 #include <irccd/server.hpp> | 26 #include <irccd/server.hpp> |
27 #include <irccd/service-plugin.hpp> | 27 #include <irccd/service.hpp> |
28 #include <irccd/path.hpp> | |
29 | |
30 #include "plugin-tester.hpp" | |
28 | 31 |
29 using namespace irccd; | 32 using namespace irccd; |
30 | 33 |
31 class ServerTest : public Server { | 34 class ServerTest : public Server { |
32 public: | 35 public: |
34 : Server("test") | 37 : Server("test") |
35 { | 38 { |
36 } | 39 } |
37 }; | 40 }; |
38 | 41 |
39 class LoggerTest : public testing::Test { | 42 class LoggerTest : public PluginTester { |
40 protected: | 43 protected: |
41 Irccd m_irccd; | |
42 PluginService &m_ps; | |
43 | |
44 std::shared_ptr<ServerTest> m_server; | 44 std::shared_ptr<ServerTest> m_server; |
45 std::shared_ptr<Plugin> m_plugin; | 45 std::shared_ptr<Plugin> m_plugin; |
46 | 46 |
47 std::string last() const | 47 std::string last() const |
48 { | 48 { |
51 return std::string(std::istreambuf_iterator<char>(file.rdbuf()), {}); | 51 return std::string(std::istreambuf_iterator<char>(file.rdbuf()), {}); |
52 } | 52 } |
53 | 53 |
54 public: | 54 public: |
55 LoggerTest() | 55 LoggerTest() |
56 : m_ps(m_irccd.plugins()) | 56 : m_server(std::make_shared<ServerTest>()) |
57 , m_server(std::make_shared<ServerTest>()) | |
58 { | 57 { |
59 remove(BINARYDIR "/log.txt"); | 58 remove(BINARYDIR "/log.txt"); |
60 | 59 |
61 m_ps.setFormats("logger", { | 60 m_irccd.plugins().setFormats("logger", { |
62 { "cmode", "cmode=#{server}:#{channel}:#{origin}:#{nickname}:#{mode}:#{arg}" }, | 61 { "cmode", "cmode=#{server}:#{channel}:#{origin}:#{nickname}:#{mode}:#{arg}" }, |
63 { "cnotice", "cnotice=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, | 62 { "cnotice", "cnotice=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, |
64 { "join", "join=#{server}:#{channel}:#{origin}:#{nickname}" }, | 63 { "join", "join=#{server}:#{channel}:#{origin}:#{nickname}" }, |
65 { "kick", "kick=#{server}:#{channel}:#{origin}:#{nickname}:#{target}:#{reason}" }, | 64 { "kick", "kick=#{server}:#{channel}:#{origin}:#{nickname}:#{target}:#{reason}" }, |
66 { "me", "me=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, | 65 { "me", "me=#{server}:#{channel}:#{origin}:#{nickname}:#{message}" }, |
76 void load(PluginConfig config = PluginConfig()) | 75 void load(PluginConfig config = PluginConfig()) |
77 { | 76 { |
78 if (config.count("path") == 0) | 77 if (config.count("path") == 0) |
79 config.emplace("path", BINARYDIR "/log.txt"); | 78 config.emplace("path", BINARYDIR "/log.txt"); |
80 | 79 |
81 m_ps.setConfig("logger", config); | 80 m_irccd.plugins().setConfig("logger", config); |
82 m_ps.load("logger", PLUGINDIR "/logger.js"); | 81 m_irccd.plugins().load("logger", PLUGINDIR "/logger.js"); |
83 m_plugin = m_ps.require("logger"); | 82 m_plugin = m_irccd.plugins().require("logger"); |
84 } | 83 } |
85 }; | 84 }; |
86 | 85 |
87 TEST_F(LoggerTest, formatChannelMode) | 86 TEST_F(LoggerTest, formatChannelMode) |
88 { | 87 { |