Mercurial > vim
comparison src/testdir/test86.in @ 5608:ec02e1474bc2 v7.4.151
updated for version 7.4.151
Problem: Python: slices with steps are not supported.
Solution: Support slices in Python vim.List. (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 14 Jan 2014 16:36:51 +0100 |
parents | 064e2a080e2e |
children | 2ace11abcfb5 |
comparison
equal
deleted
inserted
replaced
5607:98a642716acc | 5608:ec02e1474bc2 |
---|---|
133 :$put =string(l) | 133 :$put =string(l) |
134 :let l = [0, 1, 2, 3] | 134 :let l = [0, 1, 2, 3] |
135 :py l=vim.bindeval('l') | 135 :py l=vim.bindeval('l') |
136 :py del l[-6:2] | 136 :py del l[-6:2] |
137 :$put =string(l) | 137 :$put =string(l) |
138 :let l = [0, 1, 2, 3] | |
139 :py l=vim.bindeval('l') | |
140 :py del l[::2] | |
141 :$put =string(l) | |
142 :let l = [0, 1, 2, 3] | |
143 :py l=vim.bindeval('l') | |
144 :py del l[3:0:-2] | |
145 :$put =string(l) | |
146 :let l = [0, 1, 2, 3] | |
147 :py l=vim.bindeval('l') | |
148 :py del l[2:4:-2] | |
149 :$put =string(l) | |
138 :" | 150 :" |
139 :" Slice assignment to a list | 151 :" Slice assignment to a list |
140 :let l = [0, 1, 2, 3] | 152 :let l = [0, 1, 2, 3] |
141 :py l=vim.bindeval('l') | 153 :py l=vim.bindeval('l') |
142 :py l[0:0]=['a'] | 154 :py l[0:0]=['a'] |
166 :py l[2:-10]=['g'] | 178 :py l[2:-10]=['g'] |
167 :$put =string(l) | 179 :$put =string(l) |
168 :let l = [] | 180 :let l = [] |
169 :py l=vim.bindeval('l') | 181 :py l=vim.bindeval('l') |
170 :py l[0:0]=['h'] | 182 :py l[0:0]=['h'] |
183 :$put =string(l) | |
184 :let l = range(8) | |
185 :py l=vim.bindeval('l') | |
186 :py l[2:6:2] = [10, 20] | |
187 :$put =string(l) | |
188 :let l = range(8) | |
189 :py l=vim.bindeval('l') | |
190 :py l[6:2:-2] = [10, 20] | |
191 :$put =string(l) | |
192 :let l = range(8) | |
193 :py l=vim.bindeval('l') | |
194 :py l[6:2] = () | |
195 :$put =string(l) | |
196 :let l = range(8) | |
197 :py l=vim.bindeval('l') | |
198 :py l[6:2:1] = () | |
199 :$put =string(l) | |
200 :let l = range(8) | |
201 :py l=vim.bindeval('l') | |
202 :py l[2:2:1] = () | |
171 :$put =string(l) | 203 :$put =string(l) |
172 :" | 204 :" |
173 :" Locked variables | 205 :" Locked variables |
174 :let l = [0, 1, 2, 3] | 206 :let l = [0, 1, 2, 3] |
175 :py l=vim.bindeval('l') | 207 :py l=vim.bindeval('l') |
388 :$put =string(pyeval('l')) | 420 :$put =string(pyeval('l')) |
389 :py l = ll[0:6] | 421 :py l = ll[0:6] |
390 :$put =string(pyeval('l')) | 422 :$put =string(pyeval('l')) |
391 :py l = ll[-10:10] | 423 :py l = ll[-10:10] |
392 :$put =string(pyeval('l')) | 424 :$put =string(pyeval('l')) |
425 :py l = ll[4:2:-1] | |
426 :$put =string(pyeval('l')) | |
427 :py l = ll[::2] | |
428 :$put =string(pyeval('l')) | |
429 :py l = ll[4:2:1] | |
430 :$put =string(pyeval('l')) | |
431 :py del l | |
393 :" | 432 :" |
394 :" Vars | 433 :" Vars |
395 :let g:foo = 'bac' | 434 :let g:foo = 'bac' |
396 :let w:abc3 = 'def' | 435 :let w:abc3 = 'def' |
397 :let b:baz = 'bar' | 436 :let b:baz = 'bar' |
905 dl = vim.Dictionary(a=1) | 944 dl = vim.Dictionary(a=1) |
906 dl.locked = True | 945 dl.locked = True |
907 l = vim.List() | 946 l = vim.List() |
908 ll = vim.List('abcE') | 947 ll = vim.List('abcE') |
909 ll.locked = True | 948 ll.locked = True |
949 nel = vim.List('abcO') | |
910 f = vim.Function('string') | 950 f = vim.Function('string') |
911 fd = vim.Function('F') | 951 fd = vim.Function('F') |
912 fdel = vim.Function('D') | 952 fdel = vim.Function('D') |
913 vim.command('delfunction D') | 953 vim.command('delfunction D') |
914 | 954 |
991 def __iter__(self): | 1031 def __iter__(self): |
992 return self | 1032 return self |
993 | 1033 |
994 def next(self): | 1034 def next(self): |
995 raise NotImplementedError('next') | 1035 raise NotImplementedError('next') |
1036 | |
1037 class FailingIterNextN(object): | |
1038 def __init__(self, n): | |
1039 self.n = n | |
1040 | |
1041 def __iter__(self): | |
1042 return self | |
1043 | |
1044 def next(self): | |
1045 if self.n: | |
1046 self.n -= 1 | |
1047 return 1 | |
1048 else: | |
1049 raise NotImplementedError('next N') | |
996 | 1050 |
997 class FailingMappingKey(object): | 1051 class FailingMappingKey(object): |
998 def __getitem__(self, item): | 1052 def __getitem__(self, item): |
999 raise NotImplementedError('getitem:mappingkey') | 1053 raise NotImplementedError('getitem:mappingkey') |
1000 | 1054 |
1096 cb.append(">> DictionaryUpdate") | 1150 cb.append(">> DictionaryUpdate") |
1097 cb.append(">>> kwargs") | 1151 cb.append(">>> kwargs") |
1098 cb.append(">>> iter") | 1152 cb.append(">>> iter") |
1099 ee('d.update(FailingMapping())') | 1153 ee('d.update(FailingMapping())') |
1100 ee('d.update([FailingIterNext()])') | 1154 ee('d.update([FailingIterNext()])') |
1155 ee('d.update([FailingIterNextN(1)])') | |
1101 iter_test('d.update(%s)') | 1156 iter_test('d.update(%s)') |
1102 convertfrompyobject_test('d.update(%s)') | 1157 convertfrompyobject_test('d.update(%s)') |
1103 stringtochars_test('d.update(((%s, 0),))') | 1158 stringtochars_test('d.update(((%s, 0),))') |
1104 convertfrompyobject_test('d.update((("a", %s),))') | 1159 convertfrompyobject_test('d.update((("a", %s),))') |
1105 cb.append(">> DictionaryPopItem") | 1160 cb.append(">> DictionaryPopItem") |
1118 ee('ll[1] = 2') | 1173 ee('ll[1] = 2') |
1119 ee('l[1000] = 3') | 1174 ee('l[1000] = 3') |
1120 cb.append(">> ListAssSlice") | 1175 cb.append(">> ListAssSlice") |
1121 ee('ll[1:100] = "abcJ"') | 1176 ee('ll[1:100] = "abcJ"') |
1122 iter_test('l[:] = %s') | 1177 iter_test('l[:] = %s') |
1178 ee('nel[1:10:2] = "abcK"') | |
1179 cb.append(repr(tuple(nel))) | |
1180 ee('nel[1:10:2] = "a"') | |
1181 cb.append(repr(tuple(nel))) | |
1182 ee('nel[1:1:-1] = "a"') | |
1183 cb.append(repr(tuple(nel))) | |
1184 ee('nel[:] = FailingIterNextN(2)') | |
1185 cb.append(repr(tuple(nel))) | |
1123 convertfrompyobject_test('l[:] = [%s]') | 1186 convertfrompyobject_test('l[:] = [%s]') |
1124 cb.append(">> ListConcatInPlace") | 1187 cb.append(">> ListConcatInPlace") |
1125 iter_test('l.extend(%s)') | 1188 iter_test('l.extend(%s)') |
1126 convertfrompyobject_test('l.extend([%s])') | 1189 convertfrompyobject_test('l.extend([%s])') |
1127 cb.append(">> ListSetattr") | 1190 cb.append(">> ListSetattr") |
1199 del d | 1262 del d |
1200 del ned | 1263 del ned |
1201 del dl | 1264 del dl |
1202 del l | 1265 del l |
1203 del ll | 1266 del ll |
1267 del nel | |
1204 del f | 1268 del f |
1205 del fd | 1269 del fd |
1206 del fdel | 1270 del fdel |
1207 del subexpr_test | 1271 del subexpr_test |
1208 del stringtochars_test | 1272 del stringtochars_test |
1212 del iter_test | 1276 del iter_test |
1213 del number_test | 1277 del number_test |
1214 del FailingTrue | 1278 del FailingTrue |
1215 del FailingIter | 1279 del FailingIter |
1216 del FailingIterNext | 1280 del FailingIterNext |
1281 del FailingIterNextN | |
1217 del FailingMapping | 1282 del FailingMapping |
1218 del FailingMappingKey | 1283 del FailingMappingKey |
1219 del FailingList | 1284 del FailingList |
1220 del NoArgsCall | 1285 del NoArgsCall |
1221 del FailingCall | 1286 del FailingCall |