6
6
from functools import partial
7
7
import codecs
8
8
9
- from bogo .bogo import process_key , Action , get_action
9
+ from bogo .bogo import Action , get_action , process_sequence
10
10
from bogo .mark import Mark
11
11
import os
12
12
13
13
14
- def process_seq (seq , skip_non_vietnamese = True ):
15
- string = ""
16
- raw = string
17
- for i in seq :
18
- string , raw = process_key (string ,
19
- i ,
20
- fallback_sequence = raw ,
21
- skip_non_vietnamese = skip_non_vietnamese )
22
- return string
23
-
24
-
25
- process_key_no_skip = partial (process_seq , skip_non_vietnamese = False )
14
+ process_key_no_skip = partial (process_sequence , skip_non_vietnamese = False )
26
15
27
16
28
17
class TestHelpers ():
@@ -48,41 +37,41 @@ def test_reverse(self):
48
37
49
38
class TestProcessSeq ():
50
39
def test_normal_typing (self ):
51
- eq_ (process_seq ('v' ), 'v' )
52
- eq_ (process_seq ('aw' ), 'ă' )
53
- eq_ (process_seq ('w' ), 'ư' )
54
- eq_ (process_seq ('ow' ), 'ơ' )
55
- eq_ (process_seq ('oo' ), 'ô' )
56
- eq_ (process_seq ('Oo' ), 'Ô' )
57
- eq_ (process_seq ('dd' ), 'đ' )
58
- eq_ (process_seq ('muaf' ), 'mùa' )
59
- eq_ (process_seq ('Doongd' ), 'Đông' )
60
- eq_ (process_seq ('gif' ), 'gì' )
61
- eq_ (process_seq ('loAnj' ), 'loẠn' )
62
- eq_ (process_seq ('muongw' ), 'mương' )
63
- eq_ (process_seq ('qur' ), 'qur' )
64
- eq_ (process_seq ('Tosan' ), 'Toán' )
65
- eq_ (process_seq ('tusnw' ), 'tứn' )
66
- eq_ (process_seq ('dee' ), 'dê' )
67
- eq_ (process_seq ('mowis' ), 'mới' )
68
- eq_ (process_seq ('uwa' ), 'ưa' )
69
- eq_ (process_seq ('uwo' ), 'ưo' )
70
- eq_ (process_seq ('ddx' ), 'đx' )
71
- eq_ (process_seq ('hoacw' ), 'hoăc' )
72
- eq_ (process_seq ('cuooi' ), 'cuôi' )
73
-
74
- eq_ (process_seq ('tooi' ), 'tôi' )
75
- eq_ (process_seq ('chuyeenr' ), 'chuyển' )
76
- eq_ (process_seq ('ddoonjg' ), 'động' )
77
- eq_ (process_seq ('nheechs' ), 'nhếch' )
40
+ eq_ (process_sequence ('v' ), 'v' )
41
+ eq_ (process_sequence ('aw' ), 'ă' )
42
+ eq_ (process_sequence ('w' ), 'ư' )
43
+ eq_ (process_sequence ('ow' ), 'ơ' )
44
+ eq_ (process_sequence ('oo' ), 'ô' )
45
+ eq_ (process_sequence ('Oo' ), 'Ô' )
46
+ eq_ (process_sequence ('dd' ), 'đ' )
47
+ eq_ (process_sequence ('muaf' ), 'mùa' )
48
+ eq_ (process_sequence ('Doongd' ), 'Đông' )
49
+ eq_ (process_sequence ('gif' ), 'gì' )
50
+ eq_ (process_sequence ('loAnj' ), 'loẠn' )
51
+ eq_ (process_sequence ('muongw' ), 'mương' )
52
+ eq_ (process_sequence ('qur' ), 'qur' )
53
+ eq_ (process_sequence ('Tosan' ), 'Toán' )
54
+ eq_ (process_sequence ('tusnw' ), 'tứn' )
55
+ eq_ (process_sequence ('dee' ), 'dê' )
56
+ eq_ (process_sequence ('mowis' ), 'mới' )
57
+ eq_ (process_sequence ('uwa' ), 'ưa' )
58
+ eq_ (process_sequence ('uwo' ), 'ưo' )
59
+ eq_ (process_sequence ('ddx' ), 'đx' )
60
+ eq_ (process_sequence ('hoacw' ), 'hoăc' )
61
+ eq_ (process_sequence ('cuooi' ), 'cuôi' )
62
+
63
+ eq_ (process_sequence ('tooi' ), 'tôi' )
64
+ eq_ (process_sequence ('chuyeenr' ), 'chuyển' )
65
+ eq_ (process_sequence ('ddoonjg' ), 'động' )
66
+ eq_ (process_sequence ('nheechs' ), 'nhếch' )
78
67
79
68
# uơ related
80
- eq_ (process_seq ('quowr' ), 'quở' )
81
- eq_ (process_seq ('huow' ), 'huơ' )
82
- eq_ (process_seq ('thuowr' ), 'thuở' )
83
- eq_ (process_seq ('QUOWR' ), 'QUỞ' )
84
- eq_ (process_seq ('HUOW' ), 'HUƠ' )
85
- eq_ (process_seq ('THUOWR' ), 'THUỞ' )
69
+ eq_ (process_sequence ('quowr' ), 'quở' )
70
+ eq_ (process_sequence ('huow' ), 'huơ' )
71
+ eq_ (process_sequence ('thuowr' ), 'thuở' )
72
+ eq_ (process_sequence ('QUOWR' ), 'QUỞ' )
73
+ eq_ (process_sequence ('HUOW' ), 'HUƠ' )
74
+ eq_ (process_sequence ('THUOWR' ), 'THUỞ' )
86
75
87
76
# English words
88
77
eq_ (process_key_no_skip ('case' ), 'cáe' )
@@ -91,7 +80,7 @@ def test_normal_typing(self):
91
80
@attr ('slow' )
92
81
def test_with_dictionary (self ):
93
82
def atomic (word , sequence ):
94
- eq_ (word , process_seq (sequence ))
83
+ eq_ (word , process_sequence (sequence ))
95
84
96
85
path = os .path .join (os .path .dirname (__file__ ), 'DauCu.sequences' )
97
86
with codecs .open (path , "r" , "utf-8" ) as tests :
@@ -101,68 +90,68 @@ def atomic(word, sequence):
101
90
102
91
def test_bugs_related (self ):
103
92
# naỳ.
104
- eq_ (process_seq ('nayf.' ), 'này.' )
93
+ eq_ (process_sequence ('nayf.' ), 'này.' )
105
94
106
95
# nguời
107
- eq_ (process_seq ('nguowif' ), 'người' )
108
- eq_ (process_seq ('nguwowif' ), 'người' )
96
+ eq_ (process_sequence ('nguowif' ), 'người' )
97
+ eq_ (process_sequence ('nguwowif' ), 'người' )
109
98
110
99
# thươ.
111
- eq_ (process_seq ("thuowr." ), "thuở." )
100
+ eq_ (process_sequence ("thuowr." ), "thuở." )
112
101
113
- eq_ (process_seq ("[[" ), "[" )
114
- eq_ (process_seq ("[[" ), "[" )
102
+ eq_ (process_sequence ("[[" ), "[" )
103
+ eq_ (process_sequence ("[[" ), "[" )
115
104
116
105
# BUG #77
117
- eq_ (process_seq ("ddiemer" ), "điểm" )
106
+ eq_ (process_sequence ("ddiemer" ), "điểm" )
118
107
119
108
# BUG #78
120
- eq_ (process_seq ("tuoufw" ), "tườu" )
109
+ eq_ (process_sequence ("tuoufw" ), "tườu" )
121
110
122
111
# BUG #79
123
- eq_ (process_seq ("huoswc" ), "hước" )
112
+ eq_ (process_sequence ("huoswc" ), "hước" )
124
113
125
114
# BUG #81
126
- eq_ (process_seq ("khoefo" ), "khoèo" )
115
+ eq_ (process_sequence ("khoefo" ), "khoèo" )
127
116
128
117
# BUG #82
129
- eq_ (process_seq ("uorw" ), "uở" )
118
+ eq_ (process_sequence ("uorw" ), "uở" )
130
119
131
120
def test_bug_93 (self ):
132
- eq_ (process_seq ("{{" ), "{" )
133
- eq_ (process_seq ("}}" ), "}" )
121
+ eq_ (process_sequence ("{{" ), "{" )
122
+ eq_ (process_sequence ("}}" ), "}" )
134
123
135
124
def test_free_key_position (self ):
136
- eq_ (process_seq ('toios' ), 'tối' )
137
- eq_ (process_seq ('toois' ), 'tối' )
138
- eq_ (process_seq ('toosi' ), 'tối' )
125
+ eq_ (process_sequence ('toios' ), 'tối' )
126
+ eq_ (process_sequence ('toois' ), 'tối' )
127
+ eq_ (process_sequence ('toosi' ), 'tối' )
139
128
140
- eq_ (process_seq ('tuyenre' ), 'tuyển' )
141
- eq_ (process_seq ('tuyener' ), 'tuyển' )
142
- eq_ (process_seq ('tuyeren' ), 'tuyển' )
143
- eq_ (process_seq ('tuyerne' ), 'tuyển' )
144
- eq_ (process_seq ('tuyeern' ), 'tuyển' )
145
- eq_ (process_seq ('tuyeenr' ), 'tuyển' )
129
+ eq_ (process_sequence ('tuyenre' ), 'tuyển' )
130
+ eq_ (process_sequence ('tuyener' ), 'tuyển' )
131
+ eq_ (process_sequence ('tuyeren' ), 'tuyển' )
132
+ eq_ (process_sequence ('tuyerne' ), 'tuyển' )
133
+ eq_ (process_sequence ('tuyeern' ), 'tuyển' )
134
+ eq_ (process_sequence ('tuyeenr' ), 'tuyển' )
146
135
147
- eq_ (process_seq ('tuwrowng' ), 'tưởng' )
136
+ eq_ (process_sequence ('tuwrowng' ), 'tưởng' )
148
137
149
138
def test_undo (self ):
150
- eq_ (process_seq ('aaa' ), 'aa' )
151
- eq_ (process_seq ('aww' ), 'aw' )
152
- eq_ (process_seq ('ass' ), 'as' )
153
- eq_ (process_seq ('aff' ), 'af' )
154
- eq_ (process_seq ('arr' ), 'ar' )
155
- eq_ (process_seq ('axx' ), 'ax' )
156
- eq_ (process_seq ('ajj' ), 'aj' )
157
- eq_ (process_seq ('uww' ), 'uw' )
158
- eq_ (process_seq ('oww' ), 'ow' )
159
-
160
- eq_ (process_seq ('huww' ), 'huw' )
161
- eq_ (process_seq ('hww' ), 'hw' )
162
- eq_ (process_seq ('ww' ), 'w' )
163
- eq_ (process_seq ('uww' ), 'uw' )
164
-
165
- eq_ (process_seq ('DDd' ), 'Dd' )
139
+ eq_ (process_sequence ('aaa' ), 'aa' )
140
+ eq_ (process_sequence ('aww' ), 'aw' )
141
+ eq_ (process_sequence ('ass' ), 'as' )
142
+ eq_ (process_sequence ('aff' ), 'af' )
143
+ eq_ (process_sequence ('arr' ), 'ar' )
144
+ eq_ (process_sequence ('axx' ), 'ax' )
145
+ eq_ (process_sequence ('ajj' ), 'aj' )
146
+ eq_ (process_sequence ('uww' ), 'uw' )
147
+ eq_ (process_sequence ('oww' ), 'ow' )
148
+
149
+ eq_ (process_sequence ('huww' ), 'huw' )
150
+ eq_ (process_sequence ('hww' ), 'hw' )
151
+ eq_ (process_sequence ('ww' ), 'w' )
152
+ eq_ (process_sequence ('uww' ), 'uw' )
153
+
154
+ eq_ (process_sequence ('DDd' ), 'Dd' )
166
155
167
156
eq_ (process_key_no_skip ('Loorngr' ), 'Lôngr' )
168
157
eq_ (process_key_no_skip ('LOorngr' ), 'LÔngr' )
@@ -172,7 +161,7 @@ def test_undo(self):
172
161
173
162
def test_non_vn (self ):
174
163
def atomic (word ):
175
- eq_ (process_seq (word ), word )
164
+ eq_ (process_sequence (word ), word )
176
165
177
166
tests = [
178
167
"system" ,
@@ -190,8 +179,8 @@ def atomic(word):
190
179
for test in tests :
191
180
yield atomic , test
192
181
193
- eq_ (process_seq ("aans." ), "ấn." )
194
- eq_ (process_seq ("aans]" ), "ấn]" )
195
- # eq_(process_seq ("aans.tuongwj"), "ấn.tượng")
196
- eq_ (process_seq ("gi[f" ), "giờ" )
197
- # eq_(process_seq ("taojc"), "taojc")
182
+ eq_ (process_sequence ("aans." ), "ấn." )
183
+ eq_ (process_sequence ("aans]" ), "ấn]" )
184
+ # eq_(process_sequence ("aans.tuongwj"), "ấn.tượng")
185
+ eq_ (process_sequence ("gi[f" ), "giờ" )
186
+ # eq_(process_sequence ("taojc"), "taojc")
0 commit comments