(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'Gettext Shell fallbacks'>)}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GIT_INTERNAL_GETTEXT_TEST_FALLBACKS)
          op: Equal
          rhs: {(YesPlease)}
          spids: [19]
        )
      ]
      spids: [19]
    )
    (C {(export)} {(GIT_INTERNAL_GETTEXT_TEST_FALLBACKS)})
    (C {(.)} {(./lib-gettext.sh)})
    (C {(test_expect_success)} 
      {
        (DQ ('sanity: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
          ('GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to ') ($ VSub_Name '$GIT_INTERNAL_GETTEXT_SH_SCHEME') (')')
        )
      } {(SQ <'\n'> <'    test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME"\n'>)}
    )
    (C {(test_expect_success)} {(SQ <'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set'>)} 
      {(SQ <'\n'> <'    test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"\n'>)}
    )
    (C {(test_expect_success)} {(C_LOCALE_OUTPUT)} 
      {(SQ <'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough'>)} 
      {
        (SQ <'\n'> <'    echo fallthrough >expect &&\n'> 
          <'    echo $GIT_INTERNAL_GETTEXT_SH_SCHEME >actual &&\n'> <'    test_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'gettext: our gettext() fallback has pass-through semantics'>)} 
      {
        (SQ <'\n'> <'    printf "test" >expect &&\n'> <'    gettext "test" >actual &&\n'> 
          <'    test_i18ncmp expect actual &&\n'> <'    printf "test more words" >expect &&\n'> <'    gettext "test more words" >actual &&\n'> 
          <'    test_i18ncmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'eval_gettext: our eval_gettext() fallback has pass-through semantics'>)} 
      {
        (SQ <'\n'> <'    printf "test" >expect &&\n'> <'    eval_gettext "test" >actual &&\n'> 
          <'    test_i18ncmp expect actual &&\n'> <'    printf "test more words" >expect &&\n'> <'    eval_gettext "test more words" >actual &&\n'> 
          <'    test_i18ncmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'eval_gettext: our eval_gettext() fallback can interpolate variables'>)} 
      {
        (SQ <'\n'> <'    printf "test YesPlease" >expect &&\n'> 
          <
'    GIT_INTERNAL_GETTEXT_TEST_FALLBACKS=YesPlease eval_gettext "test \\$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" >actual &&\n'
          > <'    test_i18ncmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces'>)} 
      {
        (SQ <'\n'> <'    cmdline="git am" &&\n'> <'    export cmdline &&\n'> 
          <'    printf "When you have resolved this problem, run git am --resolved." >expect &&\n'> <'    eval_gettext "When you have resolved this problem, run \\$cmdline --resolved." >actual &&\n'> 
          <'    test_i18ncmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          <
'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes'
          >
        )
      } 
      {
        (SQ <'\n'> <'    cmdline="git am" &&\n'> <'    export cmdline &&\n'> 
          <
'    printf "When you have resolved this problem, run \\"git am --resolved\\"." >expect &&\n'
          > 
          <
'    eval_gettext "When you have resolved this problem, run \\"\\$cmdline --resolved\\"." >actual &&\n'
          > <'    test_i18ncmp expect actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)