X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/0fd2ed230ea6d53adb5e627731672c996485167b..86becb1ae4d215dd782dfc054471d724f6dcd1d7:/tests/test_text.py diff --git a/tests/test_text.py b/tests/test_text.py index 7ff94ca..c566a48 100644 --- a/tests/test_text.py +++ b/tests/test_text.py @@ -3,42 +3,62 @@ # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # -from librarian import text, NoDublinCore +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 nose.tools import * -from utils import get_fixture, remove_output_file +from .utils import get_fixture + + +class TextTests(unittest.TestCase): + maxDiff = None + + def test_transform_legacy(self): + expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt') + + 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(self): + expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt') -def teardown_transform(): - remove_output_file('text', 'asnyk_miedzy_nami.txt') + text = WLDocument( + filename=get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml') + ).build(builders['txt']).get_bytes().decode('utf-8') + with open(expected_output_file_path, 'rb') as f: + self.assertEqual(text, f.read().decode('utf-8')) -@with_setup(None, teardown_transform) -def test_transform(): - output_file_path = get_fixture('text', 'asnyk_miedzy_nami.txt') - expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt') + + def test_transform_raw(self): + expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected_raw.txt') - text.transform( - open(get_fixture('text', 'asnyk_miedzy_nami.xml')), - open(output_file_path, 'w'), - ) + text = LegacyWLDocument.from_file( + get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml') + ).as_text(flags=['raw-text']).get_bytes().decode('utf-8') - assert_equal(file(output_file_path).read(), file(expected_output_file_path).read()) + with open(expected_output_file_path, 'rb') as f: + self.assertEqual(text, f.read().decode('utf-8')) -@with_setup(None, teardown_transform) @raises(NoDublinCore) def test_no_dublincore(): - text.transform( - open(get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')), - open(get_fixture('text', 'asnyk_miedzy_nami.txt'), 'w'), - ) + LegacyWLDocument.from_file( + get_fixture('text', 'asnyk_miedzy_nami_nodc.xml') + ).as_text() -@with_setup(None, teardown_transform) def test_passing_parse_dublincore_to_transform(): - """Passing parse_dublincore=False to transform omits DublinCore parsing.""" - text.transform( - open(get_fixture('text', 'asnyk_miedzy_nami_nodc.xml')), - open(get_fixture('text', 'asnyk_miedzy_nami.txt'), 'w'), - parse_dublincore=False, - ) + """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()