(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'basic sanity checks for git var'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <'get GIT_AUTHOR_IDENT'>)} { (SQ <'\n'> <'\ttest_tick &&\n'> <'\techo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&\n'> <'\tgit var GIT_AUTHOR_IDENT >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {<test_expect_success>} {(SQ <'get GIT_COMMITTER_IDENT'>)} { (SQ <'\n'> <'\ttest_tick &&\n'> <'\techo "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" >expect &&\n'> <'\tgit var GIT_COMMITTER_IDENT >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {<test_expect_success>} {<Id.KW_Bang '!'> <AUTOIDENT>} {(SQ <'requested identites are strict'>)} { (SQ <'\n'> <'\t(\n'> <'\t\tsane_unset GIT_COMMITTER_NAME &&\n'> <'\t\tsane_unset GIT_COMMITTER_EMAIL &&\n'> <'\t\ttest_must_fail git var GIT_COMMITTER_IDENT\n'> <'\t)\n'> ) } ) (C {<test_expect_success>} {(SQ <'git var -l lists variables'>)} { (SQ <'\n'> <'\tgit var -l >actual &&\n'> <'\techo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&\n'> <'\tsed -n s/GIT_AUTHOR_IDENT=//p <actual >actual.author &&\n'> <'\ttest_cmp expect actual.author\n'> ) } ) (C {<test_expect_success>} {(SQ <'git var -l lists config'>)} { (SQ <'\n'> <'\tgit var -l >actual &&\n'> <'\techo false >expect &&\n'> <'\tsed -n s/core\\\\.bare=//p <actual >actual.bare &&\n'> <'\ttest_cmp expect actual.bare\n'> ) } ) (C {<test_expect_success>} {(SQ <'listing and asking for variables are exclusive'>)} {(SQ <'\n'> <'\ttest_must_fail git var -l GIT_COMMITTER_IDENT\n'>)} ) (C {<test_done>}) ] )