Mercurial > irccd
comparison tests/command/main.cpp @ 207:6635b9187d71
Irccd: switch to 4 spaces indent, #518
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 21 Jun 2016 20:52:17 +0200 |
parents | 751ac58d7747 |
children | 5ff2bac1c7d8 |
comparison
equal
deleted
inserted
replaced
206:11808e98218f | 207:6635b9187d71 |
---|---|
22 | 22 |
23 using namespace irccd; | 23 using namespace irccd; |
24 | 24 |
25 class MyCommand : public Command { | 25 class MyCommand : public Command { |
26 public: | 26 public: |
27 MyCommand() | 27 MyCommand() |
28 : Command("test", "Test") | 28 : Command("test", "Test") |
29 { | 29 { |
30 } | 30 } |
31 | 31 |
32 std::string help() const override | 32 std::string help() const override |
33 { | 33 { |
34 return "This is a super command"; | 34 return "This is a super command"; |
35 } | 35 } |
36 | 36 |
37 std::vector<Property> properties() const | 37 std::vector<Property> properties() const |
38 { | 38 { |
39 return { | 39 return { |
40 { "b", { json::Type::Boolean } }, | 40 { "b", { json::Type::Boolean }}, |
41 { "i", { json::Type::Int } }, | 41 { "i", { json::Type::Int }}, |
42 { "m", { json::Type::Boolean, json::Type::Int, json::Type::String } } | 42 { "m", { json::Type::Boolean, json::Type::Int, json::Type::String }} |
43 }; | 43 }; |
44 } | 44 } |
45 }; | 45 }; |
46 | 46 |
47 TEST(Properties, valid) | 47 TEST(Properties, valid) |
48 { | 48 { |
49 Irccd *irccd = nullptr; | 49 Irccd *irccd = nullptr; |
50 MyCommand cmd; | 50 MyCommand cmd; |
51 | 51 |
52 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ | 52 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ |
53 { "b", true }, | 53 { "b", true }, |
54 { "i", 123 }, | 54 { "i", 123 }, |
55 { "m", "abc" } | 55 { "m", "abc" } |
56 }))); | 56 }))); |
57 | 57 |
58 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ | 58 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ |
59 { "b", true }, | 59 { "b", true }, |
60 { "i", 123 }, | 60 { "i", 123 }, |
61 { "m", 456 } | 61 { "m", 456 } |
62 }))); | 62 }))); |
63 | 63 |
64 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ | 64 ASSERT_NO_THROW(cmd.exec(*irccd, json::object({ |
65 { "b", true }, | 65 { "b", true }, |
66 { "i", 123 }, | 66 { "i", 123 }, |
67 { "m", "456" } | 67 { "m", "456" } |
68 }))); | 68 }))); |
69 } | 69 } |
70 | 70 |
71 TEST(Properties, missingB) | 71 TEST(Properties, missingB) |
72 { | 72 { |
73 Irccd *irccd = nullptr; | 73 Irccd *irccd = nullptr; |
74 MyCommand cmd; | 74 MyCommand cmd; |
75 | 75 |
76 ASSERT_THROW(cmd.exec(*irccd, json::object({ | 76 ASSERT_THROW(cmd.exec(*irccd, json::object({ |
77 { "i", 123 }, | 77 { "i", 123 }, |
78 { "m", "abc" } | 78 { "m", "abc" } |
79 })), std::invalid_argument); | 79 })), std::invalid_argument); |
80 } | 80 } |
81 | 81 |
82 TEST(Properties, missingI) | 82 TEST(Properties, missingI) |
83 { | 83 { |
84 Irccd *irccd = nullptr; | 84 Irccd *irccd = nullptr; |
85 MyCommand cmd; | 85 MyCommand cmd; |
86 | 86 |
87 ASSERT_THROW(cmd.exec(*irccd, json::object({ | 87 ASSERT_THROW(cmd.exec(*irccd, json::object({ |
88 { "b", true }, | 88 { "b", true }, |
89 { "m", "abc" } | 89 { "m", "abc" } |
90 })), std::invalid_argument); | 90 })), std::invalid_argument); |
91 } | 91 } |
92 | 92 |
93 TEST(Properties, missingM) | 93 TEST(Properties, missingM) |
94 { | 94 { |
95 Irccd *irccd = nullptr; | 95 Irccd *irccd = nullptr; |
96 MyCommand cmd; | 96 MyCommand cmd; |
97 | 97 |
98 ASSERT_THROW(cmd.exec(*irccd, json::object({ | 98 ASSERT_THROW(cmd.exec(*irccd, json::object({ |
99 { "b", true }, | 99 { "b", true }, |
100 { "i", 123 }, | 100 { "i", 123 }, |
101 })), std::invalid_argument); | 101 })), std::invalid_argument); |
102 } | 102 } |
103 | 103 |
104 TEST(Properties, invalidB) | 104 TEST(Properties, invalidB) |
105 { | 105 { |
106 Irccd *irccd = nullptr; | 106 Irccd *irccd = nullptr; |
107 MyCommand cmd; | 107 MyCommand cmd; |
108 | 108 |
109 ASSERT_THROW(cmd.exec(*irccd, json::object({ | 109 ASSERT_THROW(cmd.exec(*irccd, json::object({ |
110 { "b", "fail" }, | 110 { "b", "fail" }, |
111 { "i", 123 }, | 111 { "i", 123 }, |
112 { "m", "abc" } | 112 { "m", "abc" } |
113 })), std::invalid_argument); | 113 })), std::invalid_argument); |
114 } | 114 } |
115 | 115 |
116 TEST(Properties, invalidM) | 116 TEST(Properties, invalidM) |
117 { | 117 { |
118 Irccd *irccd = nullptr; | 118 Irccd *irccd = nullptr; |
119 MyCommand cmd; | 119 MyCommand cmd; |
120 | 120 |
121 ASSERT_THROW(cmd.exec(*irccd, json::object({ | 121 ASSERT_THROW(cmd.exec(*irccd, json::object({ |
122 { "b", "fail" }, | 122 { "b", "fail" }, |
123 { "i", 123 }, | 123 { "i", 123 }, |
124 { "m", nullptr } | 124 { "m", nullptr } |
125 })), std::invalid_argument); | 125 })), std::invalid_argument); |
126 } | 126 } |
127 | 127 |
128 int main(int argc, char **argv) | 128 int main(int argc, char **argv) |
129 { | 129 { |
130 testing::InitGoogleTest(&argc, argv); | 130 testing::InitGoogleTest(&argc, argv); |
131 | 131 |
132 return RUN_ALL_TESTS(); | 132 return RUN_ALL_TESTS(); |
133 } | 133 } |