#include #include #include using namespace drogon; DROGON_TEST(HttpViewData) { HttpViewData data; data.insert("1", 1); data.insertAsString("2", 2.0); data.insertFormattedString("3", "third value is %d", 3); data.insertAsString("4", "4"); data.insert("5", 5); data.insert("5", std::string("5!!!!!!!")); // Overides the old value char six = 6; data.insert("6", six); CHECK(data.get("1") == 1); CHECK(data.get("2") == "2"); CHECK(data.get("3") == "third value is 3"); CHECK(data.get("4") == "4"); CHECK(data.get("5") == "5!!!!!!!"); CHECK(data.get("6") == 6); CHECK(data.get("1") == 1); // get a second time // Bad key returns a default constructed value CHECK_NOTHROW(data.get("this_does_not_exist")); SUBSECTION(Translate) { CHECK(HttpViewData::needTranslation("") == false); CHECK(HttpViewData::needTranslation("!)(*#") == false); CHECK(HttpViewData::needTranslation("#include ") == true); CHECK(HttpViewData::needTranslation("") == true); CHECK(HttpViewData::htmlTranslate("#include ") == "#include <iostream>"); CHECK(HttpViewData::htmlTranslate(">") == "&gt;"); } }