(CommandList
  children: [
    (FuncDef
      name: test_cmd_complete
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(_Dbg_do_complete)} {(c)})])
                        left_token: <Left_CommandSub "$(">
                        spids: [17 21]
                      )
                    }
                  spids: [16]
                )
              ]
              spids: [16]
            )
            (C {(assertEquals)} 
              {(SQ <"condition\n"> <"continue\n"> <"complete\n"> <"commands\n"> <clear>)} {(DQ ($ VSub_Name "$output"))}
            )
          ]
          spids: [13]
        )
      spids: [9 12]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(SQ </src/external-vcs/sourceforge/bashdb>)} {(Lit_Other "=")} {(SQ )} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(DQ ("Something is wrong; 'abs_top_srcdir' is not set."))})
            (C {(exit)} {(1)})
          ]
          spids: [-1 58]
        )
      ]
      spids: [-1 72]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:abs_top_srcdir)
          op: Equal
          rhs: {(/src/external-vcs/sourceforge/bashdb)}
          spids: [74]
        )
      ]
      spids: [74]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:abs_top_srcdir)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name abs_top_srcdir>
                suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)})
                spids: [81 85]
              ) (/)
            }
          spids: [80]
        )
      ]
      spids: [80]
    )
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)})
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (init/require.sh)})
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (lib/help.sh)})
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (lib/alias.sh)})
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (lib/complete.sh)})
    (ForEach
      iter_name: _Dbg_file
      iter_words: [{(${ VSub_Name abs_top_srcdir) (command/c) (Lit_Other "*") (.sh)}]
      do_arg_iter: False
      body: (DoGroup children:[(C {(source)} {($ VSub_Name "$_Dbg_file")})] spids:[139147])
      spids: [129 137]
    )
    (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
    )
  ]
)