/
test_text_unicode.py
85 lines (74 loc) · 1.99 KB
/
test_text_unicode.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# -*- coding: utf-8 -*-
from __future__ import absolute_import, print_function, division
import io
from tempfile import NamedTemporaryFile
from petl.test.helpers import ieq, eq_
from petl.io.text import fromtext, totext
def test_fromtext():
data = (
u"name,id\n"
u"Արամ Խաչատրյան,1\n"
u"Johann Strauß,2\n"
u"Вагиф Сәмәдоғлу,3\n"
u"章子怡,4\n"
)
fn = NamedTemporaryFile().name
f = io.open(fn, encoding='utf-8', mode='wt')
f.write(data)
f.close()
actual = fromtext(fn, encoding='utf-8')
expect = ((u'lines',),
(u'name,id',),
(u'Արամ Խաչատրյան,1',),
(u'Johann Strauß,2',),
(u'Вагиф Сәмәдоғлу,3',),
(u'章子怡,4',),
)
ieq(expect, actual)
ieq(expect, actual) # verify can iterate twice
def test_totext():
# exercise function
tbl = ((u'name', u'id'),
(u'Արամ Խաչատրյան', 1),
(u'Johann Strauß', 2),
(u'Вагиф Сәмәдоғлу', 3),
(u'章子怡', 4),
)
prologue = (
u"{| class='wikitable'\n"
u"|-\n"
u"! name\n"
u"! id\n"
)
template = (
u"|-\n"
u"| {name}\n"
u"| {id}\n"
)
epilogue = u"|}\n"
fn = NamedTemporaryFile().name
totext(tbl, fn, template=template, prologue=prologue,
epilogue=epilogue, encoding='utf-8')
# check what it did
f = io.open(fn, encoding='utf-8', mode='rt')
actual = f.read()
expect = (
u"{| class='wikitable'\n"
u"|-\n"
u"! name\n"
u"! id\n"
u"|-\n"
u"| Արամ Խաչատրյան\n"
u"| 1\n"
u"|-\n"
u"| Johann Strauß\n"
u"| 2\n"
u"|-\n"
u"| Вагиф Сәмәдоғлу\n"
u"| 3\n"
u"|-\n"
u"| 章子怡\n"
u"| 4\n"
u"|}\n"
)
eq_(expect, actual)