X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ftest_filter2.cpp;h=d3d4500cab50b06d3b47669d1910c8da9cf34b71;hb=665559cbc22546e8df69be33a7d492294cab9fb1;hp=c5159dd4963a3f7e9d3a85ab70b621d62f35f8b8;hpb=79100c2ae2dac4bdde4f4d46b69e147562b4ec6c;p=metaproxy-moved-to-github.git diff --git a/src/test_filter2.cpp b/src/test_filter2.cpp index c5159dd..d3d4500 100644 --- a/src/test_filter2.cpp +++ b/src/test_filter2.cpp @@ -1,8 +1,20 @@ -/* $Id: test_filter2.cpp,v 1.18 2006-03-16 10:40:59 adam Exp $ - Copyright (c) 2005-2006, Index Data. +/* This file is part of Metaproxy. + Copyright (C) 2005-2008 Index Data -%LICENSE% - */ +Metaproxy is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Metaproxy 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 General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ #include #include @@ -15,6 +27,7 @@ #include #define BOOST_AUTO_TEST_MAIN +#define BOOST_TEST_DYN_LINK #include using namespace boost::unit_test; @@ -25,24 +38,20 @@ class FilterConstant: public mp::filter::Base { public: FilterConstant() : m_constant(1234) { }; void process(mp::Package & package) const { - package.data() = m_constant; package.move(); }; - void configure(const xmlNode* ptr = 0); + void configure(const xmlNode* ptr, bool test_only); int get_constant() const { return m_constant; }; private: - bool parse_xml_text(const xmlNode *xml_ptr, bool &val); - bool parse_xml_text(const xmlNode *xml_ptr, std::string &val); -private: const xmlNode *m_ptr; int m_constant; }; -void FilterConstant::configure(const xmlNode* ptr) +void FilterConstant::configure(const xmlNode* ptr, bool test_only) { m_ptr = ptr; - + BOOST_CHECK_EQUAL (ptr->type, XML_ELEMENT_NODE); BOOST_CHECK_EQUAL(std::string((const char *) ptr->name), "filter"); @@ -76,50 +85,17 @@ void FilterConstant::configure(const xmlNode* ptr) } } -bool FilterConstant::parse_xml_text(const xmlNode *xml_ptr, bool &val) -{ - std::string v; - if (!parse_xml_text(xml_ptr, v)) - return false; - if (v.length() == 1 && v[0] == '1') - val = true; - else - val = false; - return true; -} - -bool FilterConstant::parse_xml_text(const xmlNode *xml_ptr, std::string &val) -{ - xmlNodePtr ptr = (xmlNodePtr) xml_ptr; - bool found = false; - std::string v; - for(ptr = ptr->children; ptr; ptr = ptr->next) - if (ptr->type == XML_TEXT_NODE) - { - xmlChar *t = ptr->content; - if (t) - { - v += (const char *) t; - found = true; - } - } - if (found) - val = v; - return found; -} - // This filter dose not have a configure function class FilterDouble: public mp::filter::Base { public: void process(mp::Package & package) const { - package.data() = package.data() * 2; package.move(); }; }; - -BOOST_AUTO_UNIT_TEST( testfilter2_1 ) + +BOOST_AUTO_TEST_CASE( testfilter2_1 ) { try { FilterConstant fc; @@ -139,7 +115,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_1 ) pack.router(router1).move(); - BOOST_CHECK_EQUAL(pack.data(), 2468); + //BOOST_CHECK_EQUAL(pack.data(), 2468); } @@ -155,7 +131,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_1 ) pack.router(router2).move(); - BOOST_CHECK_EQUAL(pack.data(), 1234); + //BOOST_CHECK_EQUAL(pack.data(), 1234); } @@ -170,7 +146,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_1 ) } -BOOST_AUTO_UNIT_TEST( testfilter2_2 ) +BOOST_AUTO_TEST_CASE( testfilter2_2 ) { try { FilterConstant fc; @@ -193,7 +169,7 @@ BOOST_AUTO_UNIT_TEST( testfilter2_2 ) { xmlNodePtr root_element = xmlDocGetRootElement(doc); - base->configure(root_element); + base->configure(root_element, true); xmlFreeDoc(doc); } @@ -213,8 +189,9 @@ BOOST_AUTO_UNIT_TEST( testfilter2_2 ) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil - * c-file-style: "stroustrup" * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +