(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 apply with weird postimage filenames' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\tvector=$TEST_DIRECTORY/t4135 &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\n' span_id:24) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:25) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit --allow-empty -m preimage &&\n'
            span_id: 26
          ) (Token id:Id.Lit_Chars val:'\tgit tag preimage &&\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\n' span_id:28) (Token id:Id.Lit_Chars val:'\treset_preimage() {\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\t\tgit checkout -f preimage^0 &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\t\tgit read-tree -u --reset HEAD &&\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\t\tgit update-index --refresh\n' span_id:32) (Token id:Id.Lit_Chars val:'\t} &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\n' span_id:34) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm -f \\"tab\tembedded.txt\\"" &&\n'
            span_id: 35
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm -f ' span_id:36)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:38)) 
        (SQ (Token id:Id.Lit_Chars val:'\\"quoteembedded\\".txt' span_id:40)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:42)) 
        (SQ (Token id:Id.Lit_Chars val:'" &&\n' span_id:44) 
          (Token id:Id.Lit_Chars val:'\tif test_have_prereq !MINGW &&\n' span_id:45) (Token id:Id.Lit_Chars val:'\t\ttouch -- "tab\tembedded.txt" ' span_id:46)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:48)) 
        (SQ (Token id:Id.Lit_Chars val:'"quoteembedded".txt' span_id:50)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:52)) 
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:54) 
          (Token id:Id.Lit_Chars val:'\tthen\n' span_id:55) (Token id:Id.Lit_Chars val:'\t\ttest_set_prereq FUNNYNAMES\n' span_id:56) 
          (Token id:Id.Lit_Chars val:'\tfi\n' span_id:57)
        )
      }
    )
    (command.ShFunction
      name: try_filename
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:desc)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [68]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:postimage)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$2')}
                  spids: [72]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:prereq)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: (Token id:Id.VSub_Number val:3 span_id:78)
                        suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{})
                      )
                    }
                  spids: [76]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:exp1)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: (Token id:Id.VSub_Number val:4 span_id:85)
                        suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(success)})
                      )
                    }
                  spids: [83]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:exp2)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: (Token id:Id.VSub_Number val:5 span_id:93)
                        suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(success)})
                      )
                    }
                  spids: [91]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:exp3)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: (Token id:Id.VSub_Number val:6 span_id:101)
                        suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(success)})
                      )
                    }
                  spids: [99]
                )
              ]
            )
            (C {(test_expect_) ($ Id.VSub_DollarName '$exp1')} {($ Id.VSub_DollarName '$prereq')} 
              {(DQ ($ Id.VSub_DollarName '$desc') (', git-style file creation patch'))} 
              {
                (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') 
                  ("\t\trm -f '") ($ Id.VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:126)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:127)) (vector) 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:129)
                  ) ("/'git-") ($ Id.VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") 
                  ($ Id.VSub_DollarName '$postimage') ("'\n") ('\t')
                )
              }
            )
            (C {(test_expect_) ($ Id.VSub_DollarName '$exp2')} {($ Id.VSub_DollarName '$prereq')} 
              {(DQ ($ Id.VSub_DollarName '$desc') (', traditional patch'))} 
              {
                (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') 
                  ("\t\techo preimage >'") ($ Id.VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:159)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:160)) (vector) 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:162)
                  ) ("/'diff-") ($ Id.VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") 
                  ($ Id.VSub_DollarName '$postimage') ("'\n") ('\t')
                )
              }
            )
            (C {(test_expect_) ($ Id.VSub_DollarName '$exp3')} {($ Id.VSub_DollarName '$prereq')} 
              {(DQ ($ Id.VSub_DollarName '$desc') (', traditional file creation patch'))} 
              {
                (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') 
                  ("\t\trm -f '") ($ Id.VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:192)
                  ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:193)) (vector) 
                  (word_part.EscapedLiteral
                    token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:195)
                  ) ("/'add-") ($ Id.VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") 
                  ($ Id.VSub_DollarName '$postimage') ("'\n") ('\t')
                )
              }
            )
          ]
        )
    )
    (C {(try_filename)} {(SQ (Token id:Id.Lit_Chars val:plain span_id:211))} 
      {(SQ (Token id:Id.Lit_Chars val:postimage.txt span_id:215))}
    )
    (C {(try_filename)} {(SQ (Token id:Id.Lit_Chars val:'with spaces' span_id:221))} 
      {(SQ (Token id:Id.Lit_Chars val:'post image.txt' span_id:225))}
    )
    (C {(try_filename)} {(SQ (Token id:Id.Lit_Chars val:'with tab' span_id:231))} 
      {(SQ (Token id:Id.Lit_Chars val:'post\timage.txt' span_id:235))} {(FUNNYNAMES)}
    )
    (C {(try_filename)} {(SQ (Token id:Id.Lit_Chars val:'with backslash' span_id:243))} 
      {(SQ (Token id:Id.Lit_Chars val:'post\\image.txt' span_id:247))} {(BSLASHPSPEC)}
    )
    (C {(try_filename)} {(SQ (Token id:Id.Lit_Chars val:'with quote' span_id:255))} 
      {(SQ (Token id:Id.Lit_Chars val:'"postimage".txt' span_id:259))} {(FUNNYNAMES)} {(success)} {(failure)} {(success)}
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'whitespace-damaged traditional patch' span_id:274))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:278) 
          (Token id:Id.Lit_Chars val:'\techo postimage >expected &&\n' span_id:279) (Token id:Id.Lit_Chars val:'\treset_preimage &&\n' span_id:280) 
          (Token id:Id.Lit_Chars val:'\trm -f postimage.txt &&\n' span_id:281) (Token id:Id.Lit_Chars val:'\tgit apply -v "$vector/damaged.diff" &&\n' span_id:282) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected postimage.txt\n' span_id:283)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'traditional patch with colon in timezone' span_id:290))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:294) 
          (Token id:Id.Lit_Chars val:'\techo postimage >expected &&\n' span_id:295) (Token id:Id.Lit_Chars val:'\treset_preimage &&\n' span_id:296) 
          (Token id:Id.Lit_Chars val:'\trm -f "post image.txt" &&\n' span_id:297) (Token id:Id.Lit_Chars val:'\tgit apply "$vector/funny-tz.diff" &&\n' span_id:298) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "post image.txt"\n' span_id:299)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'traditional, whitespace-damaged, colon in timezone'
            span_id: 306
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:310) 
          (Token id:Id.Lit_Chars val:'\techo postimage >expected &&\n' span_id:311) (Token id:Id.Lit_Chars val:'\treset_preimage &&\n' span_id:312) 
          (Token id:Id.Lit_Chars val:'\trm -f "post image.txt" &&\n' span_id:313) (Token id:Id.Lit_Chars val:'\tgit apply "$vector/damaged-tz.diff" &&\n' span_id:314) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected "post image.txt"\n' span_id:315)
        )
      }
    )
    (C {(test_done)})
  ]
)