X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e33227021472d98ab797912e73427a9a71c5a531..3b2e2e72969a9fa2246774ae2f01bd60a4cd81de:/apps/dcmeta/tests.py?ds=inline
diff --git a/apps/dcmeta/tests.py b/apps/dcmeta/tests.py
new file mode 100644
index 00000000..d30d1750
--- /dev/null
+++ b/apps/dcmeta/tests.py
@@ -0,0 +1,77 @@
+# -*- coding: utf-8
+from django.test import TestCase
+from dcmeta.models import Description
+
+class ImportTests(TestCase):
+
+ def test_basic_rdf(self):
+ d = Description.import_rdf("""
+
+
+ Simple test resource
+
+""")
+ self.assertEqual(d.attrs.count(), 1)
+ self.assertEqual(d['http://purl.org/dc/elements/1.1/', 'title'], u"Simple test resource")
+
+ # refetch the object
+ d = Description.objects.get(about_uri="http://wolnelektury.pl/document/test")
+
+ self.assertEqual(d.attrs.count(), 1)
+ self.assertEqual(d['http://purl.org/dc/elements/1.1/', 'title'], u"Simple test resource")
+
+ # access by prefix
+ self.assertEqual(d['dc', 'title'], u"Simple test resource")
+
+ def test_very_long_dc_property(self):
+ NAME = "very_long_prop_name.with_dots.and.other_stuff_longer_then_50_chars"
+ d = Description.import_rdf("""
+
+
+ Simple test resource
+
+""".format(NAME))
+
+ self.assertEqual(d.attrs.count(), 1)
+ self.assertEqual(d['dc', NAME], u"Simple test resource")
+
+ def test_namespace_descriptors(self):
+ d = Description.import_rdf("""
+
+
+ Albatros
+ Lange, Antoni
+ SekuÅa, Aleksandra
+
+""")
+
+ self.assertEqual(d.dublincore.title, u"Albatros")
+ self.assertEqual(list(d.marcrel), [
+ ('trl', u"Lange, Antoni"), ('edt', u"SekuÅa, Aleksandra"),
+ ])
+
+ def test_multiple_properties(self):
+ d = Description.import_rdf("""
+
+
+ Albatros
+ Lange, Antoni
+ SekuÅa, Aleksandra
+ NiedziaÅkowska, Marta
+ DÄ
bek, Katarzyna
+
+""")
+
+ self.assertEqual(d['dc', 'title'], u"Albatros")
+ self.assertEqual(d['marcrel', 'trl'], u"Lange, Antoni")
+ self.assertEqual(d['marcrel', 'edt'], [
+ u"SekuÅa, Aleksandra",
+ u"NiedziaÅkowska, Marta",
+ u"DÄ
bek, Katarzyna",
+ ])