(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:'ls-tree with(out) globs' 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:'\tmkdir a aa "a[a]" &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\ttouch a/one aa/two "a[a]/three" &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\tgit add a/one aa/two "a[a]/three" &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tgit commit -m test\n' span_id:26) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'ls-tree a[a] matches literally' span_id:33))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:37) (Token id:Id.Lit_Chars val:'\tcat >expect <<-EOF &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t100644 blob $EMPTY_BLOB\ta[a]/three\n' span_id:39) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit ls-tree -r HEAD "a[a]" >actual &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:42) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'ls-tree outside prefix' span_id:49))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:53) (Token id:Id.Lit_Chars val:'\tcat >expect <<-EOF &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\t100644 blob $EMPTY_BLOB\t../a[a]/three\n' span_id:55) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:56) (Token id:Id.Lit_Chars val:'\t( cd aa && git ls-tree -r HEAD "../a[a]"; ) >actual &&\n' span_id:57) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:58) ) } ) (C {(test_expect_failure)} {(SQ (Token id:Id.Lit_Chars val:'ls-tree does not yet support negated pathspec' span_id:65))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id: Id.Lit_Chars val: '\tgit ls-files ":(exclude)a" "a*" >expect &&\n' span_id: 70 ) (Token id: Id.Lit_Chars val: '\tgit ls-tree --name-only -r HEAD ":(exclude)a" "a*" >actual &&\n' span_id: 71 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:72) ) } ) (C {(test_done)}) ] )