From 60caf0246538f26ea867302021747a0f7eae0cda Mon Sep 17 00:00:00 2001 From: schu Date: Tue, 28 Jun 2011 17:06:06 +0200 Subject: [PATCH] t04-commit: add tests for git_signature__parse git_signature__parse used to be very strict about what's a well-formed signature. Add tests checking git_signature__parse can stick with "unexpected" signatures (IOW no author name and / or no email, etc). Signed-off-by: schu --- tests/t04-commit.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/tests/t04-commit.c b/tests/t04-commit.c index 415017aba..63d409ca3 100644 --- a/tests/t04-commit.c +++ b/tests/t04-commit.c @@ -241,6 +241,78 @@ BEGIN_TEST(parse1, "parse the signature line in a commit") 123456, -60); + /* Parse a signature without an author field */ + TEST_SIGNATURE_PASS( + "committer 123456 -0100 \n", + "committer ", + "", + "tanoku@gmail.com", + 123456, + -60); + + /* Parse a signature without an author field */ + TEST_SIGNATURE_PASS( + "committer 123456 -0100 \n", + "committer ", + "", + "tanoku@gmail.com", + 123456, + -60); + + /* Parse a signature with an empty author field */ + TEST_SIGNATURE_PASS( + "committer 123456 -0100 \n", + "committer ", + " ", + "tanoku@gmail.com", + 123456, + -60); + + /* Parse a signature with an empty email field */ + TEST_SIGNATURE_PASS( + "committer Vicent Marti <> 123456 -0100 \n", + "committer ", + "Vicent Marti", + "", + 123456, + -60); + + /* Parse a signature with an empty email field */ + TEST_SIGNATURE_PASS( + "committer Vicent Marti < > 123456 -0100 \n", + "committer ", + "Vicent Marti", + " ", + 123456, + -60); + + /* Parse a signature with empty name and email */ + TEST_SIGNATURE_PASS( + "committer <> 123456 -0100 \n", + "committer ", + "", + "", + 123456, + -60); + + /* Parse a signature with empty name and email */ + TEST_SIGNATURE_PASS( + "committer < > 123456 -0100 \n", + "committer ", + "", + " ", + 123456, + -60); + + /* Parse an obviously invalid signature */ + TEST_SIGNATURE_PASS( + "committer foo<@bar> 123456 -0100 \n", + "committer ", + "fo", + "@bar", + 123456, + -60); + TEST_SIGNATURE_FAIL( "committer Vicent Marti 123456 -1500 \n", "committer ");