Mercurial > vim
comparison src/testdir/test87.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 |
---|---|
126 :$put =string(l) | 126 :$put =string(l) |
127 :let l = [0, 1, 2, 3] | 127 :let l = [0, 1, 2, 3] |
128 :py3 l=vim.bindeval('l') | 128 :py3 l=vim.bindeval('l') |
129 :py3 del l[-6:2] | 129 :py3 del l[-6:2] |
130 :$put =string(l) | 130 :$put =string(l) |
131 :let l = [0, 1, 2, 3] | |
132 :py3 l=vim.bindeval('l') | |
133 :py3 del l[::2] | |
134 :$put =string(l) | |
135 :let l = [0, 1, 2, 3] | |
136 :py3 l=vim.bindeval('l') | |
137 :py3 del l[3:0:-2] | |
138 :$put =string(l) | |
139 :let l = [0, 1, 2, 3] | |
140 :py3 l=vim.bindeval('l') | |
141 :py3 del l[2:4:-2] | |
142 :$put =string(l) | |
131 :" | 143 :" |
132 :" Slice assignment to a list | 144 :" Slice assignment to a list |
133 :let l = [0, 1, 2, 3] | 145 :let l = [0, 1, 2, 3] |
134 :py3 l=vim.bindeval('l') | 146 :py3 l=vim.bindeval('l') |
135 :py3 l[0:0]=['a'] | 147 :py3 l[0:0]=['a'] |
159 :py3 l[2:-10]=['g'] | 171 :py3 l[2:-10]=['g'] |
160 :$put =string(l) | 172 :$put =string(l) |
161 :let l = [] | 173 :let l = [] |
162 :py3 l=vim.bindeval('l') | 174 :py3 l=vim.bindeval('l') |
163 :py3 l[0:0]=['h'] | 175 :py3 l[0:0]=['h'] |
176 :$put =string(l) | |
177 :let l = range(8) | |
178 :py3 l=vim.bindeval('l') | |
179 :py3 l[2:6:2] = [10, 20] | |
180 :$put =string(l) | |
181 :let l = range(8) | |
182 :py3 l=vim.bindeval('l') | |
183 :py3 l[6:2:-2] = [10, 20] | |
184 :$put =string(l) | |
185 :let l = range(8) | |
186 :py3 l=vim.bindeval('l') | |
187 :py3 l[6:2] = () | |
188 :$put =string(l) | |
189 :let l = range(8) | |
190 :py3 l=vim.bindeval('l') | |
191 :py3 l[6:2:1] = () | |
192 :$put =string(l) | |
193 :let l = range(8) | |
194 :py3 l=vim.bindeval('l') | |
195 :py3 l[2:2:1] = () | |
164 :$put =string(l) | 196 :$put =string(l) |
165 :" | 197 :" |
166 :" Locked variables | 198 :" Locked variables |
167 :let l = [0, 1, 2, 3] | 199 :let l = [0, 1, 2, 3] |
168 :py3 l=vim.bindeval('l') | 200 :py3 l=vim.bindeval('l') |
360 :py3 trace_main() | 392 :py3 trace_main() |
361 :py3 sys.settrace(None) | 393 :py3 sys.settrace(None) |
362 :py3 del traceit | 394 :py3 del traceit |
363 :py3 del trace_main | 395 :py3 del trace_main |
364 :$put =string(l) | 396 :$put =string(l) |
397 :" | |
398 :" Slice | |
399 :py3 ll = vim.bindeval('[0, 1, 2, 3, 4, 5]') | |
400 :py3 l = ll[:4] | |
401 :$put =string(py3eval('l')) | |
402 :py3 l = ll[2:] | |
403 :$put =string(py3eval('l')) | |
404 :py3 l = ll[:-4] | |
405 :$put =string(py3eval('l')) | |
406 :py3 l = ll[-2:] | |
407 :$put =string(py3eval('l')) | |
408 :py3 l = ll[2:4] | |
409 :$put =string(py3eval('l')) | |
410 :py3 l = ll[4:2] | |
411 :$put =string(py3eval('l')) | |
412 :py3 l = ll[-4:-2] | |
413 :$put =string(py3eval('l')) | |
414 :py3 l = ll[-2:-4] | |
415 :$put =string(py3eval('l')) | |
416 :py3 l = ll[:] | |
417 :$put =string(py3eval('l')) | |
418 :py3 l = ll[0:6] | |
419 :$put =string(py3eval('l')) | |
420 :py3 l = ll[-10:10] | |
421 :$put =string(py3eval('l')) | |
422 :py3 l = ll[4:2:-1] | |
423 :$put =string(py3eval('l')) | |
424 :py3 l = ll[::2] | |
425 :$put =string(py3eval('l')) | |
426 :py3 l = ll[4:2:1] | |
427 :$put =string(py3eval('l')) | |
428 :py3 del l | |
365 :" | 429 :" |
366 :" Vars | 430 :" Vars |
367 :let g:foo = 'bac' | 431 :let g:foo = 'bac' |
368 :let w:abc3 = 'def' | 432 :let w:abc3 = 'def' |
369 :let b:baz = 'bar' | 433 :let b:baz = 'bar' |
857 dl = vim.Dictionary(a=1) | 921 dl = vim.Dictionary(a=1) |
858 dl.locked = True | 922 dl.locked = True |
859 l = vim.List() | 923 l = vim.List() |
860 ll = vim.List('abcE') | 924 ll = vim.List('abcE') |
861 ll.locked = True | 925 ll.locked = True |
926 nel = vim.List('abcO') | |
862 f = vim.Function('string') | 927 f = vim.Function('string') |
863 fd = vim.Function('F') | 928 fd = vim.Function('F') |
864 fdel = vim.Function('D') | 929 fdel = vim.Function('D') |
865 vim.command('delfunction D') | 930 vim.command('delfunction D') |
866 | 931 |
943 def __iter__(self): | 1008 def __iter__(self): |
944 return self | 1009 return self |
945 | 1010 |
946 def __next__(self): | 1011 def __next__(self): |
947 raise NotImplementedError('next') | 1012 raise NotImplementedError('next') |
1013 | |
1014 class FailingIterNextN(object): | |
1015 def __init__(self, n): | |
1016 self.n = n | |
1017 | |
1018 def __iter__(self): | |
1019 return self | |
1020 | |
1021 def __next__(self): | |
1022 if self.n: | |
1023 self.n -= 1 | |
1024 return 1 | |
1025 else: | |
1026 raise NotImplementedError('next N') | |
948 | 1027 |
949 class FailingMappingKey(object): | 1028 class FailingMappingKey(object): |
950 def __getitem__(self, item): | 1029 def __getitem__(self, item): |
951 raise NotImplementedError('getitem:mappingkey') | 1030 raise NotImplementedError('getitem:mappingkey') |
952 | 1031 |
1048 cb.append(">> DictionaryUpdate") | 1127 cb.append(">> DictionaryUpdate") |
1049 cb.append(">>> kwargs") | 1128 cb.append(">>> kwargs") |
1050 cb.append(">>> iter") | 1129 cb.append(">>> iter") |
1051 ee('d.update(FailingMapping())') | 1130 ee('d.update(FailingMapping())') |
1052 ee('d.update([FailingIterNext()])') | 1131 ee('d.update([FailingIterNext()])') |
1132 ee('d.update([FailingIterNextN(1)])') | |
1053 iter_test('d.update(%s)') | 1133 iter_test('d.update(%s)') |
1054 convertfrompyobject_test('d.update(%s)') | 1134 convertfrompyobject_test('d.update(%s)') |
1055 stringtochars_test('d.update(((%s, 0),))') | 1135 stringtochars_test('d.update(((%s, 0),))') |
1056 convertfrompyobject_test('d.update((("a", %s),))') | 1136 convertfrompyobject_test('d.update((("a", %s),))') |
1057 cb.append(">> DictionaryPopItem") | 1137 cb.append(">> DictionaryPopItem") |
1070 ee('ll[1] = 2') | 1150 ee('ll[1] = 2') |
1071 ee('l[1000] = 3') | 1151 ee('l[1000] = 3') |
1072 cb.append(">> ListAssSlice") | 1152 cb.append(">> ListAssSlice") |
1073 ee('ll[1:100] = "abcJ"') | 1153 ee('ll[1:100] = "abcJ"') |
1074 iter_test('l[:] = %s') | 1154 iter_test('l[:] = %s') |
1155 ee('nel[1:10:2] = "abcK"') | |
1156 cb.append(repr(tuple(nel))) | |
1157 ee('nel[1:10:2] = "a"') | |
1158 cb.append(repr(tuple(nel))) | |
1159 ee('nel[1:1:-1] = "a"') | |
1160 cb.append(repr(tuple(nel))) | |
1161 ee('nel[:] = FailingIterNextN(2)') | |
1162 cb.append(repr(tuple(nel))) | |
1075 convertfrompyobject_test('l[:] = [%s]') | 1163 convertfrompyobject_test('l[:] = [%s]') |
1076 cb.append(">> ListConcatInPlace") | 1164 cb.append(">> ListConcatInPlace") |
1077 iter_test('l.extend(%s)') | 1165 iter_test('l.extend(%s)') |
1078 convertfrompyobject_test('l.extend([%s])') | 1166 convertfrompyobject_test('l.extend([%s])') |
1079 cb.append(">> ListSetattr") | 1167 cb.append(">> ListSetattr") |
1151 del d | 1239 del d |
1152 del ned | 1240 del ned |
1153 del dl | 1241 del dl |
1154 del l | 1242 del l |
1155 del ll | 1243 del ll |
1244 del nel | |
1156 del f | 1245 del f |
1157 del fd | 1246 del fd |
1158 del fdel | 1247 del fdel |
1159 del subexpr_test | 1248 del subexpr_test |
1160 del stringtochars_test | 1249 del stringtochars_test |
1164 del iter_test | 1253 del iter_test |
1165 del number_test | 1254 del number_test |
1166 del FailingTrue | 1255 del FailingTrue |
1167 del FailingIter | 1256 del FailingIter |
1168 del FailingIterNext | 1257 del FailingIterNext |
1258 del FailingIterNextN | |
1169 del FailingMapping | 1259 del FailingMapping |
1170 del FailingMappingKey | 1260 del FailingMappingKey |
1171 del FailingList | 1261 del FailingList |
1172 del NoArgsCall | 1262 del NoArgsCall |
1173 del FailingCall | 1263 del FailingCall |