(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:'Gettext Shell fallbacks' span_id:15))}
          spids: [13]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GIT_INTERNAL_GETTEXT_TEST_FALLBACKS)
          op: assign_op.Equal
          rhs: {(YesPlease)}
          spids: [19]
        )
      ]
    )
    (C {(export)} {(GIT_INTERNAL_GETTEXT_TEST_FALLBACKS)})
    (C {(.)} {(./lib-gettext.sh)})
    (C {(test_expect_success)} 
      {
        (DQ ('sanity: ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:36)
          ) ('GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to ') 
          ($ Id.VSub_DollarName '$GIT_INTERNAL_GETTEXT_SH_SCHEME') (')')
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) 
          (Token
            id: Id.Lit_Chars
            val: '    test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME"\n'
            span_id: 44
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set'
            span_id: 51
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:55) 
          (Token
            id: Id.Lit_Chars
            val: '    test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"\n'
            span_id: 56
          )
        )
      }
    )
    (C {(test_expect_success)} {(C_LOCALE_OUTPUT)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough'
            span_id: 65
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) 
          (Token id:Id.Lit_Chars val:'    echo fallthrough >expect &&\n' span_id:70) (Token id:Id.Lit_Chars val:'    echo $GIT_INTERNAL_GETTEXT_SH_SCHEME >actual &&\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'    test_cmp expect actual\n' span_id:72)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'gettext: our gettext() fallback has pass-through semantics'
            span_id: 79
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) 
          (Token id:Id.Lit_Chars val:'    printf "test" >expect &&\n' span_id:84) (Token id:Id.Lit_Chars val:'    gettext "test" >actual &&\n' span_id:85) 
          (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual &&\n' span_id:86) (Token id:Id.Lit_Chars val:'    printf "test more words" >expect &&\n' span_id:87) 
          (Token
            id: Id.Lit_Chars
            val: '    gettext "test more words" >actual &&\n'
            span_id: 88
          ) (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual\n' span_id:89)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'eval_gettext: our eval_gettext() fallback has pass-through semantics'
            span_id: 96
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:100) 
          (Token id:Id.Lit_Chars val:'    printf "test" >expect &&\n' span_id:101) (Token id:Id.Lit_Chars val:'    eval_gettext "test" >actual &&\n' span_id:102) 
          (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual &&\n' span_id:103) (Token id:Id.Lit_Chars val:'    printf "test more words" >expect &&\n' span_id:104) 
          (Token
            id: Id.Lit_Chars
            val: '    eval_gettext "test more words" >actual &&\n'
            span_id: 105
          ) (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual\n' span_id:106)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'eval_gettext: our eval_gettext() fallback can interpolate variables'
            span_id: 113
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:117) 
          (Token
            id: Id.Lit_Chars
            val: '    printf "test YesPlease" >expect &&\n'
            span_id: 118
          ) 
          (Token
            id: Id.Lit_Chars
            val: 
'    GIT_INTERNAL_GETTEXT_TEST_FALLBACKS=YesPlease eval_gettext "test \\$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" >actual &&\n'
            span_id: 119
          ) (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual\n' span_id:120)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces'
            span_id: 127
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:131) 
          (Token id:Id.Lit_Chars val:'    cmdline="git am" &&\n' span_id:132) (Token id:Id.Lit_Chars val:'    export cmdline &&\n' span_id:133) 
          (Token
            id: Id.Lit_Chars
            val: 
'    printf "When you have resolved this problem, run git am --resolved." >expect &&\n'
            span_id: 134
          ) 
          (Token
            id: Id.Lit_Chars
            val: 
'    eval_gettext "When you have resolved this problem, run \\$cmdline --resolved." >actual &&\n'
            span_id: 135
          ) (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual\n' span_id:136)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 
'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes'
            span_id: 143
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:147) 
          (Token id:Id.Lit_Chars val:'    cmdline="git am" &&\n' span_id:148) (Token id:Id.Lit_Chars val:'    export cmdline &&\n' span_id:149) 
          (Token
            id: Id.Lit_Chars
            val: 
'    printf "When you have resolved this problem, run \\"git am --resolved\\"." >expect &&\n'
            span_id: 150
          ) 
          (Token
            id: Id.Lit_Chars
            val: 
'    eval_gettext "When you have resolved this problem, run \\"\\$cmdline --resolved\\"." >actual &&\n'
            span_id: 151
          ) (Token id:Id.Lit_Chars val:'    test_i18ncmp expect actual\n' span_id:152)
        )
      }
    )
    (C {(test_done)})
  ]
)