(command.CommandList children: [ (command.ShFunction name: test_columnized body: (command.BraceGroup children: [ (command.ShFunction name: do_one body: (command.BraceGroup children: [ (C {(typeset)} {(Lit_VarLike 'cols=') (DQ ($ VSub_Number '$1'))}) (C {(shift)}) (C {(typeset)} {(Lit_VarLike 'last_line=') (DQ ($ VSub_Number '$1'))}) (C {(shift)}) (C {(typeset)} {(-a)} {(columnized)}) (C {(typeset)} {(-a)} {(list)}) (C {(eval)} {(DQ ('list=(') ($ VSub_Number '$1') (')'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_DEqual left: (arith_expr.ArithWord w:{($ VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Lit_Digits 3)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(columnize)} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$3'))}) ] ) ] else_action: [(C {(columnize)} {(DQ ($ VSub_Number '$2'))})] ) (C {(typeset)} {(Lit_VarLike 'size=') (braced_var_sub token: <VSub_Name columnized> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) (C {(assertEquals)} {(DQ ($ VSub_DollarName '$cols'))} {(DQ ($ VSub_DollarName '$size'))} ) (C {(assertEquals)} {(DQ ($ VSub_DollarName '$last_line'))} { (DQ (braced_var_sub token: <VSub_Name columnized> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Arith_Minus left: (arith_expr.ArithWord w:{($ VSub_DollarName '$size')}) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) ) ) } ) ] ) ) (C {(do_one)} {(1)} {(SQ <'<empty>'>)} {(SQ )}) (C {(do_one)} {(1)} {(SQ <'a,2,c'>)} {(SQ <'a 2 c'>)} {(10)} {(SQ <','>)}) (C {(do_one)} {(4)} {(SQ <'for 8 '>)} {(SQ <' 1 two three\n'> <' for 5 six\n'> <' 7 8'>)} {(12)} ) (C {(do_one)} {(3)} {(SQ <'3 six'>)} {(SQ <' 1 two 3\n'> <' for 5 six\n'> <' 7 8'>)} {(12)} ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(SQ </src/external-vcs/sourceforge/bashdb>)} {(Lit_Equals '=')} {(SQ )} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Something is wrong abs_top_srcdir is not set.'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:abs_top_srcdir) op: Equal rhs: {(/src/external-vcs/sourceforge/bashdb)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:abs_top_srcdir) op: Equal rhs: { (braced_var_sub token: <VSub_Name abs_top_srcdir> suffix_op: (suffix_op.Unary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)}) ) (/) } ) ] ) (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)}) (C {(.)} {($ VSub_DollarName '$abs_top_srcdir') (/lib/columnize.sh)}) (C {(KW_Set set)} {(--)}) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$0')} right: {(${ VSub_Name BASH_SOURCE)} ) ) (C {(.)} {(${ VSub_Name shunit_file)}) ] ) ] )