summaryrefslogtreecommitdiffabout
path: root/test/test.cc
Unidiff
Diffstat (limited to 'test/test.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--test/test.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/test.cc b/test/test.cc
index 2143ac0..770e0c6 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -1,66 +1,67 @@
1#include <iostream> 1#include <iostream>
2#include <stdexcept> 2#include <stdexcept>
3#include <unistd.h>
3using namespace std; 4using namespace std;
4#include <opkele/exception.h> 5#include <opkele/exception.h>
5#include <opkele/util.h> 6#include <opkele/util.h>
6 7
7#include "config.h" 8#include "config.h"
8 9
9class failed_test : public opkele::exception { 10class failed_test : public opkele::exception {
10 public: 11 public:
11 failed_test(OPKELE_E_PARS) 12 failed_test(OPKELE_E_PARS)
12 : exception(OPKELE_E_CONS) { } 13 : exception(OPKELE_E_CONS) { }
13}; 14};
14 15
15void test_rfc_3986_normalize_uri(const string &ouri,bool success,const string& nuri="") { 16void test_rfc_3986_normalize_uri(const string &ouri,bool success,const string& nuri="") {
16 try { 17 try {
17 string n = opkele::util::rfc_3986_normalize_uri(ouri); 18 string n = opkele::util::rfc_3986_normalize_uri(ouri);
18 if(!success) 19 if(!success)
19 throw failed_test(OPKELE_CP_ "Normalized URI when it shouldn't ('"+ouri+"' normalization resulted in '"+n+"')"); 20 throw failed_test(OPKELE_CP_ "Normalized URI when it shouldn't ('"+ouri+"' normalization resulted in '"+n+"')");
20 if(n!=nuri) 21 if(n!=nuri)
21 throw failed_test(OPKELE_CP_ "rfc_3986_test_failed for '"+ouri+"' failed, expected '"+nuri+"', got '"+n+"'"); 22 throw failed_test(OPKELE_CP_ "rfc_3986_test_failed for '"+ouri+"' failed, expected '"+nuri+"', got '"+n+"'");
22 }catch(opkele::bad_input& obi) { 23 }catch(opkele::bad_input& obi) {
23 if(success) 24 if(success)
24 throw failed_test(OPKELE_CP_ "Test '"+ouri+"' failed due to 'bad_input'["+obi.what()+"]"); 25 throw failed_test(OPKELE_CP_ "Test '"+ouri+"' failed due to 'bad_input'["+obi.what()+"]");
25 }catch(opkele::not_implemented& oni) { 26 }catch(opkele::not_implemented& oni) {
26 if(success) 27 if(success)
27 throw failed_test(OPKELE_CP_ "Test '"+ouri+"' failed due to 'not_implemented'["+oni.what()+"]"); 28 throw failed_test(OPKELE_CP_ "Test '"+ouri+"' failed due to 'not_implemented'["+oni.what()+"]");
28 } 29 }
29} 30}
30 31
31void test_rfc_3986_normalize_uri() { 32void test_rfc_3986_normalize_uri() {
32 test_rfc_3986_normalize_uri( 33 test_rfc_3986_normalize_uri(
33 "invalid", false ); 34 "invalid", false );
34 test_rfc_3986_normalize_uri( 35 test_rfc_3986_normalize_uri(
35 "http://", false ); 36 "http://", false );
36 test_rfc_3986_normalize_uri( 37 test_rfc_3986_normalize_uri(
37 "http:/hacker.klever.net/", false ); 38 "http:/hacker.klever.net/", false );
38 test_rfc_3986_normalize_uri( 39 test_rfc_3986_normalize_uri(
39 "hTTp://hacker.klever.net#uh?oh", true, "http://hacker.klever.net/#uh?oh" ); 40 "hTTp://hacker.klever.net#uh?oh", true, "http://hacker.klever.net/#uh?oh" );
40 test_rfc_3986_normalize_uri( 41 test_rfc_3986_normalize_uri(
41 "http://hacker.klever.net?uh#oh", true, "http://hacker.klever.net/?uh#oh" ); 42 "http://hacker.klever.net?uh#oh", true, "http://hacker.klever.net/?uh#oh" );
42 test_rfc_3986_normalize_uri( 43 test_rfc_3986_normalize_uri(
43 "http://hacker.klever.net:80/", true, "http://hacker.klever.net/" ); 44 "http://hacker.klever.net:80/", true, "http://hacker.klever.net/" );
44 test_rfc_3986_normalize_uri( 45 test_rfc_3986_normalize_uri(
45 "http://hacker.klever.net:80?uh", true, "http://hacker.klever.net/?uh" ); 46 "http://hacker.klever.net:80?uh", true, "http://hacker.klever.net/?uh" );
46 test_rfc_3986_normalize_uri( 47 test_rfc_3986_normalize_uri(
47 "http://hacker.klever.net:80#uh", true, "http://hacker.klever.net/#uh" ); 48 "http://hacker.klever.net:80#uh", true, "http://hacker.klever.net/#uh" );
48 test_rfc_3986_normalize_uri( 49 test_rfc_3986_normalize_uri(
49 "https://hacker.klever.net:443", true, "https://hacker.klever.net/" ); 50 "https://hacker.klever.net:443", true, "https://hacker.klever.net/" );
50 test_rfc_3986_normalize_uri( 51 test_rfc_3986_normalize_uri(
51 "http://hacker.klever.net:?oh", true, "http://hacker.klever.net/?oh" ); 52 "http://hacker.klever.net:?oh", true, "http://hacker.klever.net/?oh" );
52 test_rfc_3986_normalize_uri( 53 test_rfc_3986_normalize_uri(
53 "http://hacker.klever.net/ah%2E", true, "http://hacker.klever.net/ah." ); 54 "http://hacker.klever.net/ah%2E", true, "http://hacker.klever.net/ah." );
54 test_rfc_3986_normalize_uri( 55 test_rfc_3986_normalize_uri(
55 "http://hacker.klever.net/ah/%2E/", true, "http://hacker.klever.net/ah/" ); 56 "http://hacker.klever.net/ah/%2E/", true, "http://hacker.klever.net/ah/" );
56 test_rfc_3986_normalize_uri( 57 test_rfc_3986_normalize_uri(
57 "http://hacker.klever.net/ah/%2b/", true, "http://hacker.klever.net/ah/%2B/" ); 58 "http://hacker.klever.net/ah/%2b/", true, "http://hacker.klever.net/ah/%2B/" );
58 test_rfc_3986_normalize_uri( 59 test_rfc_3986_normalize_uri(
59 "http://hacker.klever.net/ah/./oh?eh", true, "http://hacker.klever.net/ah/oh?eh" ); 60 "http://hacker.klever.net/ah/./oh?eh", true, "http://hacker.klever.net/ah/oh?eh" );
60 test_rfc_3986_normalize_uri( 61 test_rfc_3986_normalize_uri(
61 "http://hacker.klever.net/ah/../oh?", true, "http://hacker.klever.net/oh?" ); 62 "http://hacker.klever.net/ah/../oh?", true, "http://hacker.klever.net/oh?" );
62 test_rfc_3986_normalize_uri( 63 test_rfc_3986_normalize_uri(
63 "http://hacker.klever.net/ah//oh?", true, "http://hacker.klever.net/ah/oh?" ); 64 "http://hacker.klever.net/ah//oh?", true, "http://hacker.klever.net/ah/oh?" );
64 test_rfc_3986_normalize_uri( 65 test_rfc_3986_normalize_uri(
65 "http://hacker.klever.net/ah/?", true, "http://hacker.klever.net/ah/?" ); 66 "http://hacker.klever.net/ah/?", true, "http://hacker.klever.net/ah/?" );
66 test_rfc_3986_normalize_uri( 67 test_rfc_3986_normalize_uri(