| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| /* |
| * test_date.c |
| * |
| * Test Date Type |
| * |
| */ |
| |
| #include "testutil.h" |
| #include "testutil_nss.h" |
| |
| static void *plContext = NULL; |
| |
| static void |
| createDates(char *goodInput, char *diffInput, |
| PKIX_PL_Date **goodDate, |
| PKIX_PL_Date **equalDate, |
| PKIX_PL_Date **diffDate) |
| { |
| |
| subTest("PKIX_PL_Date_Create <goodDate>"); |
| *goodDate = createDate(goodInput, plContext); |
| |
| subTest("PKIX_PL_Date_Create <equalDate>"); |
| *equalDate = createDate(goodInput, plContext); |
| |
| subTest("PKIX_PL_Date_Create <diffDate>"); |
| *diffDate = createDate(diffInput, plContext); |
| } |
| |
| static void |
| testDestroy(void *goodObject, void *equalObject, void *diffObject) |
| { |
| PKIX_TEST_STD_VARS(); |
| |
| subTest("PKIX_PL_Date_Destroy"); |
| |
| PKIX_TEST_DECREF_BC(goodObject); |
| PKIX_TEST_DECREF_BC(equalObject); |
| PKIX_TEST_DECREF_BC(diffObject); |
| |
| cleanup: |
| |
| PKIX_TEST_RETURN(); |
| } |
| |
| static void |
| testDate(char *goodInput, char *diffInput) |
| { |
| |
| PKIX_PL_Date *goodDate = NULL; |
| PKIX_PL_Date *equalDate = NULL; |
| PKIX_PL_Date *diffDate = NULL; |
| |
| /* |
| * The ASCII rep of the date will vary by platform and locale |
| * This particular string was generated on a SPARC running Solaris 9 |
| * in an English locale |
| */ |
| /* char *expectedAscii = "Mon Mar 29 08:48:47 2004"; */ |
| char *expectedAscii = "Mon Mar 29, 2004"; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| createDates(goodInput, diffInput, |
| &goodDate, &equalDate, &diffDate); |
| |
| PKIX_TEST_EQ_HASH_TOSTR_DUP(goodDate, equalDate, diffDate, expectedAscii, Date, PKIX_TRUE); |
| |
| testDestroy(goodDate, equalDate, diffDate); |
| |
| PKIX_TEST_RETURN(); |
| } |
| |
| int |
| test_date(int argc, char *argv[]) |
| { |
| |
| char *goodInput = NULL; |
| char *diffInput = NULL; |
| PKIX_UInt32 actualMinorVersion; |
| PKIX_UInt32 j = 0; |
| |
| PKIX_TEST_STD_VARS(); |
| |
| startTests("Date"); |
| |
| PKIX_TEST_EXPECT_NO_ERROR( |
| PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); |
| |
| goodInput = "040329134847Z"; |
| diffInput = "050329135847Z"; |
| testDate(goodInput, diffInput); |
| |
| cleanup: |
| |
| PKIX_Shutdown(plContext); |
| |
| PKIX_TEST_RETURN(); |
| |
| endTests("Date"); |
| |
| return (0); |
| } |