#!/bin/bash # -*- shell-script -*- proc test_msg { var -i _Dbg_logging = '0' var -i _Dbg_logging_redirect = '0' var _Dbg_tty = '''' var msg = $[_Dbg_msg hi] assertEquals 'hi' $msg msg := $[_Dbg_msg_nocr hi] assertEquals 'hi' $msg msg := $[_Dbg_printf '%03d' 5] assertEquals '005' $msg msg := $[_Dbg_printf_nocr '%-3s' 'fo] assertEquals 'fo ' $msg } proc test_undefined { typeset -i _Dbg_logging=0 typeset -i _Dbg_logging_redirect=0 typeset _Dbg_tty='' typeset msg global msg := $[_Dbg_undefined_cmd foo bar] assertEquals '** Undefined foo subcommand "bar". Try "help foo".' $msg global msg := $[_Dbg_undefined_cmd foo] assertEquals '** Undefined command "foo". Try "help".' $msg } global abs_top_srcdir := '/src/external-vcs/sourceforge/bashdb' # Make sure $abs_top_srcdir has a trailing slash global abs_top_srcdir := "$(abs_top_srcdir%%/)/" source ${abs_top_srcdir}test/unit/helper.sh source ${abs_top_srcdir}/lib/msg.sh source ${abs_top_srcdir}/init/io.sh global _Dbg_set_highlight := '''' set -- # reset $# so shunit2 doesn't get confused. [[ $0 == ${BASH_SOURCE} ]] && source ${shunit_file} (CommandList children: [ (FuncDef name: test_msg body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: ["'-i'"] pairs: [(assign_pair lhs:(LhsName name:_Dbg_logging) op:Equal rhs:{(0)} spids:[18])] spids: [14] ) (Assignment keyword: Assign_Local flags: ["'-i'"] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_logging_redirect) op: Equal rhs: {(0)} spids: [26] ) ] spids: [22] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:_Dbg_tty) op:Equal rhs:{(SQ )} spids:[32])] spids: [30] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_msg)} {(hi)})]) left_token: spids: [40 44] ) } spids: [39] ) ] spids: [37] ) (C {(assertEquals)} {(SQ )} {(DQ ($ VSub_Name "$msg"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_msg_nocr)} {(hi)})]) left_token: spids: [59 63] ) } spids: [58] ) ] spids: [58] ) (C {(assertEquals)} {(SQ )} {(DQ ($ VSub_Name "$msg"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_printf)} {(SQ <"%03d">)} {(5)})] ) left_token: spids: [78 86] ) } spids: [77] ) ] spids: [77] ) (C {(assertEquals)} {(SQ <005>)} {(DQ ($ VSub_Name "$msg"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_printf_nocr)} {(SQ <"%-3s">)} {(SQ )})] ) left_token: spids: [101 111] ) } spids: [100] ) ] spids: [100] ) (C {(assertEquals)} {(SQ <"fo ">)} {(DQ ($ VSub_Name "$msg"))}) ] spids: [11] ) spids: [7 10] ) (FuncDef name: test_undefined body: (BraceGroup children: [ (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_logging=") (0)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_logging_redirect=") (0)}) (C {(typeset)} {(Lit_VarLike "_Dbg_tty=") (SQ )}) (C {(typeset)} {(msg)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_undefined_cmd)} {(foo)} {(bar)})] ) left_token: spids: [163 169] ) } spids: [162] ) ] spids: [162] ) (C {(assertEquals)} {(SQ <"** Undefined foo subcommand \"bar\". Try \"help foo\".">)} {(DQ ($ VSub_Name "$msg"))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:msg) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_undefined_cmd)} {(foo)})]) left_token: spids: [184 188] ) } spids: [183] ) ] spids: [183] ) (C {(assertEquals)} {(SQ <"** Undefined command \"foo\". Try \"help\".">)} {(DQ ($ VSub_Name "$msg"))} ) ] spids: [131] ) spids: [127 130] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: {(/src/external-vcs/sourceforge/bashdb)} spids: [204] ) ] spids: [204] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:abs_top_srcdir) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)}) spids: [211 215] ) (/) } spids: [210] ) ] spids: [210] ) (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/lib/msg.sh)}) (C {(.)} {(${ VSub_Name abs_top_srcdir) (/init/io.sh)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_highlight) op:Equal rhs:{(SQ )} spids:[239])] spids: [239] ) (C {(set)} {(--)}) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number "$0")} right: {(${ VSub_Name BASH_SOURCE)} ) ) (C {(.)} {(${ VSub_Name shunit_file)}) ] op_id: Op_DAmp ) ] )