| # |
| # command.test -- |
| # nca-073-9 |
| # |
| # Copyright (c) 1996-2000 by Netcetera AG. |
| # Copyright (c) 2001 by Apache Software Foundation. |
| # All rights reserved. |
| # |
| # See the file "license.terms" for information on usage and |
| # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| # |
| # @(#) $Id$ |
| # |
| |
| # ----------------------------------------------------------------------------- |
| # tcltest package |
| # ----------------------------------------------------------------------------- |
| if {[lsearch [namespace children] ::tcltest] == -1} { |
| package require tcltest |
| namespace import ::tcltest::* |
| } |
| |
| # ----------------------------------------------------------------------------- |
| # utils |
| # ----------------------------------------------------------------------------- |
| proc cleanParam {} { |
| web::cmdurlcfg -unset |
| web::formvar -unset |
| web::param -unset |
| } |
| |
| |
| # ----------------------------------------------------------------------------- |
| # errors -1.x |
| # ----------------------------------------------------------------------------- |
| test command-1.1 {too many args} { |
| catch { web::command 1 2 3 } msg |
| set msg |
| } {wrong # args: should be "web::command ??command? code?"} |
| |
| test command-1.2 {too many args} { |
| catch {web::getcommand 1 2 3 } msg |
| set msg |
| } {wrong # args: should be "web::getcommand ?command?"} |
| |
| test command-1.3 {return "default"} { |
| ## simulate querystring and querystring parsing |
| cleanParam |
| |
| catch {set res [web::command] } msg |
| set msg |
| } {default} |
| ## old version: {cannot access cmdname from querystringdata} |
| |
| # ----------------------------------------------------------------------------- |
| # web::command normal operation -2.x |
| # ----------------------------------------------------------------------------- |
| test command-2.1 {code} { |
| web::command {puts $tcl_patchlevel} |
| set res [web::getcommand] |
| } {puts $tcl_patchlevel} |
| |
| |
| test command-2.2 {dumCmd code} { |
| web::command dumCmd {puts $tcl_patchlevel} |
| set res [web::getcommand dumCmd] |
| } {puts $tcl_patchlevel} |
| |
| test command-2.3 {parsing} { |
| ## simulate querystring and querystring parsing |
| cleanParam |
| set qstr [web::encrypt "key value t 101 cmd NeWCmD"] |
| set res [web::dispatch -cmd "" -postdata "" -querystring $qstr] |
| unset qstr |
| set res [web::command] |
| } {NeWCmD} |
| |
| test command-2.4 {default name} { |
| cleanParam |
| web::command {return command2_4} |
| web::dispatch -cmd "default" -postdata "" -querystring "" |
| } {command2_4} |
| |
| test command-2.5 {getcommand returns default name} { |
| cleanParam |
| web::command default {foo} |
| catch {web::getcommand} msg |
| set msg |
| } {foo} |
| |
| # cleanup |
| ::tcltest::cleanupTests |