(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:'git blame encoding conversion' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/t8005/utf8.txt)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/t8005/euc-japan.txt)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/t8005/sjis.txt)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup the repository' span_id:39))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) (Token id:Id.Lit_Chars val:'\t# Create the file\n' span_id:44) (Token id:Id.Lit_Chars val:'\techo "UTF-8 LINE" > file &&\n' span_id:45) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:46) (Token id: Id.Lit_Chars val: '\tgit commit --author "$UTF8_NAME <utf8@localhost>" -m "$UTF8_MSG" &&\n' span_id: 47 ) (Token id:Id.Lit_Chars val:'\n' span_id:48) (Token id:Id.Lit_Chars val:'\techo "EUC-JAPAN LINE" >> file &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:50) (Token id: Id.Lit_Chars val: '\tgit config i18n.commitencoding eucJP &&\n' span_id: 51 ) (Token id: Id.Lit_Chars val: '\tgit commit --author "$EUC_JAPAN_NAME <euc-japan@localhost>" -m "$EUC_JAPAN_MSG" &&\n' span_id: 52 ) (Token id:Id.Lit_Chars val:'\n' span_id:53) (Token id:Id.Lit_Chars val:'\techo "SJIS LINE" >> file &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:55) (Token id: Id.Lit_Chars val: '\tgit config i18n.commitencoding SJIS &&\n' span_id: 56 ) (Token id: Id.Lit_Chars val: '\tgit commit --author "$SJIS_NAME <sjis@localhost>" -m "$SJIS_MSG"\n' span_id: 57 ) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:63) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:66) fd: -1 here_begin: {(EOF)} here_end_span_id: 88 stdin_parts: [ ('author ') ($ Id.VSub_DollarName '$SJIS_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$SJIS_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$SJIS_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$SJIS_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$SJIS_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$SJIS_MSG') ('\n') ] ) ] ) (command.ShFunction name: filter_author_summary body: (command.BraceGroup children: [ (C {(sed)} {(-n)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^author /p' span_id:105))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'/^summary /p' span_id:111))} {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} {(SQ (Token id:Id.Lit_Chars val:'blame respects i18n.commitencoding' span_id:129))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:133) (Token id: Id.Lit_Chars val: '\tgit blame --incremental file >output &&\n' span_id: 134 ) (Token id:Id.Lit_Chars val:'\tfilter_author_summary output >actual &&\n' span_id:135) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:136) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:142) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:145) fd: -1 here_begin: {(EOF)} here_end_span_id: 167 stdin_parts: [ ('author ') ($ Id.VSub_DollarName '$EUC_JAPAN_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$EUC_JAPAN_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$EUC_JAPAN_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$EUC_JAPAN_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$EUC_JAPAN_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$EUC_JAPAN_MSG') ('\n') ] ) ] ) (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} {(SQ (Token id:Id.Lit_Chars val:'blame respects i18n.logoutputencoding' span_id:177))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:181) (Token id: Id.Lit_Chars val: '\tgit config i18n.logoutputencoding eucJP &&\n' span_id: 182 ) (Token id:Id.Lit_Chars val:'\tgit blame --incremental file >output &&\n' span_id:183) (Token id: Id.Lit_Chars val: '\tfilter_author_summary output >actual &&\n' span_id: 184 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:185) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:191) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:194) fd: -1 here_begin: {(EOF)} here_end_span_id: 216 stdin_parts: [ ('author ') ($ Id.VSub_DollarName '$UTF8_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$UTF8_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$UTF8_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$UTF8_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$UTF8_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$UTF8_MSG') ('\n') ] ) ] ) (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} {(SQ (Token id:Id.Lit_Chars val:'blame respects --encoding=UTF-8' span_id:226))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:230) (Token id: Id.Lit_Chars val: '\tgit blame --incremental --encoding=UTF-8 file >output &&\n' span_id: 231 ) (Token id:Id.Lit_Chars val:'\tfilter_author_summary output >actual &&\n' span_id:232) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:233) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:239) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:242) fd: -1 here_begin: {(EOF)} here_end_span_id: 264 stdin_parts: [ ('author ') ($ Id.VSub_DollarName '$SJIS_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$SJIS_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$EUC_JAPAN_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$EUC_JAPAN_MSG') ('\n') ('author ') ($ Id.VSub_DollarName '$UTF8_NAME') ('\n') ('summary ') ($ Id.VSub_DollarName '$UTF8_MSG') ('\n') ] ) ] ) (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} {(SQ (Token id:Id.Lit_Chars val:'blame respects --encoding=none' span_id:274))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:278) (Token id: Id.Lit_Chars val: '\tgit blame --incremental --encoding=none file >output &&\n' span_id: 279 ) (Token id:Id.Lit_Chars val:'\tfilter_author_summary output >actual &&\n' span_id:280) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:281) ) } ) (C {(test_done)}) ] )