blob: 182df4f19e19ee583e999bc577ff3a21372d611c [file] [log] [blame]
#
# testing how the environment variables resolution
# is handled by mod_rivet
#
set rvttestfilename env.rvt
::tcltest::test env-1.1 {Environment variable} {
set page [ ::http::geturl "${urlbase}$rvttestfilename?load_env=true" ]
regexp -line "^env\\(DOCUMENT_NAME\\) = $rvttestfilename\$" [::http::data $page] match
::http::cleanup $page
set match
} "env(DOCUMENT_NAME) = $rvttestfilename"
::tcltest::test env-1.2 {Environment variable} {
set page [ ::http::geturl "${urlbase}$rvttestfilename?load_env=false" ]
regexp -line "^env\\(DOCUMENT_NAME\\) = $rvttestfilename\$" [::http::data $page] match
::http::cleanup $page
set match
} "env(DOCUMENT_NAME) = $rvttestfilename"
::tcltest::test env-1.2.1 {CGI Environment variable double translation} {
set page1 [ ::http::geturl "${urlbase}$rvttestfilename?protocol=1"]
set match1 [string trim [::http::data $page1]]
set page2 [ ::http::geturl "${urlbase}$rvttestfilename?protocol=1"]
set match2 [string trim [::http::data $page2]]
#puts "proto: $match1 $match2"
::http::cleanup $page1
::http::cleanup $page2
expr [string match $match1 $match2]
} "1"
set envmethod env_methods.tcl
set env_vars [list "DATE_LOCAL" "DATE_GMT" "LAST_MODIFIED" "DOCUMENT_URI" "DOCUMENT_PATH_INFO" "DOCUMENT_NAME" \
"QUERY_STRING_UNESCAPED" "RIVET_CACHE_FREE" "RIVET_CACHE_SIZE" "HTTP_ACCEPT" "HTTP_HOST" \
"QUERY_STRING" "SCRIPT_FILENAME" "SERVER_NAME" "SERVER_PORT" "SERVER_PROTOCOL"]
puts "comparing ::rivet::env and ::rivet::load_env for variable resolution"
foreach v $env_vars {
puts -nonewline "$v "
::tcltest::test env-1.3 {Environment variable methods} {
set page [::http::geturl "${urlbase}$envmethod?envvar=$v"]
::http::data $page
} "$v: OK"
}
puts ""