(CommandList
  children: [
    (FuncDef
      name: do_test
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file1)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(_Dbg_expand_filename)} {($ VSub_Number "$1")})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [16 20]
                      )
                    }
                  spids: [15]
                )
              ]
              spids: [15]
            )
            (C {(assertTrue)} {(SQ <"Should not have an error expanding $1">)} {(DQ ($ VSub_QMark "$?"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(_Dbg_expand_filename)} {($ VSub_Number "$2")})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [35 39]
                      )
                    }
                  spids: [34]
                )
              ]
              spids: [34]
            )
            (C {(assertEquals)} {(DQ ($ VSub_Name "$file1"))} {(DQ ($ VSub_Name "$file2"))})
          ]
          spids: [12]
        )
      spids: [7 10]
    )
    (FuncDef
      name: test_pre_expand_filename
      body: 
        (BraceGroup
          children: [
            (C {(do_test)} {(test-pre)} {(./test-pre)})
            (C {(do_test)} {(DQ ($ VSub_Name "$PWD") (/))} {(DQ (${ VSub_Name PWD) (/.))})
            (C {(do_test)} {(/tmp)} {(/tmp)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file1)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(echo)} {(TildeSubPart prefix:"")})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [92 96]
                      )
                    }
                  spids: [91]
                )
              ]
              spids: [91]
            )
            (C {(do_test)} {(DQ ($ VSub_Name "$file1"))} {(TildeSubPart prefix:"")})
          ]
          spids: [59]
        )
      spids: [55 58]
    )
    (FuncDef
      name: test_pre_do_show_version
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(Lit_VarLike "_Dbg_debugger_name=") (SQ <bashdb>)})
            (C {(typeset)} {(Lit_VarLike "_Dbg_release=") (SQ <4.4-0.92>)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version_string)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(_Dbg_do_show_version)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_GreatAnd
                                    fd: 2
                                    arg_word: {(1)}
                                    spids: [146]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [143 148]
                      )
                    }
                  spids: [142]
                )
              ]
              spids: [142]
            )
            (C {(assertEquals)} {(DQ ("bashdb, release 4.4-0.92"))} 
              {(DQ ($ VSub_Name "$version_string"))}
            )
          ]
          spids: [114]
        )
      spids: [110 113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:abs_top_srcdir)
          op: Equal
          rhs: {(/src/external-vcs/sourceforge/bashdb)}
          spids: [163]
        )
      ]
      spids: [163]
    )
    (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: [170 174]
              ) (/)
            }
          spids: [169]
        )
      ]
      spids: [169]
    )
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)})
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (/init/pre.sh)})
    (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
    )
  ]
)