(CommandList
  children: [
    (FuncDef
      name: test_alias
      body: 
        (BraceGroup
          children: [
            (C {(_Dbg_alias_add)} {(u)} {(up)})
            (Sentence
              child: (C {(typeset)} {(Lit_VarLike "expanded_alias=") (SQ )})
              terminator: <Op_Semi ";">
            )
            (C {(_Dbg_alias_expand)} {(u)})
            (C {(assertEquals)} {(SQ <up>)} {($ VSub_Name "$expanded_alias")})
            (C {(_Dbg_alias_add)} {(q)} {(quit)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:expanded_alias)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [49]
                    )
                  ]
                  spids: [49]
                )
              terminator: <Op_Semi ";">
            )
            (C {(_Dbg_alias_expand)} {(q)})
            (C {(assertEquals)} {(SQ <quit>)} {($ VSub_Name "$expanded_alias")})
            (C {(typeset)} {(Lit_VarLike "aliases_found=") (SQ )})
            (C {(_Dbg_alias_find_aliased)} {(quit)})
            (C {(assertEquals)} {(SQ <q>)} {(DQ ($ VSub_Name "$aliases_found"))})
            (C {(_Dbg_alias_add)} {(exit)} {(quit)})
            (C {(_Dbg_alias_find_aliased)} {(quit)})
            (C {(assertEquals)} {(SQ <"exit, q">)} {(DQ ($ VSub_Name "$aliases_found"))})
            (C {(_Dbg_alias_remove)} {(q)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:expanded_alias)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [122]
                    )
                  ]
                  spids: [122]
                )
              terminator: <Op_Semi ";">
            )
            (C {(_Dbg_alias_expand)} {(q)})
            (C {(assertEquals)} {(SQ <q>)} {($ VSub_Name "$expanded_alias")})
            (C {(_Dbg_alias_find_aliased)} {(quit)})
            (C {(assertEquals)} {(SQ <exit>)} {(DQ ($ VSub_Name "$aliases_found"))})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:expanded_alias)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [159]
                    )
                  ]
                  spids: [159]
                )
              terminator: <Op_Semi ";">
            )
            (C {(_Dbg_alias_expand)} {(u)})
            (C {(assertEquals)} {(SQ <up>)} {($ VSub_Name "$expanded_alias")})
          ]
          spids: [10]
        )
      spids: [6 9]
    )
    (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 197]
        )
      ]
      spids: [-1 211]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:abs_top_srcdir)
          op: Equal
          rhs: {(/src/external-vcs/sourceforge/bashdb)}
          spids: [213]
        )
      ]
      spids: [213]
    )
    (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: [220 224]
              ) (/)
            }
          spids: [219]
        )
      ]
      spids: [219]
    )
    (C {(.)} {(${ VSub_Name abs_top_srcdir) (test/unit/helper.sh)})
    (C {(.)} {($ VSub_Name "$abs_top_srcdir") (/lib/help.sh)})
    (C {(.)} {($ VSub_Name "$abs_top_srcdir") (/lib/alias.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
    )
  ]
)