aboutsummaryrefslogtreecommitdiffstats
path: root/unittest.cpp
diff options
context:
space:
mode:
authoripknHama <ipknhama@gmail.com>2014-04-15 05:35:04 +0900
committeripknHama <ipknhama@gmail.com>2014-04-15 05:35:04 +0900
commitdc5033203302a6b825b681ab2b07604e9c59bd5b (patch)
treed159956dcc93802185843c8ef50ab9fe81de4440 /unittest.cpp
parentf8ee6d4dadbc8f28095346b91d0a3ed3ed495c4f (diff)
downloadcrow-dc5033203302a6b825b681ab2b07604e9c59bd5b.tar.gz
crow-dc5033203302a6b825b681ab2b07604e9c59bd5b.zip
update makefile, add more test
Diffstat (limited to 'unittest.cpp')
-rw-r--r--unittest.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/unittest.cpp b/unittest.cpp
index 5ebf15e..bda1f26 100644
--- a/unittest.cpp
+++ b/unittest.cpp
@@ -2,6 +2,7 @@
#include <vector>
#include "routing.h"
#include "utility.h"
+#include "flask.h"
using namespace std;
using namespace flask;
@@ -60,6 +61,9 @@ TEST(Rule)
TEST(ParameterTagging)
{
+ static_assert(black_magic::is_valid("<int><int><int>"), "valid url");
+ static_assert(!black_magic::is_valid("<int><int<<int>"), "invalid url");
+ static_assert(!black_magic::is_valid("nt>"), "invalid url");
ASSERT_EQUAL(1, black_magic::get_parameter_tag("<int>"));
ASSERT_EQUAL(2, black_magic::get_parameter_tag("<uint>"));
ASSERT_EQUAL(3, black_magic::get_parameter_tag("<float>"));
@@ -72,13 +76,25 @@ TEST(ParameterTagging)
ASSERT_EQUAL(6*6+6*3+2, black_magic::get_parameter_tag("<uint><double><int>"));
// url definition parsed in compile time, build into *one number*, and given to template argument
- static_assert(is_same<black_magic::S<uint64_t, double, int64_t>, black_magic::arguments<6*6+6*3+2>::type>::value, "tag to type container");
+ static_assert(std::is_same<black_magic::S<uint64_t, double, int64_t>, black_magic::arguments<6*6+6*3+2>::type>::value, "tag to type container");
}
-TEST(response)
+TEST(simple_response_routing_params)
{
ASSERT_EQUAL(100, response(100).code);
ASSERT_EQUAL(200, response("Hello there").code);
+
+ routing_params rp;
+ rp.int_params.push_back(1);
+ rp.int_params.push_back(5);
+ rp.uint_params.push_back(2);
+ rp.double_params.push_back(3);
+ rp.string_params.push_back("hello");
+ ASSERT_EQUAL(1, rp.get<int64_t>(0));
+ ASSERT_EQUAL(5, rp.get<int64_t>(1));
+ ASSERT_EQUAL(2, rp.get<uint64_t>(0));
+ ASSERT_EQUAL(3, rp.get<double>(0));
+ ASSERT_EQUAL("hello", rp.get<string>(0));
}
int testmain()