marco@16: from . import TestController marco@16: marco@16: from sword2 import Entry marco@16: from sword2.utils import NS marco@16: marco@16: class TestEntry(TestController): marco@16: def test_01_blank_init(self): marco@16: e = Entry() marco@16: print e.entry.getchildren() marco@16: assert len(e.entry.getchildren()) == 2 # generator, updated are there by default marco@16: marco@16: def test_02_init_without_author(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", dcterms_title="foo bar") marco@16: assert e.entry.find(NS['atom'] % 'title') != None marco@16: assert e.entry.find(NS['dcterms'] % 'appendix') != None marco@16: assert e.entry.find(NS['dcterms'] % 'nonexistant_term') == None marco@16: marco@16: def test_03_init_with_author(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: assert e.entry.find(NS['atom'] % 'title') != None marco@16: assert e.entry.find(NS['atom'] % 'title').text == "Foo" marco@16: a = e.entry.find(NS['atom'] % 'author') marco@16: name = a.find(NS['atom'] % 'name') marco@16: assert name.text == "Ben" marco@16: marco@16: def test_04_init_add_namespace(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: e.register_namespace("mylocal", "info:localnamespace") marco@16: assert "mylocal" in e.add_ns marco@16: marco@16: def test_05_init_add_fields(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: e.add_field("dcterms_issued", "2009") marco@16: assert e.entry.find(NS['dcterms'] % 'issued') != None marco@16: assert e.entry.find(NS['dcterms'] % 'issued').text == "2009" marco@16: marco@16: def test_06_init_add_fields(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: e.add_fields(dcterms_issued="2009", marco@16: updated="2010", marco@16: dcterms_description="A verbose and new description") marco@16: marco@16: assert e.entry.find(NS['atom'] % 'updated') != None marco@16: assert e.entry.find(NS['atom'] % 'updated').text == "2010" marco@16: assert e.entry.find(NS['dcterms'] % 'issued') != None marco@16: assert e.entry.find(NS['dcterms'] % 'issued').text == "2009" marco@16: assert e.entry.find(NS['dcterms'] % 'description') != None marco@16: assert e.entry.find(NS['dcterms'] % 'description').text == "A verbose and new description" marco@16: marco@16: marco@16: def test_07_init_add_new_ns_field(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: e.register_namespace("mylocal", "info:localnamespace") marco@16: e.add_field("mylocal_issued", "2003") marco@16: assert e.entry.find(NS['mylocal'] % 'issued') != None marco@16: assert e.entry.find(NS['mylocal'] % 'issued').text == "2003" marco@16: marco@16: def test_08_init_add_new_ns_fields(self): marco@16: e = Entry(title="Foo", id="asidjasidj", dcterms_appendix="blah blah", author={'name':'Ben', 'email':'foo@bar.com'}) marco@16: e.register_namespace("mylocal", "info:localnamespace") marco@16: e.add_fields(mylocal_foobar="2009", marco@16: updated="2010", marco@16: mylocal_description="A verbose and new description") marco@16: marco@16: assert e.entry.find(NS['atom'] % 'updated') != None marco@16: assert e.entry.find(NS['atom'] % 'updated').text == "2010" marco@16: assert e.entry.find(NS['mylocal'] % 'foobar') != None marco@16: assert e.entry.find(NS['mylocal'] % 'foobar').text == "2009" marco@16: assert e.entry.find(NS['mylocal'] % 'description') != None marco@16: assert e.entry.find(NS['mylocal'] % 'description').text == "A verbose and new description"