From: Stephen D. <sd...@us...> - 2005-06-18 01:03:27
|
Update of /cvsroot/naviserver/naviserver/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15865/tests Modified Files: ns_urlencode.test Removed Files: harness.tcl Log Message: Use Tcl style tests and remove old harness. --- harness.tcl DELETED --- Index: ns_urlencode.test =================================================================== RCS file: /cvsroot/naviserver/naviserver/tests/ns_urlencode.test,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ns_urlencode.test 12 Apr 2005 03:53:02 -0000 1.1 --- ns_urlencode.test 18 Jun 2005 01:03:17 -0000 1.2 *************** *** 4,130 **** - source harness.tcl - load libnsd.so package require tcltest 2.2 namespace import -force ::tcltest::* ! test ns_urlencode-1.1 {Basic sanity checks} { - # rfc2396 unreserved URI characters, except for + which receives - # special treatment by the HTTP URL scheme. - set unreserved "-.!~*'()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ! assertEquals "" [ns_urlencode ""] ! assertEquals "" [ns_urlencode -part path ""] ! assertEquals "" [ns_urlencode -part query ""] ! assertEquals "" [ns_urldecode ""] ! assertEquals "" [ns_urldecode -part path ""] ! assertEquals "" [ns_urldecode -part query ""] ! assertEquals $unreserved [ns_urlencode $unreserved] ! assertEquals $unreserved [ns_urldecode $unreserved] ! assertEquals "1/2/3" [ns_urlencode -part path 1 2 3] ! assertEquals "1&2&3" [ns_urlencode -part query 1 2 3] ! assertEquals "1&2&3" [ns_urlencode 1 2 3] - assertEquals "1" [ns_urldecode "1"] - assertEquals "1" [ns_urldecode -part path "1"] - assertEquals "1" [ns_urldecode -part query "1"] ! } {} ! test ns_urlencode-2.1 {Spaces and plus signs} { ! assertEquals "+" [ns_urlencode -part path +] ! assertEquals "%2b" [string tolower [ns_urlencode -part query +]] ! assertEquals "%2b" [string tolower [ns_urlencode +]] ! assertEquals "%20" [ns_urlencode -part path " "] ! assertEquals "+" [ns_urlencode -part query " "] ! assertEquals "+" [ns_urlencode " "] ! assertEquals "+" [ns_urldecode -part path +] ! assertEquals " " [ns_urldecode -part query +] ! assertEquals " " [ns_urldecode +] ! assertEquals " " [ns_urldecode -part path " "] ! assertEquals " " [ns_urldecode -part query " "] ! assertEquals " " [ns_urldecode " "] ! assertEquals " " [ns_urldecode -part path "%20"] ! assertEquals " " [ns_urldecode -part query "%20"] ! assertEquals " " [ns_urldecode "%20"] - assertEquals "+" [ns_urldecode -part path "%2b"] - assertEquals "+" [ns_urldecode -part query "%2b"] - assertEquals "+" [ns_urldecode "%2b"] - assertEquals "+" [ns_urldecode "%2B"] ! } {} - test ns_urlencode-3.1 {rfc2396 section 2.4.3 URI 'delim' characters} { ! assertEquals "%3c" [string tolower [ns_urlencode -part path "<"]] ! assertEquals "%3e" [string tolower [ns_urlencode -part path ">"]] ! assertEquals "%23" [string tolower [ns_urlencode -part path "\#"]] ! assertEquals "%25" [string tolower [ns_urlencode -part path "%"]] ! assertEquals "%22" [string tolower [ns_urlencode -part path "\""]] ! } {} - test ns_urlencode-4.1 {rfc2396 section 2.4.3 URI 'unwise' characters} { ! assertEquals "%7b" [string tolower [ns_urlencode -part path "{"]] ! assertEquals "%7d" [string tolower [ns_urlencode -part path "}"]] ! assertEquals "%7c" [string tolower [ns_urlencode -part path "|"]] ! assertEquals "%5c" [string tolower [ns_urlencode -part path "\\"]] ! assertEquals "%5e" [string tolower [ns_urlencode -part path "^"]] ! assertEquals "%5b" [string tolower [ns_urlencode -part path "\["]] ! assertEquals "%5d" [string tolower [ns_urlencode -part path "\]"]] ! assertEquals "%60" [string tolower [ns_urlencode -part path "`"]] ! } {} ! test ns_urlencode-5.1 {rfc2396 section 3.3 URI path component reserved characters} { ! assertEquals "%2f" [string tolower [ns_urlencode -part path "/"]] ! assertEquals "%3f" [string tolower [ns_urlencode -part path "?"]] ! assertEquals "%3b" [string tolower [ns_urlencode -part path ";"]] ! assertEquals "%3d" [string tolower [ns_urlencode -part path "="]] ! assertEquals ":" [ns_urlencode -part path ":"] ! assertEquals "@" [ns_urlencode -part path "@"] ! assertEquals "&" [ns_urlencode -part path "&"] ! assertEquals "+" [ns_urlencode -part path "+"] ! assertEquals "$" [ns_urlencode -part path "$"] ! assertEquals "," [ns_urlencode -part path ","] ! } {} ! test ns_urlencode-6.1 {rfc2396 section 3.4 URI query component reserved characters} { ! assertEquals "%3b" [string tolower [ns_urlencode -part query ";"]] ! assertEquals "%2f" [string tolower [ns_urlencode -part query "/"]] ! assertEquals "%3f" [string tolower [ns_urlencode -part query "?"]] ! assertEquals "%3a" [string tolower [ns_urlencode -part query ":"]] ! assertEquals "%40" [string tolower [ns_urlencode -part query "@"]] ! assertEquals "%26" [string tolower [ns_urlencode -part query "&"]] ! assertEquals "%3d" [string tolower [ns_urlencode -part query "="]] ! assertEquals "%2b" [string tolower [ns_urlencode -part query "+"]] ! assertEquals "%2c" [string tolower [ns_urlencode -part query ","]] ! assertEquals "%24" [string tolower [ns_urlencode -part query "$"]] - } {} --- 4,199 ---- package require tcltest 2.2 namespace import -force ::tcltest::* + eval ::tcltest::configure $argv ! # rfc2396 unreserved URI characters, except for + which receives ! # special treatment by the HTTP URL scheme. ! set unreservedChars "-.!~*'()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ! test ns_urlencode-1.1.1 {basic syntax} -body { ! ns_urlencode ! } -returnCodes error -result {wrong # args: should be "ns_urlencode ?-part part? ?--? component"} ! test ns_urlencode-1.1.2 {basic syntax} -body { ! ns_urlencode -part x y ! } -returnCodes error -result {bad option "x": must be query or path} ! test ns_urlencode-1.2.1 {basic syntax} -body { ! ns_urldecode ! } -returnCodes error -result {wrong # args: should be "ns_urldecode ?-part part? ?--? component"} ! test ns_urlencode-1.2.2 {basic syntax} -body { ! ns_urldecode -part x y ! } -returnCodes error -result {bad option "x": must be query or path} ! test ns_urlencode-2.1.1 {basic operation} -body { ! ns_urlencode "" ! } -result {} + test ns_urlencode-2.1.2 {basic operation} -body { + ns_urlencode -part path "" + } -result {} ! test ns_urlencode-2.1.3 {basic operation} -body { ! ns_urlencode -part query "" ! } -result {} ! test ns_urlencode-2.2.1 {basic operation} -body { ! ns_urldecode "" ! } -result {} ! test ns_urlencode-2.2.2 {basic operation} -body { ! ns_urldecode -part path "" ! } -result {} + test ns_urlencode-2.2.3 {basic operation} -body { + ns_urldecode -part query "" + } -result {} ! test ns_urlencode-2.2.4 {basic operation} -body { ! ns_urldecode "1" ! } -result {1} ! test ns_urlencode-2.2.5 {basic operation} -body { ! ns_urldecode -part path "1" ! } -result {1} ! test ns_urlencode-2.2.6 {basic operation} -body { ! ns_urldecode -part query "1" ! } -result {1} ! test ns_urlencode-2.3.1 {unreserved characters} -body { ! ns_urlencode $unreservedChars ! } -result $unreservedChars + test ns_urlencode-2.3.2 {unreserved characters} -body { + ns_urldecode $unreservedChars + } -result $unreservedChars ! test ns_urlencode-2.4.1 {multiple args} -body { ! ns_urlencode -part path 1 2 3 ! } -result {1/2/3} ! test ns_urlencode-2.4.2 {multiple args} -body { ! ns_urlencode -part query 1 2 3 ! } -result {1&2&3} + test ns_urlencode-2.4.3 {multiple args} -body { + ns_urlencode 1 2 3 + } -result {1&2&3} ! test ns_urlencode-2.5.1 {spaces and plus signs} -body { ! ns_urlencode -part path + ! } -result {+} ! test ns_urlencode-2.5.2 {spaces and plus signs} -body { ! ns_urlencode -part query + ! } -result {%2b} + test ns_urlencode-2.5.3 {spaces and plus signs} -body { + ns_urlencode + + } -result {%2b} ! test ns_urlencode-2.5.4 {spaces and plus signs} -body { ! ns_urlencode -part path " " ! } -result {%20} ! test ns_urlencode-2.5.5 {spaces and plus signs} -body { ! ns_urlencode -part query " " ! } -result {+} ! test ns_urlencode-2.5.6 {spaces and plus signs} -body { ! ns_urlencode " " ! } -result {+} ! test ns_urlencode-2.5.7 {spaces and plus signs} -body { ! ns_urldecode -part path + ! } -result {+} + test ns_urlencode-2.5.8 {spaces and plus signs} -body { + ns_urldecode -part query + + } -result { } ! test ns_urlencode-2.5.9 {spaces and plus signs} -body { ! ns_urldecode + ! } -result { } ! test ns_urlencode-2.5.10 {spaces and plus signs} -body { ! ns_urldecode -part path " " ! } -result { } ! ! test ns_urlencode-2.5.11 {spaces and plus signs} -body { ! ns_urldecode -part query " " ! } -result { } ! ! test ns_urlencode-2.5.12 {spaces and plus signs} -body { ! ns_urldecode " " ! } -result { } ! ! test ns_urlencode-2.5.10 {spaces and plus signs} -body { ! ns_urldecode -part path "%20" ! } -result { } ! ! test ns_urlencode-2.5.11 {spaces and plus signs} -body { ! ns_urldecode -part query "%20" ! } -result { } ! ! test ns_urlencode-2.5.12 {spaces and plus signs} -body { ! ns_urldecode "%20" ! } -result { } ! ! test ns_urlencode-2.5.13 {spaces and plus signs} -body { ! ns_urldecode -part path "%2b" ! } -result {+} ! ! test ns_urlencode-2.5.14 {spaces and plus signs} -body { ! ns_urldecode -part query "%2b" ! } -result {+} ! ! test ns_urlencode-2.5.15 {spaces and plus signs} -body { ! ns_urldecode "%2b" ! } -result {+} ! ! test ns_urlencode-2.5.16 {spaces and plus signs} -body { ! ns_urldecode "%2B" ! } -result {+} ! ! ! test ns_urlencode-2.6.1 {rfc2396 section 2.4.3 URI 'delim' characters} -body { ! ns_urlencode -part path "<>\#%\"" ! } -result {%3c%3e%23%25%22} ! ! ! test ns_urlencode-2.7.1 {rfc2396 section 2.4.3 URI 'unwise' characters} -body { ! ns_urlencode -part path {{}|\^[]`} ! } -result {%7b%7d%7c%5c%5e%5b%5d%60} ! ! ! test ns_urlencode-2.8.1 {rfc2396 section 3.3 URI path component reserved characters} -body { ! ns_urlencode -part path {/?;=} ! } -result {%2f%3f%3b%3d} ! ! test ns_urlencode-2.8.2 {path component unreserved characters} -body { ! ns_urlencode -part path {:@&+$,} ! } -result {:@&+$,} ! ! ! test ns_urlencode-2.9.1 {rfc2396 section 3.4 URI query component reserved characters} -body { ! ns_urlencode -part query {;/?:@&=+,$} ! } -result {%3b%2f%3f%3a%40%26%3d%2b%2c%24} ! ! ! ! unset unreservedChars |