X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/6642c1c71c5c6ce6ef3401c8c9da84cf076b018b..eb6b8e8e497922011e8a89f1e1869d68ef8f7066:/tests/test_text.py diff --git a/tests/test_text.py b/tests/test_text.py old mode 100755 new mode 100644 index 00fd787..4cb2b7b --- a/tests/test_text.py +++ b/tests/test_text.py @@ -1,22 +1,58 @@ -#!/usr/bin/env python -# encoding: utf-8 +# -*- coding: utf-8 -*- +# +# This file is part of Librarian, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. 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 nose.tools import * +from .utils import get_fixture -from utils import get_file_path -from librarian import dcparser -from librarian import text, NoDublinCore +def test_transform_legacy(): + expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.txt') -class TestXML(unittest.TestCase): - def test_no_dublincore(self): - try: - text.transform(get_file_path('text', 'asnyk_miedzy_nami.xml'), - get_file_path('text', 'asnyk_miedzy_nami.txt')) - self.fail() - except NoDublinCore, e: - pass + text = LegacyWLDocument.from_file( + get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml') + ).as_text().get_bytes() + assert_equal(text, open(expected_output_file_path, 'rb').read()) -if __name__ == '__main__': - unittest.main() + +def test_transform(): + 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() + + assert_equal(text, open(expected_output_file_path, 'rb').read()) + + +def test_transform_raw(): + expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected_raw.txt') + + text = LegacyWLDocument.from_file( + get_fixture('text', 'miedzy-nami-nic-nie-bylo.xml') + ).as_text(flags=['raw-text']).get_bytes() + + 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() + + +def test_passing_parse_dublincore_to_transform(): + """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()