in modules/atom/atom-test.cpp [114:181]
const bool testEntry() {
{
const list<value> i = nilListValue + element + value("item")
+ value(nilListValue + element + value("name") + value(string("Apple")))
+ value(nilListValue + element + value("price") + value(string("$2.99")));
const list<value> a = nilListValue + (nilListValue + element + value("entry")
+ value(nilListValue + element + value("title") + value(string("item")))
+ value(nilListValue + element + value("id") + value(string("cart-53d67a61-aa5e-4e5e-8401-39edeba8b83b")))
+ value(nilListValue + element + value("author") + value(string("jane@example.com")))
+ value(nilListValue + element + value("updated") + value(string("Fri Jan 01 08:11:36 PDT 2012")))
+ value(nilListValue + element + value("content") + value(i)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemEntry);
}
{
const list<value> a = nilListValue + (nilListValue + element + value("entry")
+ value(nilListValue + element + value("title") + value(string("item")))
+ value(nilListValue + element + value("id") + value(string("cart-53d67a61-aa5e-4e5e-8401-39edeba8b83b")))
+ value(nilListValue + element + value("author") + value(string("jane@example.com")))
+ value(nilListValue + element + value("updated") + value(string("Fri Jan 01 08:11:36 PDT 2012")))
+ value(nilListValue + element + value("content") + value(string("Apple"))));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemTextEntry);
}
{
const list<value> a = nilListValue + (nilListValue + element + value("entry")
+ value(nilListValue + element + value("title") + value(string("item")))
+ value(nilListValue + element + value("id") + value(string("cart-53d67a61-aa5e-4e5e-8401-39edeba8b83b")))
+ value(nilListValue + element + value("author") + value(string("jane")))
+ value(nilListValue + element + value("updated") + value(string("Fri Jan 01 08:11:36 PDT 2012"))));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemNoContentEntry);
}
{
const list<value> a = content(readATOMEntry(mklist(itemEntry)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemEntry);
}
{
const list<value> a = content(readATOMEntry(mklist(itemTextEntry)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemTextEntry);
}
{
const list<value> a = content(readATOMEntry(mklist(itemNoContentEntry)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemNoContentEntry);
}
{
const list<value> a = content(readATOMEntry(mklist(itemEmptyTitleEntry)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == itemEmptyTitleEntry);
}
{
const list<value> a = content(readATOMEntry(mklist(incompleteEntry)));
ostringstream os;
writeATOMEntry<ostream*>(writer, &os, a);
assert(str(os) == completedEntry);
}
return true;
}