int fromstdin = 0;
-
+int parse_email = 0;
static void TestRevalidateStrBuf(StrBuf *Buf)
{
CU_ASSERT(strlen(ChrPtr(Buf)) == StrLength(Buf));
}
+static void TestEncodeEmail(void)
+{
+ StrBuf *Target;
+ StrBuf *Source;
+ StrBuf *UserName = NewStrBuf();
+ StrBuf *EmailAddress = NewStrBuf();
+ StrBuf *EncBuf = NewStrBuf();
+
+ Source = NewStrBuf();
+
+// Source = NewStrBufPlain(HKEY("Art Cancro <ajc@uncensored.citadel.org>, Art Cancro <ajc@uncensored.citadel.org>"));
+
+ Source = NewStrBufPlain(HKEY("\"Alexandra Weiz, Restless GmbH\" <alexandra.weiz@boblbee.de>, \"NetIN\" <editor@netin.co.il>, \" יריב ברקאי, מולטימדי\" <info@immembed.com>"));
+ Target = StrBufSanitizeEmailRecipientVector(
+ Source,
+ UserName,
+ EmailAddress,
+ EncBuf
+ );
+
+ TestRevalidateStrBuf(Target);
+ printf("the source:>%s<\n", ChrPtr(Source));
+ printf("the target:>%s<\n", ChrPtr(Target));
+ FreeStrBuf(&Target);
+ FreeStrBuf(&UserName);
+ FreeStrBuf(&EmailAddress);
+ FreeStrBuf(&EncBuf);
+
+ FreeStrBuf(&Source);
+}
+
+static void TestEncodeEmailSTDIN(void)
+{
+ int fdin = 0;// STDIN
+ const char *Err;
+ StrBuf *Target;
+ StrBuf *Source;
+ StrBuf *UserName = NewStrBuf();
+ StrBuf *EmailAddress = NewStrBuf();
+ StrBuf *EncBuf = NewStrBuf();
+
+ Source = NewStrBuf();
+
+ while (fdin == 0) {
+
+ StrBufTCP_read_line(Source, &fdin, 0, &Err);
+ printf("the source:>%s<\n", ChrPtr(Source));
+ Target = StrBufSanitizeEmailRecipientVector(
+ Source,
+ UserName,
+ EmailAddress,
+ EncBuf
+ );
+
+ TestRevalidateStrBuf(Target);
+ printf("the target:>%s<\n", ChrPtr(Target));
+ FreeStrBuf(&Target);
+ }
+ FreeStrBuf(&UserName);
+ FreeStrBuf(&EmailAddress);
+ FreeStrBuf(&EncBuf);
+
+ FreeStrBuf(&Source);
+}
+
+
static void AddStrBufSimlpeTests(void)
{
CU_pTest pTest = NULL;
pGroup = CU_add_suite("TestStringBufConversions", NULL, NULL);
- if (!fromstdin) {
- pTest = CU_add_test(pGroup, "testRFC822Decode", TestRFC822Decode);
- pTest = CU_add_test(pGroup, "testRFC822Decode1", TestRFC822Decode);
- pTest = CU_add_test(pGroup, "testRFC822Decode2", TestRFC822Decode);
- pTest = CU_add_test(pGroup, "testRFC822Decode3", TestRFC822Decode);
+ if (!parse_email) {
+ if (!fromstdin) {
+ pTest = CU_add_test(pGroup, "testRFC822Decode", TestRFC822Decode);
+ pTest = CU_add_test(pGroup, "testRFC822Decode1", TestRFC822Decode);
+ pTest = CU_add_test(pGroup, "testRFC822Decode2", TestRFC822Decode);
+ pTest = CU_add_test(pGroup, "testRFC822Decode3", TestRFC822Decode);
+ }
+ else
+ pTest = CU_add_test(pGroup, "testRFC822DecodeSTDIN", TestRFC822DecodeStdin);
+ }
+ else {
+ if (!fromstdin) {
+ pTest = CU_add_test(pGroup, "TestParseEmailSTDIN", TestEncodeEmail);
+ }
+ else
+ pTest = CU_add_test(pGroup, "TestParseEmailSTDIN", TestEncodeEmailSTDIN);
}
- else
- pTest = CU_add_test(pGroup, "testRFC822Decode3", TestRFC822DecodeStdin);
}
{
int a;
- while ((a = getopt(argc, argv, "i")) != EOF)
+ while ((a = getopt(argc, argv, "@i")) != EOF)
switch (a) {
+ case '@':
+ parse_email = 1;
+ break;
case 'i':
fromstdin = 1;
if (CU_TRUE == Run) {
//CU_console_run_tests();
- printf("\nTests completed with return value %d.\n", CU_basic_run_tests());
+ printf("\nTests completed with return value %d.\n", CU_basic_run_tests());
- ///CU_automated_run_tests();
+ ///CU_automated_run_tests();
}
CU_cleanup_registry();