Пример #1
0
 def test_save_nogenerator(self):
     document = self.document
     temp = BytesIO()
     document.save(temp)
     temp.seek(0)
     new = Document(temp)
     generator = new.get_part(ODF_META).get_generator()
     self.assertTrue(generator.startswith("odfdo"))
Пример #2
0
 def test_save_generator(self):
     document = self.document.clone
     document.get_part(ODF_META).set_generator("toto")
     temp = BytesIO()
     document.save(temp)
     temp.seek(0)
     new = Document(temp)
     generator = new.get_part(ODF_META).get_generator()
     self.assertEqual(generator, "toto")
Пример #3
0
class ManifestTestCase(TestCase):
    def setUp(self):
        self.document = Document("samples/frame_image.odp")
        self.manifest = self.document.get_part(ODF_MANIFEST)
        self.image_path = "Pictures/100002010000012C00000042188DCB81589D2C10.png"

    def test_get_manifest(self):
        self.assertTrue(type(self.manifest) is Manifest)

    def test_get_path_list(self):
        results = self.manifest.get_paths()
        self.assertEqual(len(results), 9)

    def test_get_path_media_list(self):
        results = self.manifest.get_path_medias()
        self.assertEqual(len(results), 9)
        root = results[0]
        self.assertEqual(root, ("/", ODF_PRESENTATION))

    def test_get_media_type_root(self):
        self.assertEqual(self.manifest.get_media_type("/"), ODF_PRESENTATION)

    def test_get_media_type_directory(self):
        self.assertEqual(self.manifest.get_media_type("Pictures/"), None)

    def test_get_media_type_other(self):
        path = self.image_path
        self.assertEqual(self.manifest.get_media_type(path), "image/png")

    def test_get_media_type_missing(self):
        self.assertTrue(self.manifest.get_media_type("LpOD") is None)

    def test_set_media_type(self):
        manifest = self.manifest.clone
        path = self.image_path
        self.assertEqual(manifest.get_media_type(path), "image/png")
        manifest.set_media_type(path, "image/jpeg")
        self.assertEqual(manifest.get_media_type(path), "image/jpeg")

    def test_set_media_type_missing(self):
        manifest = self.manifest.clone
        self.assertRaises(KeyError, manifest.set_media_type, "LpOD", "")

    def test_add_full_path(self):
        manifest = self.manifest.clone
        self.assertTrue(manifest.get_media_type("LpOD") is None)
        manifest.add_full_path("LpOD", "")
        self.assertEqual(manifest.get_media_type("LpOD"), "")

    def test_add_full_path_existing(self):
        manifest = self.manifest.clone
        path = self.image_path
        self.assertEqual(manifest.get_media_type(path), "image/png")
        manifest.add_full_path(path, "image/jpeg")
        self.assertEqual(manifest.get_media_type(path), "image/jpeg")

    def test_del_full_path(self):
        manifest = self.manifest.clone
        path = self.image_path
        self.assertEqual(manifest.get_media_type(path), "image/png")
        manifest.del_full_path(path)
        self.assertTrue(manifest.get_media_type(path) is None)
Пример #4
0
 def setUp(self):
     document = Document("samples/meta.odt")
     self.meta = document.get_part(ODF_META)
Пример #5
0
class TestUserDefined(TestCase):
    def setUp(self):
        self.document = Document('samples/meta.odt')
        self.meta = self.document.get_part(ODF_META)

    def test_create_user_defined_1(self):
        element = UserDefined('unknown_in_meta',
                              value=42,
                              value_type='float',
                              text=None,
                              style=None,
                              from_document=self.document)
        expected = ('<text:user-defined text:name="unknown_in_meta" '
                    'office:value-type="float" '
                    'office:value="42">42</text:user-defined>')
        self.assertEqual(element.serialize(), expected)

    def test_create_user_defined_2(self):
        element = UserDefined('unknown_in_meta2',
                              value=datetime(2013, 12, 30),
                              value_type='date',
                              text='2013-12-30',
                              style=None,
                              from_document=self.document)
        expected = ('<text:user-defined text:name="unknown_in_meta2" '
                    'office:value-type="date" '
                    'office:date-value="2013-12-30T00:00:00">2013-12-30'
                    '</text:user-defined>')
        self.assertEqual(element.serialize(), expected)

    def test_create_user_defined_2_no_doc(self):
        element = UserDefined('unknown_in_meta2',
                              value=datetime(2013, 12, 30),
                              value_type='date',
                              text='2013-12-30',
                              style=None,
                              from_document=None)
        expected = ('<text:user-defined text:name="unknown_in_meta2" '
                    'office:value-type="date" '
                    'office:date-value="2013-12-30T00:00:00">2013-12-30'
                    '</text:user-defined>')
        self.assertEqual(element.serialize(), expected)

    def test_create_user_defined_3_existing(self):
        element = UserDefined('Référence', from_document=self.document)
        expected = ('<text:user-defined text:name="%s" '
                    'office:value-type="boolean" '
                    'office:boolean-value="true">'
                    'true</text:user-defined>') % 'Référence'
        self.assertEqual(element.serialize(), expected)

    def test_create_user_defined_4_existing(self):
        element = UserDefined(
            'Référence',
            value=False,  # default value if not existing
            value_type='boolean',
            from_document=self.document)
        expected = ('<text:user-defined text:name="%s" '
                    'office:value-type="boolean" '
                    'office:boolean-value="true">'
                    'true</text:user-defined>') % 'Référence'
        self.assertEqual(element.serialize(), expected)

    def test_create_user_defined_5_nodoc(self):
        element = UserDefined(
            'Référence',
            value=False,  # default value if not existing
            value_type='boolean',
            from_document=None)
        expected = ('<text:user-defined text:name="%s" '
                    'office:value-type="boolean" '
                    'office:boolean-value="false">'
                    'false</text:user-defined>') % 'Référence'
        self.assertEqual(element.serialize(), expected)

    def test_get_user_defined(self):
        element = UserDefined(
            'Référence',
            value=False,  # default value if not existing
            value_type='boolean',
            from_document=self.document)
        body = self.document.body
        para = body.get_paragraph()
        para.append(element)
        user_defined = body.get_user_defined('Référence')
        expected = ('<text:user-defined text:name="%s" '
                    'office:value-type="boolean" '
                    'office:boolean-value="true">'
                    'true</text:user-defined>') % 'Référence'
        self.assertEqual(user_defined.serialize(), expected)

    def test_get_user_defined_list(self):
        element = UserDefined(
            'Référence',
            value=False,  # default value if not existing
            value_type='boolean',
            from_document=self.document)
        body = self.document.body
        para = body.get_paragraph()
        para.append(element)
        element2 = UserDefined('unknown_in_meta2',
                               value=datetime(2013, 12, 30),
                               value_type='date',
                               text='2013-12-30',
                               style=None,
                               from_document=None)
        para.append(element2)
        user_defined_list = body.get_user_defined_list()
        self.assertEqual(len(user_defined_list), 2)

    def test_get_user_defined_value(self):
        element = UserDefined(
            'Référence',
            value=True,  # default value if not existing
            value_type='boolean',
            from_document=self.document)
        body = self.document.body
        para = body.get_paragraph()
        para.append(element)
        element2 = UserDefined('unknown_in_meta2',
                               value=datetime(2013, 12, 30),
                               value_type='date',
                               text='2013-12-30',
                               style=None,
                               from_document=None)
        para.append(element2)
        value = body.get_user_defined_value('Référence')
        self.assertEqual(value, True)
        value = body.get_user_defined_value('unknown_in_meta2')
        self.assertEqual(value, datetime(2013, 12, 30))