diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-18 00:15:23 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-18 00:15:23 +0900 |
| commit | f022444d812f32ffd47f135cb9f4eb833a9e5fb7 (patch) | |
| tree | 24c3351c6a031fe468d369047bcced62199e33a6 /test/RequestTest.cc | |
| parent | 4a106e7fcf9dbc04525dcc0ac245d9afd42cc23e (diff) | |
Join URI on redirect
Diffstat (limited to 'test/RequestTest.cc')
| -rw-r--r-- | test/RequestTest.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/RequestTest.cc b/test/RequestTest.cc index f585108f..78c41641 100644 --- a/test/RequestTest.cc +++ b/test/RequestTest.cc @@ -19,6 +19,7 @@ class RequestTest:public CppUnit::TestFixture { CPPUNIT_TEST(testRedirectUri); CPPUNIT_TEST(testRedirectUri2); CPPUNIT_TEST(testRedirectUri_supportsPersistentConnection); + CPPUNIT_TEST(testRedirectUri_uriNormalization); CPPUNIT_TEST(testResetUri); CPPUNIT_TEST(testResetUri_supportsPersistentConnection); CPPUNIT_TEST(testInnerLink); @@ -34,6 +35,7 @@ public: void testRedirectUri(); void testRedirectUri2(); void testRedirectUri_supportsPersistentConnection(); + void testRedirectUri_uriNormalization(); void testResetUri(); void testResetUri_supportsPersistentConnection(); void testInnerLink(); @@ -255,6 +257,31 @@ void RequestTest::testRedirectUri_supportsPersistentConnection() CPPUNIT_ASSERT(req.supportsPersistentConnection()); } +void RequestTest::testRedirectUri_uriNormalization() +{ + Request req; + CPPUNIT_ASSERT(req.setUri("http://host/file?a")); + + CPPUNIT_ASSERT(req.redirectUri("/redir1")); + CPPUNIT_ASSERT_EQUAL(std::string("http://host/redir1"), req.getCurrentUri()); + + CPPUNIT_ASSERT(req.redirectUri("/redir2?b")); + CPPUNIT_ASSERT_EQUAL(std::string("http://host/redir2?b"), + req.getCurrentUri()); + + CPPUNIT_ASSERT(req.redirectUri("/redir3?c#d")); + CPPUNIT_ASSERT_EQUAL(std::string("http://host/redir3?c"), + req.getCurrentUri()); + + CPPUNIT_ASSERT(req.redirectUri("/redir4/gone/.././2nd/foo?a")); + CPPUNIT_ASSERT_EQUAL(std::string("http://host/redir4/2nd/foo?a"), + req.getCurrentUri()); + + CPPUNIT_ASSERT(req.redirectUri("../new2nd/bar?b")); + CPPUNIT_ASSERT_EQUAL(std::string("http://host/redir4/new2nd/bar?b"), + req.getCurrentUri()); +} + void RequestTest::testGetURIHost() { Request req; |
