diff options
| author | Vincent Richard <[email protected]> | 2013-04-26 22:47:51 +0200 |
|---|---|---|
| committer | Vincent Richard <[email protected]> | 2013-04-26 22:47:51 +0200 |
| commit | 5a3d88855b37666b3ea9102863b85ff137e5027e (patch) | |
| tree | 8c710426f824c06e0014ea7b118029fb64ad1f74 /tests | |
| parent | Issue #36: added support for wildcard in Common Name when verifying host name... (diff) | |
| download | vmime-5a3d88855b37666b3ea9102863b85ff137e5027e.tar.gz vmime-5a3d88855b37666b3ea9102863b85ff137e5027e.zip | |
Added unit tests for IMAPTag. Initialize sequence number at 1.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/net/imap/IMAPTagTest.cpp | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/net/imap/IMAPTagTest.cpp b/tests/net/imap/IMAPTagTest.cpp new file mode 100644 index 00000000..26ed87c5 --- /dev/null +++ b/tests/net/imap/IMAPTagTest.cpp @@ -0,0 +1,88 @@ +// +// VMime library (http://www.vmime.org) +// Copyright (C) 2002-2013 Vincent Richard <[email protected]> +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation; either version 3 of +// the License, or (at your option) any later version. +// +// This program 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 +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// Linking this library statically or dynamically with other modules is making +// a combined work based on this library. Thus, the terms and conditions of +// the GNU General Public License cover the whole combination. +// + +#include "tests/testUtils.hpp" + +#include "vmime/net/imap/IMAPTag.hpp" + + +VMIME_TEST_SUITE_BEGIN(imapTagTest) + + VMIME_TEST_LIST_BEGIN + VMIME_TEST(testConstruct) + VMIME_TEST(testIncrement) + VMIME_TEST(testReset) + VMIME_TEST(testNumber) + VMIME_TEST_LIST_END + + + void testConstruct() + { + vmime::ref <vmime::net::imap::IMAPTag> tag = + vmime::create <vmime::net::imap::IMAPTag>(); + + VASSERT_EQ("init", "a001", static_cast <vmime::string>(*tag)); + } + + void testIncrement() + { + vmime::ref <vmime::net::imap::IMAPTag> tag = + vmime::create <vmime::net::imap::IMAPTag>(); + + (*tag)++; + VASSERT_EQ("init", "a002", static_cast <vmime::string>(*tag)); + + (*tag)++; + VASSERT_EQ("init", "a003", static_cast <vmime::string>(*tag)); + + (*tag)++; + VASSERT_EQ("init", "a004", static_cast <vmime::string>(*tag)); + } + + void testReset() + { + vmime::ref <vmime::net::imap::IMAPTag> tag = + vmime::create <vmime::net::imap::IMAPTag>(); + + for (int i = tag->number() ; i < tag->maximumNumber() ; ++i) + (*tag)++; + + VASSERT_EQ("last", "Z999", static_cast <vmime::string>(*tag)); + + (*tag)++; + + VASSERT_EQ("reset", "a001", static_cast <vmime::string>(*tag)); + } + + void testNumber() + { + vmime::ref <vmime::net::imap::IMAPTag> tag = + vmime::create <vmime::net::imap::IMAPTag>(); + + for (int i = 0 ; i < 41 ; ++i) + (*tag)++; + + VASSERT_EQ("number", 42, tag->number()); + } + +VMIME_TEST_SUITE_END |
