Drop lots of legacy code. Support Python 3.7-3.11.
[librarian.git] / tests / test_text.py
index 4cb2b7b..7797530 100644 (file)
@@ -1,58 +1,57 @@
-# -*- coding: utf-8 -*-
-#
 # This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
 # This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 #
-from __future__ import unicode_literals
-
+import unittest
 from librarian import NoDublinCore
 from librarian.builders import builders
 from librarian.parser import WLDocument as LegacyWLDocument
 from librarian.document import WLDocument
 from librarian import NoDublinCore
 from librarian.builders import builders
 from librarian.parser import WLDocument as LegacyWLDocument
 from librarian.document import WLDocument
-from nose.tools import *
 from .utils import get_fixture
 
 
 from .utils import get_fixture
 
 
-def test_transform_legacy():
-    expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt')
+class TextTests(unittest.TestCase):
+    maxDiff = None
 
 
-    text = LegacyWLDocument.from_file(
-            get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
-        ).as_text().get_bytes()
+    def test_transform_legacy(self):
+        expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt')
 
 
-    assert_equal(text, open(expected_output_file_path, 'rb').read())
+        text = LegacyWLDocument.from_file(
+            get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
+        ).as_text().get_bytes().decode('utf-8')
 
 
+        with open(expected_output_file_path, 'rb') as f:
+            self.assertEqual(text, f.read().decode('utf-8'))
 
 
-def test_transform():
-    expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt')
+    def test_transform(self):
+        expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt')
 
 
-    text = WLDocument(
-        filename=get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
-    ).build(builders['txt']).get_bytes()
+        text = WLDocument(
+            filename=get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
+        ).build(builders['txt']).get_bytes().decode('utf-8')
 
 
-    assert_equal(text, open(expected_output_file_path, 'rb').read())
+        with open(expected_output_file_path, 'rb') as f:
+            self.assertEqual(text, f.read().decode('utf-8'))
 
     
 
     
-def test_transform_raw():
-    expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected_raw.txt')
+    def test_transform_raw(self):
+        expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected_raw.txt')
 
 
-    text = LegacyWLDocument.from_file(
+        text = LegacyWLDocument.from_file(
             get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
             get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml')
-        ).as_text(flags=['raw-text']).get_bytes()
+        ).as_text(flags=['raw-text']).get_bytes().decode('utf-8')
 
 
-    assert_equal(text, open(expected_output_file_path, 'rb').read())
-
-
-@raises(NoDublinCore)
-def test_no_dublincore():
-    LegacyWLDocument.from_file(
-            get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')
-        ).as_text()
+        with open(expected_output_file_path, 'rb') as f:
+            self.assertEqual(text, f.read().decode('utf-8'))
 
 
+    def test_no_dublincore(self):
+        with self.assertRaises(NoDublinCore):
+            LegacyWLDocument.from_file(
+                get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')
+            ).as_text()
 
 
-def test_passing_parse_dublincore_to_transform():
-    """Passing parse_dublincore=False to the constructor omits DublinCore parsing."""
-    LegacyWLDocument.from_file(
+    def test_passing_parse_dublincore_to_transform(self):
+        """Passing parse_dublincore=False to the constructor omits DublinCore parsing."""
+        LegacyWLDocument.from_file(
             get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'),
             parse_dublincore=False,
         ).as_text()
             get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'),
             parse_dublincore=False,
         ).as_text()