1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
 
test_eq(_Roxen.html_encode_string (0), "0") 
test_eq(_Roxen.html_encode_string (""), "") 
test_eq(_Roxen.html_encode_string (10), "10") 
test_eq(_Roxen.html_encode_string("a&b<c>d"), "a&amp;b&lt;c&gt;d") 
 
test_eq(_Roxen.http_decode_string(""), "") 
test_eq(_Roxen.http_decode_string("abc+d%20e%41"), "abc+d eA") 
test_eq(_Roxen.http_decode_string(""), "") 
test_do(_Roxen.http_decode_string("%")) 
test_do(_Roxen.http_decode_string("%0")) 
test_do(_Roxen.http_decode_string("%%")) 
test_do(_Roxen.http_decode_string("%%%")) 
test_do(_Roxen.http_decode_string("%41%")) 
test_do(_Roxen.http_decode_string("%41%0")) 
test_do(_Roxen.http_decode_string("%41%%")) 
test_do(_Roxen.http_decode_string("%41%%%")) 
test_do(_Roxen.http_decode_string("%u")) 
test_do(_Roxen.http_decode_string("%u0")) 
test_do(_Roxen.http_decode_string("%u00")) 
test_do(_Roxen.http_decode_string("%u000")) 
test_do(_Roxen.http_decode_string("%u000_")) 
test_do(_Roxen.http_decode_string("%41%u")) 
test_do(_Roxen.http_decode_string("%41%u0")) 
test_do(_Roxen.http_decode_string("%41%u00")) 
test_do(_Roxen.http_decode_string("%41%u000")) 
test_do(_Roxen.http_decode_string("%41%u000_")) 
test_eq(_Roxen.http_decode_string("%u12345"), "\x1234""5") 
test_eq(_Roxen.http_decode_string("%U12345"), "\x1234""5")