summaryrefslogtreecommitdiffstats
path: root/ktnef/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ktnef/tests')
-rw-r--r--ktnef/tests/Makefile.am10
-rw-r--r--ktnef/tests/README1
-rw-r--r--ktnef/tests/mapi_attach_data_obj.tnefbin0 -> 348479 bytes
-rw-r--r--ktnef/tests/one-file.tnefbin0 -> 2272 bytes
-rw-r--r--ktnef/tests/parsertest.cpp104
-rw-r--r--ktnef/tests/parsertest.h32
-rw-r--r--ktnef/tests/two-files.tnefbin0 -> 3481 bytes
7 files changed, 147 insertions, 0 deletions
diff --git a/ktnef/tests/Makefile.am b/ktnef/tests/Makefile.am
new file mode 100644
index 000000000..a2619c0ef
--- /dev/null
+++ b/ktnef/tests/Makefile.am
@@ -0,0 +1,10 @@
+AM_CPPFLAGS = -I$(top_srcdir)/ktnef $(all_includes) -DKDESRCDIR=\"$(srcdir)\"
+LDADD = ../lib/libktnef.la $(LIB_KDECORE)
+
+check_PROGRAMS = parsertest
+TESTS = parsertest
+
+parsertest_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+parsertest_SOURCES = parsertest.cpp
+
+METASOURCES = AUTO
diff --git a/ktnef/tests/README b/ktnef/tests/README
new file mode 100644
index 000000000..5cff55b70
--- /dev/null
+++ b/ktnef/tests/README
@@ -0,0 +1 @@
+TNEF test files are taken from tnef.sf.net.
diff --git a/ktnef/tests/mapi_attach_data_obj.tnef b/ktnef/tests/mapi_attach_data_obj.tnef
new file mode 100644
index 000000000..aea529ec2
--- /dev/null
+++ b/ktnef/tests/mapi_attach_data_obj.tnef
Binary files differ
diff --git a/ktnef/tests/one-file.tnef b/ktnef/tests/one-file.tnef
new file mode 100644
index 000000000..fbb08ffa1
--- /dev/null
+++ b/ktnef/tests/one-file.tnef
Binary files differ
diff --git a/ktnef/tests/parsertest.cpp b/ktnef/tests/parsertest.cpp
new file mode 100644
index 000000000..2cbe11e91
--- /dev/null
+++ b/ktnef/tests/parsertest.cpp
@@ -0,0 +1,104 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause@kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#include "parsertest.h"
+
+#include <ktnef/ktnefparser.h>
+#include <ktnef/ktnefmessage.h>
+#include <ktnef/ktnefattach.h>
+
+#include "assert.h"
+
+void ParserTest::testSingleAttachment()
+{
+ KTNEFParser parser;
+ assert( parser.openFile( KDESRCDIR "/one-file.tnef" ) == true );
+
+ KTNEFMessage *msg = parser.message();
+ assert( msg != 0 );
+
+ QPtrList<KTNEFAttach> atts = msg->attachmentList();
+ assert( atts.count() == 1 );
+
+ KTNEFAttach* att = atts.first();
+ assert( att != 0 );
+ assert( att->size() == 244 );
+ assert( att->name() == QString( "AUTHORS" ) );
+}
+
+void ParserTest::testTwoAttachments()
+{
+ KTNEFParser parser;
+ assert( parser.openFile( KDESRCDIR "/two-files.tnef" ) == true );
+
+ KTNEFMessage *msg = parser.message();
+ assert( msg != 0 );
+
+ QPtrList<KTNEFAttach> atts = msg->attachmentList();
+ assert( atts.count() == 2 );
+
+ KTNEFAttach* att = atts.at( 0 );
+ assert( att != 0 );
+ assert( att->size() == 244 );
+ assert( att->name() == QString( "AUTHORS" ) );
+
+ att = atts.at( 1 );
+ assert( att != 0 );
+ assert( att->size() == 893 );
+ assert( att->name() == QString( "README" ) );
+}
+
+void ParserTest::testMAPIAttachments()
+{
+ KTNEFParser parser;
+ assert( parser.openFile( KDESRCDIR "/mapi_attach_data_obj.tnef" ) == true );
+
+ KTNEFMessage *msg = parser.message();
+ assert( msg != 0 );
+
+ QPtrList<KTNEFAttach> atts = msg->attachmentList();
+ assert( atts.count() == 3 );
+
+ KTNEFAttach* att = atts.at( 0 );
+ assert( att != 0 );
+ assert( att->size() == 61952 );
+ assert( att->name() == QString( "VIA_Nytt_1402.doc" ) );
+
+ att = atts.at( 1 );
+ assert( att != 0 );
+ assert( att->size() == 213688 );
+ assert( att->name() == QString( "VIA_Nytt_1402.pdf" ) );
+
+ att = atts.at( 2 );
+ assert( att != 0 );
+ assert( att->size() == 68920 );
+ assert( att->name() == QString( "VIA_Nytt_14021.htm" ) );
+}
+
+#include <kinstance.h>
+
+int main( int argc, char** argv )
+{
+ KInstance inst( "ktnef-parsertest" );
+ ParserTest test;
+ test.testSingleAttachment();
+ test.testTwoAttachments();
+ test.testMAPIAttachments();
+ return 0;
+}
diff --git a/ktnef/tests/parsertest.h b/ktnef/tests/parsertest.h
new file mode 100644
index 000000000..4c0bacbda
--- /dev/null
+++ b/ktnef/tests/parsertest.h
@@ -0,0 +1,32 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause@kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#ifndef PARSERTEST_H
+#define PARSERTEST_H
+
+class ParserTest
+{
+ public:
+ void testSingleAttachment();
+ void testTwoAttachments();
+ void testMAPIAttachments();
+};
+
+
+#endif
diff --git a/ktnef/tests/two-files.tnef b/ktnef/tests/two-files.tnef
new file mode 100644
index 000000000..b33b64dc4
--- /dev/null
+++ b/ktnef/tests/two-files.tnef
Binary files differ