Mercurial > code
diff cpp/json_util/test/main.cpp @ 656:734ce3a26a58
json_util: upgrade to 3.5.0 and add string_view overload
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 21 Jan 2019 20:45:02 +0100 |
parents | 87e1f4c7da76 |
children | 66015e773085 |
line wrap: on
line diff
--- a/cpp/json_util/test/main.cpp Mon Jan 21 20:39:31 2019 +0100 +++ b/cpp/json_util/test/main.cpp Mon Jan 21 20:45:02 2019 +0100 @@ -81,6 +81,17 @@ BOOST_TEST(!document_.get<std::string>("uint")); } +BOOST_AUTO_TEST_CASE(string_view) +{ + const auto v = document_.get<std::string_view>("string"); + + BOOST_TEST(v.has_value()); + BOOST_TEST(*v == "str"); + BOOST_TEST(!document_.get<std::string_view>("bool")); + BOOST_TEST(!document_.get<std::string_view>("int")); + BOOST_TEST(!document_.get<std::string_view>("uint")); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(optional_not_present) @@ -106,6 +117,11 @@ BOOST_TEST(*document_.optional<std::string>("undefined", "foo") == "foo"); } +BOOST_AUTO_TEST_CASE(string_view) +{ + BOOST_TEST(*document_.optional<std::string_view>("undefined", "foo") == "foo"); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(optional_invalid) @@ -137,6 +153,13 @@ BOOST_TEST(!document_.optional<std::string>("uint", "foo")); } +BOOST_AUTO_TEST_CASE(string_view) +{ + BOOST_TEST(!document_.optional<std::string_view>("boolean", "foo")); + BOOST_TEST(!document_.optional<std::string_view>("int", "foo")); + BOOST_TEST(!document_.optional<std::string_view>("uint", "foo")); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(get_or) @@ -169,6 +192,13 @@ BOOST_TEST(document_.get_or<std::string>("undefined", "hello") == "hello"); } +BOOST_AUTO_TEST_CASE(string_view) +{ + BOOST_TEST(document_.get_or<std::string_view>("string", "hello") == "str"); + BOOST_TEST(document_.get_or<std::string_view>("boolean", "hello") == "hello"); + BOOST_TEST(document_.get_or<std::string_view>("undefined", "hello") == "hello"); +} + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END()