(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'test git-specific bash prompt functions' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./lib-bash.sh)})
    (C {(.)} {(DQ ($ Id.VSub_DollarName '$GIT_BUILD_DIR') (/contrib/completion/git-prompt.sh))})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:actual)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$TRASH_DIRECTORY') (/actual))}
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:c_red)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'\\\\[\\\\e[31m\\\\]' span_id:40))}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:c_green)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'\\\\[\\\\e[32m\\\\]' span_id:45))}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:c_lblue)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'\\\\[\\\\e[1;34m\\\\]' span_id:50))}
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:c_clear)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'\\\\[\\\\e[0m\\\\]' span_id:55))}
          spids: [53]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup for prompt tests' span_id:62))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:66) 
          (Token id:Id.Lit_Chars val:'\tgit init otherrepo &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\techo 1 >file &&\n' span_id:68) 
          (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:70) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tgit tag -a -m msg1 t1 &&\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b b1 &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\techo 2 >file &&\n' span_id:74) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "second b1" file &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\techo 3 >file &&\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "third b1" file &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\tgit tag -a -m msg2 t2 &&\n' span_id:78) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b b2 master &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\techo 0 >file &&\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "second b2" file &&\n' span_id:81) (Token id:Id.Lit_Chars val:'\techo 00 >file &&\n' span_id:82) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m "another b2" file &&\n' span_id:83) (Token id:Id.Lit_Chars val:'\techo 000 >file &&\n' span_id:84) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -m "yet another b2" file &&\n'
            span_id: 85
          ) (Token id:Id.Lit_Chars val:'\tmkdir ignored_dir &&\n' span_id:86) 
          (Token id:Id.Lit_Chars val:'\techo "ignored_dir/" >>.gitignore &&\n' span_id:87) (Token id:Id.Lit_Chars val:'\tgit checkout master\n' span_id:88)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - branch name' span_id:95))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:99) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:100) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:101) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:102)
        )
      }
    )
    (C {(test_expect_success)} {(SYMLINKS)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - branch name - symlink symref' span_id:111))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:115) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:116) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:117) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_config core.preferSymlinkRefs true &&\n'
            span_id: 118
          ) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:119) 
          (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:120) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:121)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - unborn branch' span_id:128))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:132) 
          (Token id:Id.Lit_Chars val:'\tprintf " (unborn)" >expected &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit checkout --orphan unborn &&\n' span_id:134) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 135
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:136) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:137)
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:repo_with_newline)
          op: assign_op.Equal
          rhs: 
            {
              (SQ (Token id:Id.Lit_Chars val:'repo\n' span_id:143) 
                (Token id:Id.Lit_Chars val:'with\n' span_id:144) (Token id:Id.Lit_Chars val:newline span_id:145)
              )
            }
          spids: [141]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {(test_have_prereq)} {(Id.KW_Bang '!') (MINGW)})
                (command.Simple
                  words: [{(mkdir)} {(DQ ($ Id.VSub_DollarName '$repo_with_newline'))}]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'2>' span_id:164)
                      fd: 2
                      arg_word: {(/dev/null)}
                    )
                  ]
                )
              ]
            )
          ]
          action: [(C {(test_set_prereq)} {(FUNNYNAMES)})]
          spids: [149 167]
        )
      ]
      else_action: [
        (C {(say)} 
          {
            (SQ 
              (Token
                id: Id.Lit_Chars
                val: 'Your filesystem does not allow newlines in filenames.'
                span_id: 180
              )
            )
          }
        )
      ]
    )
    (C {(test_expect_success)} {(FUNNYNAMES)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - with newline in path' span_id:191))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:195) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:196) (Token id:Id.Lit_Chars val:'\tgit init "$repo_with_newline" &&\n' span_id:197) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -rf \\"$repo_with_newline\\"" &&\n'
            span_id: 198
          ) (Token id:Id.Lit_Chars val:'\tmkdir "$repo_with_newline"/subdir &&\n' span_id:199) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:200) (Token id:Id.Lit_Chars val:'\t\tcd "$repo_with_newline/subdir" &&\n' span_id:201) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:202) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:203) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:204)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - detached head' span_id:211))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:215) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " ((%s...))" $(git log -1 --format="%h" --abbrev=13 b1^) >expected &&\n'
            span_id: 216
          ) (Token id:Id.Lit_Chars val:'\ttest_config core.abbrev 13 &&\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\tgit checkout b1^ &&\n' span_id:218) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:219) 
          (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:220) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:221)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - describe detached head - contains' span_id:228))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:232) 
          (Token id:Id.Lit_Chars val:'\tprintf " ((t2~1))" >expected &&\n' span_id:233) (Token id:Id.Lit_Chars val:'\tgit checkout b1^ &&\n' span_id:234) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 235
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:236) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tGIT_PS1_DESCRIBE_STYLE=contains &&\n'
            span_id: 237
          ) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:238) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:240)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - describe detached head - branch' span_id:247))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:251) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " ((tags/t2~1))" >expected &&\n'
            span_id: 252
          ) (Token id:Id.Lit_Chars val:'\tgit checkout b1^ &&\n' span_id:253) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 254
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:255) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_DESCRIBE_STYLE=branch &&\n' span_id:256) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:257) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:258) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:259)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - describe detached head - describe' span_id:266))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:270) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " ((t1-1-g%s))" $(git log -1 --format="%h" b1^) >expected &&\n'
            span_id: 271
          ) (Token id:Id.Lit_Chars val:'\tgit checkout b1^ &&\n' span_id:272) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 273
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:274) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tGIT_PS1_DESCRIBE_STYLE=describe &&\n'
            span_id: 275
          ) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:276) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:277) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:278)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - describe detached head - default' span_id:285))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:289) 
          (Token id:Id.Lit_Chars val:'\tprintf " ((t2))" >expected &&\n' span_id:290) (Token id:Id.Lit_Chars val:'\tgit checkout --detach b1 &&\n' span_id:291) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 292
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:293) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:294)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - inside .git directory' span_id:301))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:305) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:306) (Token id:Id.Lit_Chars val:'\t(\n' span_id:307) 
          (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:308) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:309) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:310) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:311)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - deep inside .git directory' span_id:318))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:322) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:323) (Token id:Id.Lit_Chars val:'\t(\n' span_id:324) 
          (Token id:Id.Lit_Chars val:'\t\tcd .git/refs/heads &&\n' span_id:325) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:326) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:327) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:328)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - inside bare repository' span_id:335))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:339) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (BARE:master)" >expected &&\n'
            span_id: 340
          ) (Token id:Id.Lit_Chars val:'\tgit init --bare bare.git &&\n' span_id:341) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -rf bare.git" &&\n'
            span_id: 342
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:343) 
          (Token id:Id.Lit_Chars val:'\t\tcd bare.git &&\n' span_id:344) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:345) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:346) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:347)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - interactive rebase' span_id:354))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:358) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (b1|REBASE-i 2/3)" >expected &&\n'
            span_id: 359
          ) (Token id:Id.Lit_Chars val:'\twrite_script fake_editor.sh <<-\\EOF &&\n' span_id:360) 
          (Token id:Id.Lit_Chars val:'\t\techo "exec echo" >"$1"\n' span_id:361) (Token id:Id.Lit_Chars val:'\t\techo "edit $(git log -1 --format="%h")" >>"$1"\n' span_id:362) 
          (Token id:Id.Lit_Chars val:'\t\techo "exec echo" >>"$1"\n' span_id:363) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:364) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -f fake_editor.sh" &&\n'
            span_id: 365
          ) (Token id:Id.Lit_Chars val:'\ttest_set_editor "$TRASH_DIRECTORY/fake_editor.sh" &&\n' span_id:366) 
          (Token id:Id.Lit_Chars val:'\tgit checkout b1 &&\n' span_id:367) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:368) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD^ &&\n' span_id:369) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:370) 
          (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:371) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:372)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - rebase merge' span_id:379))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:383) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (b2|REBASE-m 1/3)" >expected &&\n'
            span_id: 384
          ) (Token id:Id.Lit_Chars val:'\tgit checkout b2 &&\n' span_id:385) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 386
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase --merge b1 b2 &&\n' span_id:387) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 388
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:389) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:390)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - rebase' span_id:397))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:401) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (b2|REBASE 1/3)" >expected &&\n'
            span_id: 402
          ) (Token id:Id.Lit_Chars val:'\tgit checkout b2 &&\n' span_id:403) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 404
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase b1 b2 &&\n' span_id:405) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 406
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:407) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:408)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - merge' span_id:415))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:419) 
          (Token id:Id.Lit_Chars val:'\tprintf " (b1|MERGING)" >expected &&\n' span_id:420) (Token id:Id.Lit_Chars val:'\tgit checkout b1 &&\n' span_id:421) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 422
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge b2 &&\n' span_id:423) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 424
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:425) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:426)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - cherry-pick' span_id:433))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:437) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (master|CHERRY-PICKING)" >expected &&\n'
            span_id: 438
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick b1 &&\n' span_id:439) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 440
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:441) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:442)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - bisect' span_id:449))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:453) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf " (master|BISECTING)" >expected &&\n'
            span_id: 454
          ) (Token id:Id.Lit_Chars val:'\tgit bisect start &&\n' span_id:455) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git bisect reset" &&\n'
            span_id: 456
          ) (Token id:Id.Lit_Chars val:'\t__git_ps1 >"$actual" &&\n' span_id:457) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:458)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - dirty status indicator - clean' span_id:465))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:469) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:470) (Token id:Id.Lit_Chars val:'\t(\n' span_id:471) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:472) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:473) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:474) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:475)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - dirty worktree'
            span_id: 482
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:486) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master *)" >expected &&\n' span_id:487) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:488) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 489
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:490) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:491) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:492) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:493) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:494)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - dirty status indicator - dirty index' span_id:501))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:505) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master +)" >expected &&\n' span_id:506) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:507) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 508
          ) (Token id:Id.Lit_Chars val:'\tgit add -u &&\n' span_id:509) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:510) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:511) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:512) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:513) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:514)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - dirty index and worktree'
            span_id: 521
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:525) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master *+)" >expected &&\n' span_id:526) (Token id:Id.Lit_Chars val:'\techo "dirty index" >file &&\n' span_id:527) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 528
          ) (Token id:Id.Lit_Chars val:'\tgit add -u &&\n' span_id:529) 
          (Token id:Id.Lit_Chars val:'\techo "dirty worktree" >file &&\n' span_id:530) (Token id:Id.Lit_Chars val:'\t(\n' span_id:531) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:532) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:533) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:534) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:535)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - orphan branch - clean'
            span_id: 542
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:546) 
          (Token id:Id.Lit_Chars val:'\tprintf " (orphan #)" >expected &&\n' span_id:547) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:548) 
          (Token id:Id.Lit_Chars val:'\tgit checkout --orphan orphan &&\n' span_id:549) (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:550) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:551) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:552) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:553) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:554) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:555)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - orphan branch - dirty index'
            span_id: 562
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:566) 
          (Token id:Id.Lit_Chars val:'\tprintf " (orphan +)" >expected &&\n' span_id:567) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:568) 
          (Token id:Id.Lit_Chars val:'\tgit checkout --orphan orphan &&\n' span_id:569) (Token id:Id.Lit_Chars val:'\t(\n' span_id:570) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:571) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:572) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:573) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:574)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - orphan branch - dirty index and worktree'
            span_id: 581
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:585) 
          (Token id:Id.Lit_Chars val:'\tprintf " (orphan *+)" >expected &&\n' span_id:586) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git checkout master" &&\n' span_id:587) 
          (Token id:Id.Lit_Chars val:'\tgit checkout --orphan orphan &&\n' span_id:588) (Token id:Id.Lit_Chars val:'\t>file &&\n' span_id:589) (Token id:Id.Lit_Chars val:'\t(\n' span_id:590) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:591) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:592) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:593) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:594)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - shell variable unset with config disabled'
            span_id: 601
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:605) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:606) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:607) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 608
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.showDirtyState false &&\n' span_id:609) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:610) (Token id:Id.Lit_Chars val:'\t\tsane_unset GIT_PS1_SHOWDIRTYSTATE &&\n' span_id:611) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:612) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:613) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:614)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - shell variable unset with config enabled'
            span_id: 621
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:625) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:626) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:627) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 628
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.showDirtyState true &&\n' span_id:629) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:630) (Token id:Id.Lit_Chars val:'\t\tsane_unset GIT_PS1_SHOWDIRTYSTATE &&\n' span_id:631) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:632) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:633) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:634)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - shell variable set with config disabled'
            span_id: 641
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:645) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:646) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:647) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 648
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.showDirtyState false &&\n' span_id:649) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:650) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:651) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:652) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:653) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:654)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - shell variable set with config enabled'
            span_id: 661
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:665) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master *)" >expected &&\n' span_id:666) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:667) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 668
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.showDirtyState true &&\n' span_id:669) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:670) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:671) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:672) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:673) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:674)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - dirty status indicator - not shown inside .git directory'
            span_id: 681
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:685) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:686) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:687) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 688
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:689) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:690) (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:691) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:692) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:693) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:694)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - stash status indicator - no stash' span_id:701))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:705) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:706) (Token id:Id.Lit_Chars val:'\t(\n' span_id:707) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWSTASHSTATE=y &&\n' span_id:708) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:709) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:710) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:711)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - stash status indicator - stash' span_id:718))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:722) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master $)" >expected &&\n' span_id:723) (Token id:Id.Lit_Chars val:'\techo 2 >file &&\n' span_id:724) 
          (Token id:Id.Lit_Chars val:'\tgit stash &&\n' span_id:725) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git stash drop" &&\n' span_id:726) 
          (Token id:Id.Lit_Chars val:'\tgit pack-refs --all &&\n' span_id:727) (Token id:Id.Lit_Chars val:'\t(\n' span_id:728) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWSTASHSTATE=y &&\n' span_id:729) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:730) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:731) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:732)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - stash status indicator - not shown inside .git directory'
            span_id: 739
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:743) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:744) (Token id:Id.Lit_Chars val:'\techo 2 >file &&\n' span_id:745) 
          (Token id:Id.Lit_Chars val:'\tgit stash &&\n' span_id:746) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git stash drop" &&\n' span_id:747) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:748) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWSTASHSTATE=y &&\n' span_id:749) 
          (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:750) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:751) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:752) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:753)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - no untracked files'
            span_id: 760
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:764) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:765) (Token id:Id.Lit_Chars val:'\t(\n' span_id:766) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:767) (Token id:Id.Lit_Chars val:'\t\tcd otherrepo &&\n' span_id:768) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:769) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:770) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:771)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - untracked files'
            span_id: 778
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:782) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master %%)" >expected &&\n' span_id:783) (Token id:Id.Lit_Chars val:'\t(\n' span_id:784) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:785) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:786) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:787) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:788)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - empty untracked dir'
            span_id: 795
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:799) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:800) (Token id:Id.Lit_Chars val:'\tmkdir otherrepo/untracked-dir &&\n' span_id:801) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -rf otherrepo/untracked-dir" &&\n'
            span_id: 802
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:803) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:804) (Token id:Id.Lit_Chars val:'\t\tcd otherrepo &&\n' span_id:805) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:806) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:807) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:808)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - non-empty untracked dir'
            span_id: 815
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:819) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master %%)" >expected &&\n' span_id:820) (Token id:Id.Lit_Chars val:'\tmkdir otherrepo/untracked-dir &&\n' span_id:821) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -rf otherrepo/untracked-dir" &&\n'
            span_id: 822
          ) (Token id:Id.Lit_Chars val:'\t>otherrepo/untracked-dir/untracked-file &&\n' span_id:823) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:824) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:825) 
          (Token id:Id.Lit_Chars val:'\t\tcd otherrepo &&\n' span_id:826) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:827) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:828) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:829)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - untracked files outside cwd'
            span_id: 836
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:840) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master %%)" >expected &&\n' span_id:841) (Token id:Id.Lit_Chars val:'\t(\n' span_id:842) 
          (Token id:Id.Lit_Chars val:'\t\tmkdir -p ignored_dir &&\n' span_id:843) (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:844) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:845) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:846) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:847) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:848)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'prompt - untracked files status indicator - shell variable unset with config disabled'
            span_id: 855
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:859) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:860) (Token id:Id.Lit_Chars val:'\ttest_config bash.showUntrackedFiles false &&\n' span_id:861) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:862) (Token id:Id.Lit_Chars val:'\t\tsane_unset GIT_PS1_SHOWUNTRACKEDFILES &&\n' span_id:863) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:864) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:865) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:866)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'prompt - untracked files status indicator - shell variable unset with config enabled'
            span_id: 873
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:877) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:878) (Token id:Id.Lit_Chars val:'\ttest_config bash.showUntrackedFiles true &&\n' span_id:879) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:880) (Token id:Id.Lit_Chars val:'\t\tsane_unset GIT_PS1_SHOWUNTRACKEDFILES &&\n' span_id:881) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:882) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:883) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:884)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'prompt - untracked files status indicator - shell variable set with config disabled'
            span_id: 891
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:895) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:896) (Token id:Id.Lit_Chars val:'\ttest_config bash.showUntrackedFiles false &&\n' span_id:897) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:898) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:899) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:900) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:901) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:902)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'prompt - untracked files status indicator - shell variable set with config enabled'
            span_id: 909
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:913) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master %%)" >expected &&\n' span_id:914) (Token id:Id.Lit_Chars val:'\ttest_config bash.showUntrackedFiles true &&\n' span_id:915) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:916) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:917) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:918) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:919) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:920)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - untracked files status indicator - not shown inside .git directory'
            span_id: 927
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:931) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:932) (Token id:Id.Lit_Chars val:'\t(\n' span_id:933) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:934) (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:935) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:936) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:937) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:938)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - format string starting with dash' span_id:945))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:949) 
          (Token id:Id.Lit_Chars val:'\tprintf -- "-master" >expected &&\n' span_id:950) (Token id:Id.Lit_Chars val:'\t__git_ps1 "-%s" >"$actual" &&\n' span_id:951) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:952)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prompt - pc mode' span_id:959))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:963) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE: (\\${__git_ps1_branch_name}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 964
          ) (Token id:Id.Lit_Chars val:'\tprintf "" >expected_output &&\n' span_id:965) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:966) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" >"$actual" &&\n' span_id:967) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_cmp expected_output "$actual" &&\n'
            span_id: 968
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 969
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:970) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:971)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - bash color pc mode - branch name' span_id:978))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:982) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 983
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:984) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:985) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" >"$actual"\n' span_id:986) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 987
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:988) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:989)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - bash color pc mode - detached head' span_id:996))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1000) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_red}\\${__git_ps1_branch_name}${c_clear}):AFTER\\\\n(%s...)" $(git log -1 --format="%h" b1^) >expected &&\n'
            span_id: 1001
          ) (Token id:Id.Lit_Chars val:'\tgit checkout b1^ &&\n' span_id:1002) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git checkout master" &&\n'
            span_id: 1003
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1004) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1005) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1006) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1007
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1008) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1009)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - dirty status indicator - dirty worktree'
            span_id: 1016
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1020) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1021
          ) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:1022) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 1023
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1024) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:1025) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1026) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1027) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1028
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1029) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1030)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - dirty status indicator - dirty index'
            span_id: 1037
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1041) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_green}+${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1042
          ) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:1043) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 1044
          ) (Token id:Id.Lit_Chars val:'\tgit add -u &&\n' span_id:1045) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1046) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:1047) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1048) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1049) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1050
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1051) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1052)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - dirty status indicator - dirty index and worktree'
            span_id: 1059
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1063) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_red}*${c_green}+${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1064
          ) (Token id:Id.Lit_Chars val:'\techo "dirty index" >file &&\n' span_id:1065) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 1066
          ) (Token id:Id.Lit_Chars val:'\tgit add -u &&\n' span_id:1067) 
          (Token id:Id.Lit_Chars val:'\techo "dirty worktree" >file &&\n' span_id:1068) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1069) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1070) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:1071) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1072) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1073
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1074) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1075)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - dirty status indicator - before root commit'
            span_id: 1082
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1086) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_green}#${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1087
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1088) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:1089) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1090) 
          (Token id:Id.Lit_Chars val:'\t\tcd otherrepo &&\n' span_id:1091) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1092) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1093
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1094) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1095)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - inside .git directory'
            span_id: 1102
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1106) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear}):AFTER\\\\nGIT_DIR!" >expected &&\n'
            span_id: 1107
          ) (Token id:Id.Lit_Chars val:'\techo "dirty" >file &&\n' span_id:1108) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git reset --hard" &&\n'
            span_id: 1109
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1110) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWDIRTYSTATE=y &&\n' span_id:1111) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1112) 
          (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:1113) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1114) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1115
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1116) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1117)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - stash status indicator'
            span_id: 1124
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1128) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_lblue}\\$${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1129
          ) (Token id:Id.Lit_Chars val:'\techo 2 >file &&\n' span_id:1130) 
          (Token id:Id.Lit_Chars val:'\tgit stash &&\n' span_id:1131) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git stash drop" &&\n' span_id:1132) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1133) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWSTASHSTATE=y &&\n' span_id:1134) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1135) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1136) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1137
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1138) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1139)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - bash color pc mode - untracked files status indicator'
            span_id: 1146
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1150) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tprintf "BEFORE: (${c_green}\\${__git_ps1_branch_name}${c_clear} ${c_red}%%${c_clear}):AFTER\\\\nmaster" >expected &&\n'
            span_id: 1151
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1152) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWUNTRACKEDFILES=y &&\n' span_id:1153) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1154) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1155) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tprintf "%s\\\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"\n'
            span_id: 1156
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1157) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1158)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prompt - zsh color pc mode' span_id:1165))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1169) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE: (%%F{green}master%%f):AFTER" >expected &&\n'
            span_id: 1170
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1171) 
          (Token id:Id.Lit_Chars val:'\t\tZSH_VERSION=5.0.0 &&\n' span_id:1172) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_SHOWCOLORHINTS=y &&\n' span_id:1173) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1174) (Token id:Id.Lit_Chars val:'\t\tprintf "%s" "$PS1" >"$actual"\n' span_id:1175) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1176) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1177)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var unset, config disabled'
            span_id: 1184
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1188) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:1189) (Token id:Id.Lit_Chars val:'\ttest_config bash.hideIfPwdIgnored false &&\n' span_id:1190) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1191) (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1192) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:1193) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1194) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1195)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var unset, config disabled, pc mode'
            span_id: 1202
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1206) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE: (\\${__git_ps1_branch_name}):AFTER" >expected &&\n'
            span_id: 1207
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.hideIfPwdIgnored false &&\n' span_id:1208) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1209) (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1210) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1211) (Token id:Id.Lit_Chars val:'\t\tprintf "%s" "$PS1" >"$actual"\n' span_id:1212) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1213) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1214)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var unset, config unset'
            span_id: 1221
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1225) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:1226) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1227) 
          (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1228) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:1229) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1230) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1231)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var unset, config unset, pc mode'
            span_id: 1238
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1242) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE: (\\${__git_ps1_branch_name}):AFTER" >expected &&\n'
            span_id: 1243
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1244) 
          (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1245) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1246) 
          (Token id:Id.Lit_Chars val:'\t\tprintf "%s" "$PS1" >"$actual"\n' span_id:1247) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1248) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1249)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var set, config disabled'
            span_id: 1256
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1260) 
          (Token id:Id.Lit_Chars val:'\tprintf " (master)" >expected &&\n' span_id:1261) (Token id:Id.Lit_Chars val:'\ttest_config bash.hideIfPwdIgnored false &&\n' span_id:1262) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1263) (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1264) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1265) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:1266) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1267) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1268)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var set, config disabled, pc mode'
            span_id: 1275
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1279) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE: (\\${__git_ps1_branch_name}):AFTER" >expected &&\n'
            span_id: 1280
          ) (Token id:Id.Lit_Chars val:'\ttest_config bash.hideIfPwdIgnored false &&\n' span_id:1281) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:1282) (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1283) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1284) (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1285) 
          (Token id:Id.Lit_Chars val:'\t\tprintf "%s" "$PS1" >"$actual"\n' span_id:1286) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1287) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1288)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var set, config unset'
            span_id: 1295
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1299) 
          (Token id:Id.Lit_Chars val:'\tprintf "" >expected &&\n' span_id:1300) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1301) 
          (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1302) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1303) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual"\n' span_id:1304) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1305) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1306)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - env var set, config unset, pc mode'
            span_id: 1313
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1317) 
          (Token
            id: Id.Lit_Chars
            val: '\tprintf "BEFORE::AFTER" >expected &&\n'
            span_id: 1318
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1319) 
          (Token id:Id.Lit_Chars val:'\t\tcd ignored_dir &&\n' span_id:1320) (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1321) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 "BEFORE:" ":AFTER" &&\n' span_id:1322) (Token id:Id.Lit_Chars val:'\t\tprintf "%s" "$PS1" >"$actual"\n' span_id:1323) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1324) (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1325)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - inside gitdir (stdout)'
            span_id: 1332
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1336) 
          (Token id:Id.Lit_Chars val:'\tprintf " (GIT_DIR!)" >expected &&\n' span_id:1337) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1338) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1339) (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:1340) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >"$actual" 2>/dev/null\n' span_id:1341) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1342) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1343)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prompt - hide if pwd ignored - inside gitdir (stderr)'
            span_id: 1350
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1354) 
          (Token id:Id.Lit_Chars val:'\tprintf "" >expected &&\n' span_id:1355) (Token id:Id.Lit_Chars val:'\t(\n' span_id:1356) 
          (Token id:Id.Lit_Chars val:'\t\tGIT_PS1_HIDE_IF_PWD_IGNORED=y &&\n' span_id:1357) (Token id:Id.Lit_Chars val:'\t\tcd .git &&\n' span_id:1358) 
          (Token id:Id.Lit_Chars val:'\t\t__git_ps1 >/dev/null 2>"$actual"\n' span_id:1359) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:1360) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "$actual"\n' span_id:1361)
        )
      }
    )
    (C {(test_done)})
  ]
)