/* * check_parser_utils.c, SJ */ #include #include #include #include #include #include "../src/piler.h" struct date_test { char date_str[SMALLBUFSIZE]; time_t timestamp; }; struct name_from_header_test { char line[SMALLBUFSIZE]; char *token; char *expected_result; }; struct str_pair { char line[SMALLBUFSIZE]; char *expected_result; }; static void test_parse_date_header(){ unsigned int i; int dst_fix = 0; time_t t = time(NULL); struct tm lt = {0}; struct __config cfg; struct date_test date_test[] = { {"Date: Mon, 02 Nov 2015 09:39:31 -0000", 1446457171}, {"Date: Mon, 2 Nov 2015 10:39:45 +0100", 1446457185}, {"Date: Sun, 1 Nov 2015 17:23:07 +0100 (CET)", 1446394987}, {"Date: 3 Nov 2015 15:19:30 +0100", 1446560370}, {"Date: Mon, 3 Feb 2014 13:21:07 +0100", 1391430067}, {"Date: Sat, 4 Aug 2007 13:36:52 GMT-0700", 1186256212}, {"Date: Sat, 4 Aug 07 13:36:52 GMT-0700", 1186256212}, {"Date: 16 Dec 07 20:45:52", 1197837952}, {"Date: 03 Jun 06 05:59:00 +0100", 1149307140}, {"Date: 30.06.2005 17:47:42", 1120150062}, {"Date: 03-Feb-2014 08:09:10", 1391414950}, {"Date: 13 Mar 2013 14:56:02 UTC", 1363186562} }; cfg = read_config("test.conf"); setlocale(LC_MESSAGES, cfg.locale); setlocale(LC_CTYPE, cfg.locale); localtime_r(&t, <); if(lt.tm_isdst == 1){ printf("DST is on\n"); dst_fix = 3600; } else { printf("DST is off\n"); } for(i=0; i=20www.xxxxx.com=20new=20virtual=20?=", " www.xxxxx.com new virtual "}, {"Re: FW: =?ISO-8859-2?Q?Sopron-Gy=F5r_optikai_sz=E1l_probl=E9?=", "Re: FW: Sopron-Győr optikai szál problé"}, {"=?UTF-8?Q?Megh=C3=ADv=C3=B3=20a=20Pulzus=20felm=C3=A9r=C3=A9sre=20/=20Inv?= =?UTF-8?Q?itation=20to=20the=20Pulse=20Survey?=", "Meghívó a Pulzus felmérésre / Inv itation to the Pulse Survey"}, {"=?iso-8859-2?Q?vhost_l=E9trehoz=E1sa?=", "vhost létrehozása"}, {"Re: MAIL =?UTF-8?B?U1pPTEfDgUxUQVTDgVMgSElCQSAgIEdUUzogOTE1NDUyMQ==?=", "Re: MAIL SZOLGÁLTATÁS HIBA GTS: 9154521"}, {"[spam???] Better Sex. Better Body. Better Life.", "[spam???] Better Sex. Better Body. Better Life."}, {"1gy2tt. V3l4d. M5sk6nt", "1gy2tt. V3l4d. M5sk6nt"}, {"=?iso-8859-2?B?03Jp4XNpIG1lZ2xlcGV06XMsIG5pbmNzIHT2YmIgbWVudHPpZyBBbWVyaWthIHN64W3hcmEgKDIwMTUuMTEuMDYuIC0gc2pAYWN0cy5odSk=?=", "Óriási meglepetés, nincs több mentség Amerika számára (2015.11.06. - sj@acts.hu)"}, {"=?utf-8?B?Rlc6IEVtYWlsIGZvZ2Fkw6FzaSBoaWJh?=", "FW: Email fogadási hiba"}, {"=?ISO-8859-15?Q?RE=3A_FW=3A_K=E9rd=E9s?=", "RE: FW: Kérdés"}, {"=?iso-8859-2?Q?RE:_spam_tilt=E1s?=", "RE: spam tiltás"}, {"Subject: Administrator has responded to your request for 'Cloud Operations", "Subject: Administrator has responded to your request for 'Cloud Operations"}, {"Subject: =?GB2312?B?VFYgYmFjayBLSVQgc3RyaXAgcmYgcmVtb3RlIENvbnRyb2wgIFVTRDUuNS9TRVQ=?=", "Subject: TV back KIT strip rf remote Control USD5.5/SET"}, {"Subject: =?UTF-8?Q?Ha_rossz_a_k=C3=B6z=C3=A9rzete?=", "Subject: Ha rossz a közérzete"}, {"Subject: =?UTF-8?B?SsOhdHNzeiBhIHZpbMOhZyBsZWdixZFrZXrFsWJiIGxvdHTDs2rDoW4gSU5HWUVO?=", "Subject: Játssz a világ legbőkezűbb lottóján INGYEN"}, {"Subject: =?UTF-8?B?w5Zua29ybcOhbnl6YXRpIGFkYXRiw6F6aXMgMiwzIEZ0IC8gZGIgw6Fyb24=?=", "Subject: Önkormányzati adatbázis 2,3 Ft / db áron"}, {"Subject: =?UTF-8?Q?Experience=20a=20Crazy=20Reward=20Delivered=20to=20you?=", "Subject: Experience a Crazy Reward Delivered to you"}, {"Subject: =?windows-1251?B?ze7i7uPu5O3o5SDv7uTg8OroIOTr/yDC4Pjo?=", "Subject: Новогодние подарки для Ваши"}, {"Subject: =?utf-8?Q?Divatos,_=C3=BCde_sz=C3=ADneinek_k=C3=B6sz=C3=B6nhet=C5=91en_el?=", "Subject: Divatos, üde színeinek köszönhetően el"}, }; for(i=0; i", "From Mike D'Amaaaaa mike@aaa.fu "}, {"From: VMware Technical Support ", "From VMware Technical Support webform@vmware.com "} /* * TODO: we need many more tests here */ }; for(i=0; i