Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | cmdr::ask - Added basic testsuite. More requires a linenoise mockup to prevent actual interaction while exercising the command implementation. |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2fa5347d9428a0a97b934cb47625625b |
User & Date: | andreask 2014-05-23 22:08:15.847 |
Original Comment: | cmdr::ask - Added basic testsuite. More requires a linenoise mockup to prevent actual interaction. |
References
2014-05-23
| ||
22:19 | • Closed ticket [a80ac87036]: Add facilities for user interaction plus 4 other changes artifact: 7ab7393038 user: aku | |
Context
2014-05-26
| ||
17:19 | cmdr::color - Need -prefixes 0 to avoid name/names clash. check-in: 27ba981e40 user: aku tags: trunk | |
2014-05-23
| ||
22:08 | cmdr::ask - Added basic testsuite. More requires a linenoise mockup to prevent actual interaction while exercising the command implementation. check-in: 2fa5347d94 user: andreask tags: trunk | |
21:51 | cmdr::ask - Fixed a syntax problem. Fixed scope issue (string command). Tweaked the prompt setup. Plus example apps (also for interactive testing). check-in: 1eeef53431 user: andreask tags: trunk | |
Changes
Added tests/ask.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # -*- tcl -*- tcl.tk//DSL tcltest//EN//2.0 # # ## ### ##### ######## ############# ##################### ## Testing the cmdr::color package. kt check Tcl 8.5 kt check tcltest 2 kt require support Tclx kt require support debug kt require support debug::caller kt require support linenoise kt require support try kt require support struct::matrix kt require support textutil::adjust kt local support cmdr::tty kt local support cmdr::color kt local testing cmdr::ask # # ## ### ##### ######## ############# ##################### ## Basic wrong#args checks. test cmdr-ask-1.0 {ask, wrong num args, not enough} -body { cmdr ask } -returnCodes error \ -result {wrong # args: should be "cmdr ask subcommand ?argument ...?"} test cmdr-ask-1.1 {ask, bogus sub-command, not enough args} -body { cmdr ask foo } -returnCodes error \ -result {unknown or ambiguous subcommand "foo": must be choose, menu, string, string*, string/extended, or yn} # # ## ### ##### ######## ############# ##################### ## Go through the API commands. ## yn, string, string*, string/extended, menu, choose # ## Only basic args checks. Everything else goes into interaction, ## which the tcltest is not suited for. # ## Idea: Replace linenoise with a mockup command to record calls and ## returns fixed results. # # ## ### ##### ######## ############# ##################### ## yn test cmdr-ask-yn-1.0 {ask, wrong num args, not enough} -body { cmdr ask yn } -returnCodes error \ -result {wrong # args: should be "cmdr ask yn query ?default?"} test cmdr-ask-yn-1.1 {ask, wrong num args, too many} -body { cmdr ask yn Q D X } -returnCodes error \ -result {wrong # args: should be "cmdr ask yn query ?default?"} # # ## ### ##### ######## ############# ##################### ## string test cmdr-ask-string-1.0 {ask, wrong num args, not enough} -body { cmdr ask string } -returnCodes error \ -result {wrong # args: should be "cmdr ask string query ?default?"} test cmdr-ask-string-1.1 {ask, wrong num args, too many} -body { cmdr ask string Q D X } -returnCodes error \ -result {wrong # args: should be "cmdr ask string query ?default?"} # # ## ### ##### ######## ############# ##################### ## string* test cmdr-ask-string*-1.0 {ask, wrong num args, not enough} -body { cmdr ask string* } -returnCodes error \ -result {wrong # args: should be "cmdr ask string* query"} test cmdr-ask-string*-1.1 {ask, wrong num args, too many} -body { cmdr ask string* Q X } -returnCodes error \ -result {wrong # args: should be "cmdr ask string* query"} # # ## ### ##### ######## ############# ##################### ## string/extended test cmdr-ask-string/extended-1.0 {ask, wrong num args, not enough} -body { cmdr ask string/extended } -returnCodes error \ -result {wrong # args: should be "cmdr ask string/extended query ..."} # # ## ### ##### ######## ############# ##################### ## choose test cmdr-ask-choose-1.0 {ask, wrong num args, not enough} -body { cmdr ask choose } -returnCodes error \ -result {wrong # args: should be "cmdr ask choose query choices ?default?"} test cmdr-ask-choose-1.1 {ask, wrong num args, not enough} -body { cmdr ask choose Q } -returnCodes error \ -result {wrong # args: should be "cmdr ask choose query choices ?default?"} test cmdr-ask-choose-1.2 {ask, wrong num args, too many} -body { cmdr ask choose Q C D X } -returnCodes error \ -result {wrong # args: should be "cmdr ask choose query choices ?default?"} # # ## ### ##### ######## ############# ##################### ## menu test cmdr-ask-menu-1.0 {ask, wrong num args, not enough} -body { cmdr ask menu } -returnCodes error \ -result {wrong # args: should be "cmdr ask menu header prompt choices ?default?"} test cmdr-ask-menu-1.1 {ask, wrong num args, not enough} -body { cmdr ask menu H } -returnCodes error \ -result {wrong # args: should be "cmdr ask menu header prompt choices ?default?"} test cmdr-ask-menu-1.2 {ask, wrong num args, not enough} -body { cmdr ask menu H P } -returnCodes error \ -result {wrong # args: should be "cmdr ask menu header prompt choices ?default?"} test cmdr-ask-menu-1.3 {ask, wrong num args, too many} -body { cmdr ask menu H P C D X } -returnCodes error \ -result {wrong # args: should be "cmdr ask menu header prompt choices ?default?"} # # ## ### ##### ######## ############# ##################### cleanupTests return |