aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2005-07-13 00:28:02 +0200
committerVincent Richard <[email protected]>2005-07-13 00:28:02 +0200
commit681297e10b666e13cc463f6fbb16236f36c3266c (patch)
tree5d2392e2283232ed3475cd9c69e22897b03e8a97 /tests
parentAdded contentHandler::extractRaw(). (diff)
downloadvmime-681297e10b666e13cc463f6fbb16236f36c3266c.tar.gz
vmime-681297e10b666e13cc463f6fbb16236f36c3266c.zip
Reference counting and smart pointers.
Diffstat (limited to 'tests')
-rw-r--r--tests/parser/bodyPartTest.cpp2
-rw-r--r--tests/parser/encoderTest.cpp4
-rw-r--r--tests/parser/headerTest.cpp50
-rw-r--r--tests/parser/mediaTypeTest.cpp6
-rw-r--r--tests/parser/messageIdSequenceTest.cpp6
-rw-r--r--tests/parser/parameterTest.cpp23
-rw-r--r--tests/parser/textTest.cpp8
7 files changed, 53 insertions, 46 deletions
diff --git a/tests/parser/bodyPartTest.cpp b/tests/parser/bodyPartTest.cpp
index 87d4c1ba..ffbdefda 100644
--- a/tests/parser/bodyPartTest.cpp
+++ b/tests/parser/bodyPartTest.cpp
@@ -68,7 +68,7 @@ namespace
{
vmime::bodyPart p1;
p1.getHeader()->getField("Foo")->setValue(vmime::string("bar"));
- p1.getBody()->setContents(vmime::stringContentHandler("Baz"));
+ p1.getBody()->setContents(vmime::create <vmime::stringContentHandler>("Baz"));
assert_eq("1", "Foo: bar\r\n\r\nBaz", p1.generate());
}
diff --git a/tests/parser/encoderTest.cpp b/tests/parser/encoderTest.cpp
index 5d27fffc..55c83f83 100644
--- a/tests/parser/encoderTest.cpp
+++ b/tests/parser/encoderTest.cpp
@@ -35,7 +35,7 @@ namespace
// Encoding helper function
static const vmime::string encode(const vmime::string& name, const vmime::string& in, int maxLineLength = 0)
{
- vmime::encoder* enc = vmime::encoderFactory::getInstance()->create(name);
+ vmime::ref <vmime::encoder> enc = vmime::encoderFactory::getInstance()->create(name);
if (maxLineLength != 0)
enc->getProperties()["maxlinelength"] = maxLineLength;
@@ -53,7 +53,7 @@ namespace
// Decoding helper function
static const vmime::string decode(const vmime::string& name, const vmime::string& in, int maxLineLength = 0)
{
- vmime::encoder* enc = vmime::encoderFactory::getInstance()->create(name);
+ vmime::ref <vmime::encoder> enc = vmime::encoderFactory::getInstance()->create(name);
if (maxLineLength != 0)
enc->getProperties()["maxlinelength"] = maxLineLength;
diff --git a/tests/parser/headerTest.cpp b/tests/parser/headerTest.cpp
index 4ee5b443..83f0409e 100644
--- a/tests/parser/headerTest.cpp
+++ b/tests/parser/headerTest.cpp
@@ -68,10 +68,10 @@ namespace
vmime::header hdr;
hdr.parse("");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("A", "a");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("A", "a");
hdr.appendField(hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(1), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -82,10 +82,10 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\n");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
hdr.appendField(hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(2), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -98,10 +98,10 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nC: c\r\n");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
hdr.insertFieldBefore(hdr.getField("C"), hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(3), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -114,10 +114,10 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nC: c\r\n");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
hdr.insertFieldBefore(1, hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(3), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -131,10 +131,10 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nC: c\r\n");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
hdr.insertFieldAfter(hdr.getField("A"), hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(3), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -147,10 +147,10 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nC: c\r\n");
- vmime::headerField* hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
+ vmime::ref <vmime::headerField> hf = vmime::headerFieldFactory::getInstance()->create("B", "b");
hdr.insertFieldAfter(0, hf);
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(3), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -168,13 +168,13 @@ namespace
hdr1.removeField(hdr1.getField("B"));
hdr2.removeField(1);
- std::vector <vmime::headerField*> res1 = hdr1.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res1 = hdr1.getFieldList();
assert_eq("Count", static_cast <unsigned int>(2), res1.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res1[0]));
assert_eq("Second value", "C: c", headerTest::getFieldValue(*res1[1]));
- std::vector <vmime::headerField*> res2 = hdr2.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res2 = hdr2.getFieldList();
assert_eq("Count", static_cast <unsigned int>(2), res2.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res2[0]));
@@ -190,10 +190,10 @@ namespace
hdr1.removeField(hdr1.getField("A"));
hdr2.removeField(0);
- std::vector <vmime::headerField*> res1 = hdr1.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res1 = hdr1.getFieldList();
assert_eq("Count", static_cast <unsigned int>(0), res1.size());
- std::vector <vmime::headerField*> res2 = hdr2.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res2 = hdr2.getFieldList();
assert_eq("Count", static_cast <unsigned int>(0), res2.size());
}
@@ -207,10 +207,10 @@ namespace
hdr1.removeAllFields();
hdr2.removeAllFields();
- std::vector <vmime::headerField*> res1 = hdr1.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res1 = hdr1.getFieldList();
assert_eq("Count", static_cast <unsigned int>(0), res1.size());
- std::vector <vmime::headerField*> res2 = hdr2.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res2 = hdr2.getFieldList();
assert_eq("Count", static_cast <unsigned int>(0), res2.size());
}
@@ -246,7 +246,7 @@ namespace
vmime::header hdr;
hdr.parse("B: b\r\nA: a\r\nC: c\r\n");
- vmime::headerField* res = hdr.getFieldAt(2);
+ vmime::ref <vmime::headerField> res = hdr.getFieldAt(2);
assert_eq("Value", "C: c", getFieldValue(*res));
}
@@ -257,7 +257,7 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nB: b1\r\nC: c\r\nB: b2\r\n");
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(4), res.size());
assert_eq("First value", "A: a", headerTest::getFieldValue(*res[0]));
@@ -271,7 +271,7 @@ namespace
vmime::header hdr;
hdr.parse("\r\n");
- std::vector <vmime::headerField*> res = hdr.getFieldList();
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.getFieldList();
assert_eq("Count", static_cast <unsigned int>(0), res.size());
}
@@ -282,7 +282,7 @@ namespace
vmime::header hdr;
hdr.parse("A: a\r\nB: b\r\nC: c\r\nB: d\r\n");
- vmime::headerField* res = hdr.findField("B");
+ vmime::ref <vmime::headerField> res = hdr.findField("B");
assert_eq("Value", "B: b", getFieldValue(*res));
}
@@ -293,7 +293,7 @@ namespace
vmime::header hdr;
hdr.parse("A: a1\nC: c1\n");
- std::vector <vmime::headerField*> res = hdr.findAllFields("B");
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.findAllFields("B");
assert_eq("Count", static_cast <unsigned int>(0), res.size());
}
@@ -303,7 +303,7 @@ namespace
vmime::header hdr;
hdr.parse("A: a1\nB: b1\nB: b2\nC: c1\n");
- std::vector <vmime::headerField*> res = hdr.findAllFields("B");
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.findAllFields("B");
assert_eq("Count", static_cast <unsigned int>(2), res.size());
assert_eq("First value", "B: b1", headerTest::getFieldValue(*res[0]));
@@ -315,7 +315,7 @@ namespace
vmime::header hdr;
hdr.parse("A: a1\nB: b1\nB: b2\nC: c1\nC: c3\nC: c2\n");
- std::vector <vmime::headerField*> res = hdr.findAllFields("C");
+ std::vector <vmime::ref <vmime::headerField> > res = hdr.findAllFields("C");
assert_eq("Count", static_cast <unsigned int>(3), res.size());
assert_eq("First value", "C: c1", headerTest::getFieldValue(*res[0]));
diff --git a/tests/parser/mediaTypeTest.cpp b/tests/parser/mediaTypeTest.cpp
index 14e07715..52da8096 100644
--- a/tests/parser/mediaTypeTest.cpp
+++ b/tests/parser/mediaTypeTest.cpp
@@ -58,10 +58,10 @@ namespace
assert_eq("eq2", "sub", t1.getSubType());
assert_true("operator==", t1 == t1);
- assert_true("clone", *(t1.clone()) == t1);
+ assert_true("clone", t1 == *vmime::clone(t1));
- assert_eq("eq3", "type", t1.clone()->getType());
- assert_eq("eq4", "sub", t1.clone()->getSubType());
+ assert_eq("eq3", "type", vmime::clone(t1)->getType());
+ assert_eq("eq4", "sub", vmime::clone(t1)->getSubType());
vmime::mediaType t2;
t2.copyFrom(t1);
diff --git a/tests/parser/messageIdSequenceTest.cpp b/tests/parser/messageIdSequenceTest.cpp
index b80a34d9..6382adef 100644
--- a/tests/parser/messageIdSequenceTest.cpp
+++ b/tests/parser/messageIdSequenceTest.cpp
@@ -66,13 +66,13 @@ namespace
void testGenerate()
{
vmime::messageIdSequence s1;
- s1.appendMessageId(new vmime::messageId("a", "b"));
+ s1.appendMessageId(vmime::create <vmime::messageId>("a", "b"));
assert_eq("1", "<a@b>", s1.generate());
vmime::messageIdSequence s2;
- s2.appendMessageId(new vmime::messageId("a", "b"));
- s2.appendMessageId(new vmime::messageId("c", "d"));
+ s2.appendMessageId(vmime::create <vmime::messageId>("a", "b"));
+ s2.appendMessageId(vmime::create <vmime::messageId>("c", "d"));
assert_eq("2", "<a@b> <c@d>", s2.generate());
}
diff --git a/tests/parser/parameterTest.cpp b/tests/parser/parameterTest.cpp
index 82d784cd..9b3bd66a 100644
--- a/tests/parser/parameterTest.cpp
+++ b/tests/parser/parameterTest.cpp
@@ -37,25 +37,32 @@ namespace
{
private:
- vmime::typeAdapter <vmime::string> m_value;
+ vmime::ref <vmime::typeAdapter <vmime::string> > m_value;
public:
- parameterizedHeaderField() : headerField("F"), m_value("X") { }
+ parameterizedHeaderField()
+ : headerField("F"),
+ m_value(vmime::create <vmime::typeAdapter <vmime::string> >("X"))
+ {
+ }
- const vmime::component& getValue() const { return m_value; }
- vmime::component& getValue() { return m_value; }
+ const vmime::component& getValue() const { return *m_value; }
+ vmime::component& getValue() { return *m_value; }
void setValue(const vmime::component&) { /* Do nothing */ }
+
+ const vmime::ref <const vmime::component> getValueImp() const { return m_value; }
+ vmime::ref <vmime::component> getValueImp() { return m_value; }
};
#define PARAM_VALUE(p, n) (p.getParameterAt(n)->getValue().generate())
#define PARAM_NAME(p, n) (p.getParameterAt(n)->getName())
-#define PARAM_CHARSET(p, n) (static_cast <vmime::defaultParameter*> \
- (p.getParameterAt(n))->getValue().getCharset().generate())
-#define PARAM_BUFFER(p, n) (static_cast <vmime::defaultParameter*> \
- (p.getParameterAt(n))->getValue().getBuffer())
+#define PARAM_CHARSET(p, n) ( \
+ (p.getParameterAt(n).staticCast <vmime::defaultParameter>())->getValue().getCharset().generate())
+#define PARAM_BUFFER(p, n) ( \
+ (p.getParameterAt(n).staticCast <vmime::defaultParameter>())->getValue().getBuffer())
class parameterTest : public suite
diff --git a/tests/parser/textTest.cpp b/tests/parser/textTest.cpp
index e43080df..54e6c5ea 100644
--- a/tests/parser/textTest.cpp
+++ b/tests/parser/textTest.cpp
@@ -61,7 +61,7 @@ namespace
assert_eq("4.3", w1.getCharset(), t4.getWordAt(0)->getCharset());
vmime::word w2("Other", vmime::charset(vmime::charsets::US_ASCII));
- t4.appendWord(new vmime::word(w2));
+ t4.appendWord(vmime::create <vmime::word>(w2));
vmime::text t5(t4);
@@ -77,7 +77,7 @@ namespace
vmime::text t1("Test: \xa9\xc3");
assert_true("operator==", t1 == t1);
- assert_true("clone", *(t1.clone()) == t1);
+ assert_true("clone", *vmime::clone(t1) == t1);
vmime::text t2;
t2.copyFrom(t1);
@@ -91,7 +91,7 @@ namespace
vmime::charset c1("test");
vmime::text t1;
- vmime::text::newFromString(s1, c1, &t1);
+ t1.createFromString(s1, c1);
assert_eq("1.1", 1, t1.getWordCount());
assert_eq("1.2", s1, t1.getWordAt(0)->getBuffer());
@@ -104,7 +104,7 @@ namespace
vmime::charset c2("test");
vmime::text t2;
- vmime::text::newFromString(s2, c2, &t2);
+ t2.createFromString(s2, c2);
assert_eq("2.1", 3, t2.getWordCount());
assert_eq("2.2", s2_1, t2.getWordAt(0)->getBuffer());