(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 submodule tests' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:29) (Token id:Id.Lit_Chars val:'\tcat > create-sm.patch <<EOF &&\n' span_id:30) (Token id:Id.Lit_Chars val:'diff --git a/dir/sm b/dir/sm\n' span_id:31) (Token id:Id.Lit_Chars val:'new file mode 160000\n' span_id:32) (Token id:Id.Lit_Chars val:'index 0000000..0123456\n' span_id:33) (Token id:Id.Lit_Chars val:'--- /dev/null\n' span_id:34) (Token id:Id.Lit_Chars val:'+++ b/dir/sm\n' span_id:35) (Token id:Id.Lit_Chars val:'@@ -0,0 +1 @@\n' span_id:36) (Token id: Id.Lit_Chars val: '+Subproject commit 0123456789abcdef0123456789abcdef01234567\n' span_id: 37 ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:38) (Token id:Id.Lit_Chars val:'\tcat > remove-sm.patch <<EOF\n' span_id:39) (Token id:Id.Lit_Chars val:'diff --git a/dir/sm b/dir/sm\n' span_id:40) (Token id:Id.Lit_Chars val:'deleted file mode 160000\n' span_id:41) (Token id:Id.Lit_Chars val:'index 0123456..0000000\n' span_id:42) (Token id:Id.Lit_Chars val:'--- a/dir/sm\n' span_id:43) (Token id:Id.Lit_Chars val:'+++ /dev/null\n' span_id:44) (Token id:Id.Lit_Chars val:'@@ -1 +0,0 @@\n' span_id:45) (Token id: Id.Lit_Chars val: '-Subproject commit 0123456789abcdef0123456789abcdef01234567\n' span_id: 46 ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:47) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'removing a submodule also removes all leading subdirectories' span_id: 54 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:58) (Token id:Id.Lit_Chars val:'\tgit apply --index create-sm.patch &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\ttest -d dir/sm &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\tgit apply --index remove-sm.patch &&\n' span_id:61) (Token id:Id.Lit_Chars val:'\ttest \\! -d dir\n' span_id:62) ) } ) (C {(test_done)}) ] )