diff options
-rw-r--r-- | tests/test_html_unescape.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/test_html_unescape.cpp b/tests/test_html_unescape.cpp new file mode 100644 index 0000000..0f80ec7 --- /dev/null +++ b/tests/test_html_unescape.cpp @@ -0,0 +1,54 @@ +/* This file is part of mastodonpp. + * Copyright © 2020 tastytea <tastytea@tastytea.de> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "helpers.hpp" + +#include <catch.hpp> + +#include <exception> +#include <string> + +namespace mastodonpp +{ + +using std::string; + +SCENARIO ("mastodonpp::html_unescape()") +{ + bool exception = false; + + WHEN ("html_unescape() is called.") + { + string result; + try + { + result = unescape_html("2€ = 2€ = 2€"); + } + catch (const std::exception &e) + { + exception = true; + } + + THEN ("No exception is thrown") + AND_THEN("Result is as expected.") + { + REQUIRE_FALSE(exception); + REQUIRE(result == "2€ = 2€ = 2€"); + } + } +} + +} // namespace mastodonpp |