| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | #include "CookieBox.h"#include <string>#include <cppunit/extensions/HelperMacros.h>using namespace std;class CookieBoxTest:public CppUnit::TestFixture {  CPPUNIT_TEST_SUITE(CookieBoxTest);  CPPUNIT_TEST(testParse);  CPPUNIT_TEST(testCriteriaFind);  CPPUNIT_TEST_SUITE_END();private:public:  void setUp() {  }  void testParse();  void testCriteriaFind();};CPPUNIT_TEST_SUITE_REGISTRATION( CookieBoxTest );void CookieBoxTest::testParse() {  CookieBox box;  string str = "JSESSIONID=123456789; expires=Sat, 16-02-2006 19:38:00 JST; path=/; domain=localhost; secure";  Cookie c;  box.parse(c, str);  CPPUNIT_ASSERT_EQUAL(string("JSESSIONID"), c.name);  CPPUNIT_ASSERT_EQUAL(string("123456789"), c.value);  CPPUNIT_ASSERT_EQUAL(string("Sat, 16-02-2006 19:38:00 JST"), c.expires);    CPPUNIT_ASSERT_EQUAL(string("/"), c.path);    CPPUNIT_ASSERT_EQUAL(string("localhost"), c.domain);  CPPUNIT_ASSERT_EQUAL(true, c.secure);  string str2 = "JSESSIONID=123456789";  box.parse(c, str2);  CPPUNIT_ASSERT_EQUAL(string("JSESSIONID"), c.name);  CPPUNIT_ASSERT_EQUAL(string("123456789"), c.value);  CPPUNIT_ASSERT_EQUAL(string(""), c.expires);    CPPUNIT_ASSERT_EQUAL(string(""), c.path);    CPPUNIT_ASSERT_EQUAL(string(""), c.domain);  CPPUNIT_ASSERT_EQUAL(false, c.secure);  }void CookieBoxTest::testCriteriaFind() {  Cookie c1("SESSIONID1", "1", "", "/downloads", "rednoah.com", false);  Cookie c2("SESSIONID2", "2", "", "/downloads", "rednoah.com", false);  Cookie c3("USER", "user", "", "/home", "aria.rednoah.com", false);  Cookie c4("PASS", "pass", "", "/downloads", "rednoah.com", true);  CookieBox box;  box.add(c1);  box.add(c2);  box.add(c3);  box.add(c4);  Cookies result1 = box.criteriaFind("rednoah.com", "/downloads", false);  CPPUNIT_ASSERT_EQUAL(2, (int)result1.size());  Cookies::iterator itr = result1.begin();  CPPUNIT_ASSERT_EQUAL(string("SESSIONID1=1"), (*itr).toString());  itr++;  CPPUNIT_ASSERT_EQUAL(string("SESSIONID2=2"), (*itr).toString());  result1 = box.criteriaFind("rednoah.com", "/downloads", true);  CPPUNIT_ASSERT_EQUAL(3, (int)result1.size());  itr = result1.begin();  CPPUNIT_ASSERT_EQUAL(string("SESSIONID1=1"), (*itr).toString());  itr++;  CPPUNIT_ASSERT_EQUAL(string("SESSIONID2=2"), (*itr).toString());  itr++;  CPPUNIT_ASSERT_EQUAL(string("PASS=pass"), (*itr).toString());  result1 = box.criteriaFind("aria.rednoah.com", "/", false);  CPPUNIT_ASSERT_EQUAL(0, (int)result1.size());  result1 = box.criteriaFind("aria.rednoah.com", "/home", false);  CPPUNIT_ASSERT_EQUAL(1, (int)result1.size());  itr = result1.begin();  CPPUNIT_ASSERT_EQUAL(string("USER=user"), (*itr).toString());  }
 |