X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/a3be479506edf42dc58feb22b26e4f5da1e49edd..af72c4ed58e541d491dafbfe4ecb163662f402b5:/tests/test_html_annotations.py diff --git a/tests/test_html_annotations.py b/tests/test_html_annotations.py index 4956b7d..410577c 100644 --- a/tests/test_html_annotations.py +++ b/tests/test_html_annotations.py @@ -1,11 +1,8 @@ # -*- coding: utf-8 from __future__ import unicode_literals -from StringIO import StringIO -import tempfile from librarian.parser import WLDocument from librarian.html import extract_annotations -from lxml import etree from nose.tools import eq_ @@ -13,92 +10,95 @@ def _test_annotation(expected, got, name): assert got[0].startswith('anchor-'), "%s: Unexpected anchor: '%s', should begin with 'anchor-'" % (name, got[0]) eq_(expected[0], got[1], "%s: Unexpected type, expected '%s', got '%s'" % (name, expected[0], got[1])) eq_(expected[1], got[2], "%s: Unexpected qualifier, expected '%s', got '%s'" % (name, expected[1], got[2])) - eq_(expected[2], got[3], "%s: Unexpected text representation, expected '%s', got '%s'" % (name, expected[2], got[3])) + eq_(expected[2], got[3], "%s: Unexpected text representation, expected '%s', got '%s'" % + (name, expected[2], got[3])) exp_html = '
%s
' % (expected[0], expected[3]) eq_(exp_html, got[4], "%s: Unexpected html representation, expected '%s', got '%s'" % (name, exp_html, got[4])) - + def test_annotations(): annotations = ( ('', ( 'pe', - [], - '', - '

' + [], + '[przypis edytorski]', + '

[przypis edytorski]

' ), 'Empty footnote'), - ( - 'Definiendum --- definiens.', ( + ('Definiendum --- definiens.', ( 'pr', - [], - 'Definiendum \u2014 definiens.', - '

Definiendum \u2014 definiens.

' + [], + 'Definiendum \u2014 definiens. [przypis redakcyjny]', + '

Definiendum \u2014 definiens. [przypis redakcyjny]

' ), 'Plain footnote.'), ('Definiendum --- definiens.', ( 'pt', - [], - 'Definiendum \u2014 definiens.', - '

Definiendum \u2014 definiens.

' + [], + 'Definiendum \u2014 definiens. [przypis tłumacza]', + '

Definiendum \u2014 definiens. [przypis tłumacza]

' ), 'Standard footnote.'), ('Definiendum (łac.) --- definiens.', ( 'pr', - ['łac.'], - 'Definiendum (łac.) \u2014 definiens.', - '

Definiendum (łac.) \u2014 definiens.

' + ['łac.'], + 'Definiendum (łac.) \u2014 definiens. [przypis redakcyjny]', + '

Definiendum (łac.) \u2014 definiens. [przypis redakcyjny]

' ), 'Plain footnote with qualifier'), ('Definiendum (łac.) --- definiens.', ( 'pe', - ['łac.'], - 'Definiendum (łac.) \u2014 definiens.', - '

Definiendum (łac.) \u2014 definiens.

' + ['łac.'], + 'Definiendum (łac.) \u2014 definiens. [przypis edytorski]', + '

Definiendum (łac.) \u2014 definiens. [przypis edytorski]

' ), 'Standard footnote with qualifier.'), (' Definiendum (daw.) --- definiens.', ( 'pt', - ['daw.'], - 'Definiendum (daw.) \u2014 definiens.', - '

Definiendum (daw.) \u2014 definiens.

' + ['daw.'], + 'Definiendum (daw.) \u2014 definiens. [przypis tłumacza]', + '

Definiendum (daw.) \u2014 definiens. [przypis tłumacza]

' ), 'Standard footnote with leading whitespace and qualifier.'), ('Definiendum (łac.) --- definiens.', ( 'pr', - ['łac.'], - 'Definiendum (łac.) \u2014 definiens.', - '

Definiendum (łac.) \u2014 definiens.

' + ['łac.'], + 'Definiendum (łac.) \u2014 definiens. [przypis redakcyjny]', + '

Definiendum (łac.) \u2014 definiens. [przypis redakcyjny]

' ), 'Plain footnote with qualifier and some emphasis.'), ('Definiendum (łac.) --- definiens.', ( 'pe', ['łac.'], - 'Definiendum (łac.) \u2014 definiens.', - '

Definiendum (łac.) \u2014 definiens.

' + 'Definiendum (łac.) \u2014 definiens. [przypis edytorski]', + '

Definiendum (łac.) \u2014 definiens. [przypis edytorski]

' ), 'Standard footnote with qualifier and some emphasis.'), ('Definiendum (łac.) --- definiens (some) --- more text.', ( 'pe', ['łac.'], - 'Definiendum (łac.) \u2014 definiens (some) \u2014 more text.', - '

Definiendum (łac.) \u2014 definiens (some) \u2014 more text.

', + 'Definiendum (łac.) \u2014 definiens (some) \u2014 more text. [przypis edytorski]', + '

Definiendum (łac.) \u2014 definiens (some) \u2014 more text. [przypis edytorski]

', ), 'Footnote with a second parentheses and mdash.'), - ('gemajna (daw., z niem. gemein: zwykły) --- częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu.', ( + ('gemajna (daw., z niem. gemein: zwykły) --- ' + 'częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu.', ( 'pe', ['daw.', 'niem.'], - 'gemajna (daw., z niem. gemein: zwykły) \u2014 częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu.', - '

gemajna (daw., z niem. gemein: zwykły) \u2014 częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu.

' + 'gemajna (daw., z niem. gemein: zwykły) \u2014 częściej: gemajn, ' + 'szeregowiec w wojsku polskim cudzoziemskiego autoramentu. [przypis edytorski]', + '

gemajna (daw., z niem. gemein: zwykły) ' + '\u2014 częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu. [przypis edytorski]

' ), 'Footnote with multiple and qualifiers and emphasis.'), @@ -106,7 +106,9 @@ def test_annotations(): xml_src = ''' %s ''' % "".join( t[0] for t in annotations) - html = WLDocument.from_string(xml_src, parse_dublincore=False).as_html().get_file() + html = WLDocument.from_bytes( + xml_src.encode('utf-8'), + parse_dublincore=False).as_html().get_file() res_annotations = list(extract_annotations(html)) for i, (src, expected, name) in enumerate(annotations):