BOOST_CHECK_EQUAL(s.description(),"blah blah blah"); BOOST_CHECK_EQUAL(s.keywords().size(),3u); BOOST_CHECK_EQUAL(s.keywords()[1],"b"); BOOST_CHECK_EQUAL(s.contexts().size(),2u); BOOST_CHECK_EQUAL(s.contexts()[0],"r"); BOOST_CHECK_EQUAL(s.contexts()[1],"py"); BOOST_CHECK_EQUAL(s.authors().size(),2u); BOOST_CHECK_EQUAL(s.authors()[1],"Slartibartfast"); BOOST_CHECK_EQUAL(s.theme(),"inter-galatic-journal/theme"); BOOST_CHECK_EQUAL(s.select("p.advice").text(),"Don't panic!"); s.destroy(); } BOOST_AUTO_TEST_CASE(contexts){ { Stencil s; BOOST_CHECK_EQUAL(s.contexts().size(),0u); }{ Stencil s(R"(html:// <div id="contexts">r,py</div> <pre data-exec="foo"></pre> )"); BOOST_CHECK_EQUAL(s.contexts().size(),2u);
<div data-if=""></div> <div data-switch=""> <div data-case=""></div> <div data-case=""></div> </div> Flag attributes should be removed <div data-hash=""></div> <div data-out=""></div> )"); BOOST_CHECK(s.select("pre#exec")); BOOST_CHECK(s.select("[data-if]")); BOOST_CHECK(s.select("[data-switch]")); BOOST_CHECK(s.select("[data-case]")); BOOST_CHECK(s.select("[data-hash]")); BOOST_CHECK(s.select("[data-out]")); s.strip(); BOOST_CHECK(not s.select("pre#exec")); BOOST_CHECK(not s.select("[data-if]")); BOOST_CHECK(not s.select("[data-switch]")); BOOST_CHECK(not s.select("[data-case]")); BOOST_CHECK(not s.select("[data-hash]")); BOOST_CHECK(not s.select("[data-out]")); }