File indexing completed on 2024-03-24 05:21:14
0001 /* 0002 SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "headerfactorytest.h" 0008 0009 //#include <typeinfo> 0010 0011 #include <QTest> 0012 0013 #include "kmime_headerfactory_p.h" 0014 #include "kmime_headers.h" 0015 0016 using namespace KMime; 0017 using namespace KMime::Headers; 0018 //using namespace KMime::Headers::Generics; 0019 0020 QTEST_MAIN(HeaderFactoryTest) 0021 0022 template <typename T> 0023 bool isHeaderRegistered() 0024 { 0025 T dummy; 0026 Base *h = Headers::createHeader(dummy.type()); 0027 if (h) { 0028 delete h; 0029 return true; 0030 } 0031 return false; 0032 } 0033 0034 void HeaderFactoryTest::testBuiltInHeaders() 0035 { 0036 // Abstract headers have pure virtual methods. 0037 // Generic headers have an empty type(). 0038 // All other built-in headers are supposed to be registered. 0039 0040 //QVERIFY( isHeaderRegistered<Base>() ); // Abstract. 0041 //QVERIFY( isHeaderRegistered<Unstructured>() ); // Abstract. 0042 //QVERIFY( isHeaderRegistered<Structured>() ); // Abstract. 0043 //QVERIFY( isHeaderRegistered<Address>() ); // Abstract. 0044 //QVERIFY( isHeaderRegistered<MailboxList>() ); // Generic. 0045 //QVERIFY( isHeaderRegistered<SingleMailbox>() ); // Generic. 0046 //QVERIFY( isHeaderRegistered<AddressList>() ); // Generic. 0047 //QVERIFY( isHeaderRegistered<Ident>() ); // Generic. 0048 //QVERIFY( isHeaderRegistered<SingleIdent>() ); // Generic. 0049 //QVERIFY( isHeaderRegistered<Token>() ); // Generic. 0050 //QVERIFY( isHeaderRegistered<PhraseList>() ); // Generic. 0051 //QVERIFY( isHeaderRegistered<DotAtom>() ); // Generic. 0052 //QVERIFY( isHeaderRegistered<Parametrized>() ); // Generic. 0053 QVERIFY(isHeaderRegistered<ReturnPath>()); 0054 QVERIFY(isHeaderRegistered<From>()); 0055 QVERIFY(isHeaderRegistered<Sender>()); 0056 QVERIFY(isHeaderRegistered<To>()); 0057 QVERIFY(isHeaderRegistered<Cc>()); 0058 QVERIFY(isHeaderRegistered<Bcc>()); 0059 QVERIFY(isHeaderRegistered<ReplyTo>()); 0060 QVERIFY(isHeaderRegistered<MailCopiesTo>()); 0061 QVERIFY(isHeaderRegistered<ContentTransferEncoding>()); 0062 QVERIFY(isHeaderRegistered<Keywords>()); 0063 QVERIFY(isHeaderRegistered<MIMEVersion>()); 0064 QVERIFY(isHeaderRegistered<MessageID>()); 0065 QVERIFY(isHeaderRegistered<ContentID>()); 0066 QVERIFY(isHeaderRegistered<Supersedes>()); 0067 QVERIFY(isHeaderRegistered<InReplyTo>()); 0068 QVERIFY(isHeaderRegistered<References>()); 0069 QVERIFY(isHeaderRegistered<ContentType>()); 0070 QVERIFY(isHeaderRegistered<ContentDisposition>()); 0071 //QVERIFY( isHeaderRegistered<Generic>() ); // Changeable type(). 0072 QVERIFY(isHeaderRegistered<Subject>()); 0073 QVERIFY(isHeaderRegistered<Organization>()); 0074 QVERIFY(isHeaderRegistered<ContentDescription>()); 0075 QVERIFY(isHeaderRegistered<ContentLocation>()); 0076 QVERIFY(isHeaderRegistered<Control>()); 0077 QVERIFY(isHeaderRegistered<Date>()); 0078 QVERIFY(isHeaderRegistered<Newsgroups>()); 0079 QVERIFY(isHeaderRegistered<FollowUpTo>()); 0080 QVERIFY(isHeaderRegistered<Lines>()); 0081 QVERIFY(isHeaderRegistered<UserAgent>()); 0082 } 0083 0084 #include "moc_headerfactorytest.cpp"