X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftest_html_parser.cpp;h=2b23dde1364826e875b42194ea9d3261702c1a60;hb=9838c2eadf06b6bfe3d6eb264c1b485b51ba1a06;hp=baf42bc86d9e39a92155cecc204debbd2e5a9714;hpb=61a563ec4484df103182afd0b5f49e1f91d3454d;p=metaproxy-moved-to-github.git diff --git a/src/test_html_parser.cpp b/src/test_html_parser.cpp index baf42bc..2b23dde 100644 --- a/src/test_html_parser.cpp +++ b/src/test_html_parser.cpp @@ -49,10 +49,13 @@ public: const char *value, int val_len, const char *sep) { out += " "; out.append(attr, attr_len); - out += "="; - out += sep; - out.append(value, val_len); - out += sep; + if (value) + { + out += "="; + out += sep; + out.append(value, val_len); + out += sep; + } } void anyTagEnd(const char *tag, int tag_len, int close_it) { if (close_it) @@ -105,7 +108,7 @@ BOOST_AUTO_TEST_CASE( test_html_parser_2 ) try { mp::HTMLParser hp; - const char* html = + const char* html = "\n" "\n" " \n" @@ -132,7 +135,7 @@ BOOST_AUTO_TEST_CASE( test_html_parser_2 ) std::cout << e.out << std::endl; } } - catch (std::exception & e) + catch (std::exception & e) { std::cout << e.what(); std::cout << std::endl; @@ -169,7 +172,7 @@ BOOST_AUTO_TEST_CASE( test_html_parser_3 ) std::cout << e.out << std::endl; } } - catch (std::exception & e) + catch (std::exception & e) { std::cout << e.what(); std::cout << std::endl; @@ -183,12 +186,104 @@ BOOST_AUTO_TEST_CASE( test_html_parser_4 ) { mp::HTMLParser hp; const char* html = - "<\"?xml version=\"1.0\" strandalone=\"no\"? ax>\n" - ""; // does not work + "\n" + ""; + + const char* expected = html; + MyEvent e; + hp.set_verbose(0); + hp.parse(e, html); + + BOOST_CHECK_EQUAL(std::string(expected), e.out); + if (std::string(expected) != e.out) + { + std::cout << "Expected" << std::endl; + std::cout << expected << std::endl; + std::cout << "Got" << std::endl; + std::cout << e.out << std::endl; + } + } + catch (std::exception & e) + { + std::cout << e.what(); + std::cout << std::endl; + BOOST_CHECK (false); + } +} + +BOOST_AUTO_TEST_CASE( test_html_parser_5 ) +{ + try + { + mp::HTMLParser hp; + const char* html = + ""; + + const char* expected = html; + MyEvent e; + hp.set_verbose(0); + hp.parse(e, html); + + BOOST_CHECK_EQUAL(std::string(expected), e.out); + if (std::string(expected) != e.out) + { + std::cout << "Expected" << std::endl; + std::cout << expected << std::endl; + std::cout << "Got" << std::endl; + std::cout << e.out << std::endl; + } + } + catch (std::exception & e) + { + std::cout << e.what(); + std::cout << std::endl; + BOOST_CHECK (false); + } +} + +BOOST_AUTO_TEST_CASE( test_html_parser_6 ) +{ + try + { + mp::HTMLParser hp; + const char* html = + ""; + + const char* expected = html; + MyEvent e; + hp.set_verbose(0); + hp.parse(e, html); + + BOOST_CHECK_EQUAL(std::string(expected), e.out); + if (std::string(expected) != e.out) + { + std::cout << "Expected" << std::endl; + std::cout << expected << std::endl; + std::cout << "Got" << std::endl; + std::cout << e.out << std::endl; + } + } + catch (std::exception & e) + { + std::cout << e.what(); + std::cout << std::endl; + BOOST_CHECK (false); + } +} + +BOOST_AUTO_TEST_CASE( test_html_parser_7 ) +{ + try + { + mp::HTMLParser hp; + const char* html = + "" + "\nx=2;\n"; const char* expected = html; MyEvent e; - hp.set_verbose(1); + hp.set_verbose(0); hp.parse(e, html); BOOST_CHECK_EQUAL(std::string(expected), e.out); @@ -200,7 +295,7 @@ BOOST_AUTO_TEST_CASE( test_html_parser_4 ) std::cout << e.out << std::endl; } } - catch (std::exception & e) + catch (std::exception & e) { std::cout << e.what(); std::cout << std::endl; @@ -208,6 +303,7 @@ BOOST_AUTO_TEST_CASE( test_html_parser_4 ) } } + /* * Local variables: * c-basic-offset: 4