void testTypedVectorArgs() { std::string src = "<foo><%args> int foo[]; </%args></foo>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(<foo>)onArg(int foo[], )onHtml(</foo>)end()"); }
void testAttr() { std::string src = "<foo><%attr> method=\"post\"; </%attr></foo>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(<foo>)onAttr(method, \"post\")onHtml(</foo>)end()"); }
void testStringArgs() { std::string src = "<foo><%args> foo=\"bar\"; </%args></foo>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(<foo>)onArg(foo, \"bar\")onHtml(</foo>)end()"); }
void testPre() { std::string src = "<foo><%pre> #include <iostream> </%pre></foo>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(<foo>)onPre( #include <iostream> )onHtml(</foo>)end()"); }
void testHtmlExpression() { std::string src = "<foo><$$ a+b $></foo>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(<foo>)onHtmlExpression( a+b )onHtml(</foo>)end()"); }
void testPlain() { std::string src = "<html><body><h1>Hello World!<h1>\n</body></html>"; std::istringstream ecpp(src); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(" + src + ")end()"); }
void testCppInline() { std::string src0 = "<html><body><h1>Hello World!<h1>\n"; std::string src1 = "<{const char* s[] = \"<h1>\"\n}>"; std::string src2 = "</body></html>"; std::istringstream ecpp(src0 + src1 + src2); Handler handler; tnt::ecpp::Parser parser(handler, std::string()); parser.parse(ecpp); CXXTOOLS_UNIT_ASSERT_EQUALS(handler.result(), "start()onHtml(" + src0 + ")onCpp(const char* s[] = \"<h1>\"\n)onHtml(" + src2 + ")end()"); }