/* 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 = createDate(goodInput, plContext); subTest("PKIX_PL_Date_Create "); *equalDate = createDate(goodInput, plContext); subTest("PKIX_PL_Date_Create "); *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); }