66from functools import partial
77import codecs
88
9- from bogo .bogo import process_key , Action , get_action
9+ from bogo .bogo import Action , get_action , process_sequence
1010from bogo .mark import Mark
1111import os
1212
1313
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 )
2615
2716
2817class TestHelpers ():
@@ -48,41 +37,41 @@ def test_reverse(self):
4837
4938class TestProcessSeq ():
5039 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' )
7867
7968 # 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Ở' )
8675
8776 # English words
8877 eq_ (process_key_no_skip ('case' ), 'cáe' )
@@ -91,7 +80,7 @@ def test_normal_typing(self):
9180 @attr ('slow' )
9281 def test_with_dictionary (self ):
9382 def atomic (word , sequence ):
94- eq_ (word , process_seq (sequence ))
83+ eq_ (word , process_sequence (sequence ))
9584
9685 path = os .path .join (os .path .dirname (__file__ ), 'DauCu.sequences' )
9786 with codecs .open (path , "r" , "utf-8" ) as tests :
@@ -101,68 +90,68 @@ def atomic(word, sequence):
10190
10291 def test_bugs_related (self ):
10392 # naỳ.
104- eq_ (process_seq ('nayf.' ), 'này.' )
93+ eq_ (process_sequence ('nayf.' ), 'này.' )
10594
10695 # 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' )
10998
11099 # thươ.
111- eq_ (process_seq ("thuowr." ), "thuở." )
100+ eq_ (process_sequence ("thuowr." ), "thuở." )
112101
113- eq_ (process_seq ("[[" ), "[" )
114- eq_ (process_seq ("[[" ), "[" )
102+ eq_ (process_sequence ("[[" ), "[" )
103+ eq_ (process_sequence ("[[" ), "[" )
115104
116105 # BUG #77
117- eq_ (process_seq ("ddiemer" ), "điểm" )
106+ eq_ (process_sequence ("ddiemer" ), "điểm" )
118107
119108 # BUG #78
120- eq_ (process_seq ("tuoufw" ), "tườu" )
109+ eq_ (process_sequence ("tuoufw" ), "tườu" )
121110
122111 # BUG #79
123- eq_ (process_seq ("huoswc" ), "hước" )
112+ eq_ (process_sequence ("huoswc" ), "hước" )
124113
125114 # BUG #81
126- eq_ (process_seq ("khoefo" ), "khoèo" )
115+ eq_ (process_sequence ("khoefo" ), "khoèo" )
127116
128117 # BUG #82
129- eq_ (process_seq ("uorw" ), "uở" )
118+ eq_ (process_sequence ("uorw" ), "uở" )
130119
131120 def test_bug_93 (self ):
132- eq_ (process_seq ("{{" ), "{" )
133- eq_ (process_seq ("}}" ), "}" )
121+ eq_ (process_sequence ("{{" ), "{" )
122+ eq_ (process_sequence ("}}" ), "}" )
134123
135124 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' )
139128
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' )
146135
147- eq_ (process_seq ('tuwrowng' ), 'tưởng' )
136+ eq_ (process_sequence ('tuwrowng' ), 'tưởng' )
148137
149138 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' )
166155
167156 eq_ (process_key_no_skip ('Loorngr' ), 'Lôngr' )
168157 eq_ (process_key_no_skip ('LOorngr' ), 'LÔngr' )
@@ -172,7 +161,7 @@ def test_undo(self):
172161
173162 def test_non_vn (self ):
174163 def atomic (word ):
175- eq_ (process_seq (word ), word )
164+ eq_ (process_sequence (word ), word )
176165
177166 tests = [
178167 "system" ,
@@ -190,8 +179,8 @@ def atomic(word):
190179 for test in tests :
191180 yield atomic , test
192181
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