#!/bin/sh # # Copyright (c) 2010 Ævar Arnfjörð Bjarmason # global test_description := ''Gettext Shell fallbacks'' global GIT_INTERNAL_GETTEXT_TEST_FALLBACKS := 'YesPlease' export GIT_INTERNAL_GETTEXT_TEST_FALLBACKS source ./lib-gettext.sh test_expect_success "sanity: \$GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to $GIT_INTERNAL_GETTEXT_SH_SCHEME)" ' test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME" ' test_expect_success 'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set' ' test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" ' test_expect_success C_LOCALE_OUTPUT 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough' ' echo fallthrough >expect && echo $GIT_INTERNAL_GETTEXT_SH_SCHEME >actual && test_cmp expect actual ' test_expect_success 'gettext: our gettext() fallback has pass-through semantics' ' printf "test" >expect && gettext "test" >actual && test_i18ncmp expect actual && printf "test more words" >expect && gettext "test more words" >actual && test_i18ncmp expect actual ' test_expect_success 'eval_gettext: our eval_gettext() fallback has pass-through semantics' ' printf "test" >expect && eval_gettext "test" >actual && test_i18ncmp expect actual && printf "test more words" >expect && eval_gettext "test more words" >actual && test_i18ncmp expect actual ' test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate variables' ' printf "test YesPlease" >expect && GIT_INTERNAL_GETTEXT_TEST_FALLBACKS=YesPlease eval_gettext "test \$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" >actual && test_i18ncmp expect actual ' test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces' ' cmdline="git am" && export cmdline && printf "When you have resolved this problem, run git am --resolved." >expect && eval_gettext "When you have resolved this problem, run \$cmdline --resolved." >actual && test_i18ncmp expect actual ' test_expect_success 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes' ' cmdline="git am" && export cmdline && printf "When you have resolved this problem, run \"git am --resolved\"." >expect && eval_gettext "When you have resolved this problem, run \"\$cmdline --resolved\"." >actual && test_i18ncmp expect actual ' test_done (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:) ("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)}) ] )