/* * This project is licensed under the MIT license. For more information see the * LICENSE file. */ #include #include "gmock/gmock.h" #include "maddy/strongparser.h" // ----------------------------------------------------------------------------- TEST(MADDY_STRONGPARSER, ItReplacesMarkdownWithStrongHTML) { struct testIt { std::string text; std::string expected; }; std::vector tests { { "some text **bla** text testing **it** out", "some text bla text testing it out" }, { "some text __bla__ text testing __it__ out", "some text bla text testing it out" }, }; auto strongParser = std::make_shared(); for (auto& test : tests) { strongParser->Parse(test.text); ASSERT_EQ(test.expected, test.text); } } TEST(MADDY_STRONGPARSER, ItReplacesEmphasizedMarkdownNotWithStrongHTML) { struct testIt { std::string text; std::string expected; }; std::vector tests { { "some text *bla* text testing **it** out", "some text *bla* text testing it out" }, { "some text _bla_ text testing __it__ out", "some text _bla_ text testing it out" }, }; auto strongParser = std::make_shared(); for (auto& test : tests) { strongParser->Parse(test.text); ASSERT_EQ(test.expected, test.text); } } TEST(MADDY_STRONGPARSER, ItDoesNotParseInsideInlineCode) { struct testIt { std::string text; std::string expected; }; std::vector tests { { "some text **bla** `/**text**/` testing `**it**` out", "some text **bla** `/**text**/` testing `**it**` out", }, { "some text _bla_ text testing __it__ out", "some text _bla_ text testing it out" }, }; auto strongParser = std::make_shared(); for (auto& test : tests) { strongParser->Parse(test.text); ASSERT_EQ(test.expected, test.text); } }