(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description) op: assign_op.Equal rhs: {(SQ <'diff honors config option, diff.suppressBlankEmpty'>)} spids: [12] ) ] redirects: [] ) (C {<.>} {<'./test-lib.sh'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'> ch:E) <OF>} here_end_span_id: 43 stdin_parts: [ <'diff --git a/f b/f\n'> <'index 5f6a263..8cb8bae 100644\n'> <'--- a/f\n'> <'+++ b/f\n'> <'@@ -1,2 +1,2 @@\n'> <'\n'> <'-x\n'> <'+y\n'> ] ) ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<exp>}) ] more_env: [] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName test_description))} { (SQ <'printf "\\nx\\n" > f &&\n'> <' git add f &&\n'> <' git commit -q -m. f &&\n'> <' printf "\\ny\\n" > f &&\n'> <' git config --bool diff.suppressBlankEmpty true &&\n'> <' git diff f > actual &&\n'> <' test_cmp exp actual &&\n'> <' perl -i.bak -p -e "s/^\\$/ /" exp &&\n'> <' git config --bool diff.suppressBlankEmpty false &&\n'> <' git diff f > actual &&\n'> <' test_cmp exp actual &&\n'> <' git config --bool --unset diff.suppressBlankEmpty &&\n'> <' git diff f > actual &&\n'> <' test_cmp exp actual\n'> <' '> ) } ) (C {<test_done>}) ] )