You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
} -result {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring 63 lstring}
52
+
} -result {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring 85 lstring}
53
53
54
54
test abstractlist-2.1 {no shimmer lindex} {
55
55
set l [lstring $str]
56
56
set l-isa [testobj objtype $l]
57
57
set ele [lindex $l 22]
58
58
set l-isa2 [testobj objtype $l]
59
59
list $l ${l-isa} ${ele} ${l-isa2}
60
-
} {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring y lstring}
60
+
} {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring e lstring}
61
61
62
62
test abstractlist-2.2 {no shimmer lreverse} {
63
63
set l [lstring $str]
@@ -66,7 +66,7 @@ test abstractlist-2.2 {no shimmer lreverse} {
66
66
set r-isa [testobj objtype $r]
67
67
set l-isa2 [testobj objtype $l]
68
68
list $r ${l-isa} ${r-isa} ${l-isa2}
69
-
} {{! e i d { } o t { } e r a p e r P { } . r e h t a f { } y m { } d e l l i k { } u o Y { } . a y o t n o M { } o g i n I { } s i { } e m a n { } y M} lstring lstring lstring}
69
+
} {{, u o y { } n o { } t i { } g n i m a l b { } d n a { } s r i e h t { } g n i s o l { } e r A { } u o y { } t u o b a { } l l a { } n e h w { } d a e h { } r u o y { } p e e k { } n a c { } u o y { } f I} lstring lstring lstring}
70
70
71
71
test abstractlist-2.3 {no shimmer lrange} {
72
72
set l [lstring $str]
@@ -82,7 +82,7 @@ test abstractlist-2.3 {no shimmer lrange} {
82
82
}]
83
83
set l-isa3 [testobj objtype $l]
84
84
list ${l-isa} $il ${l-isa2} ${l-isa3} $words
85
-
} {lstring {2 7 10 16 25 29 36 39 47 55 58 63} lstring lstring {My name is Inigo Montoya. You killed my father. Prepare to die!}}
85
+
} {lstring {2 6 10 15 20 25 30 34 40 44 48 55 62 66 74 77 80 85} lstring lstring {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
86
86
87
87
test abstractlist-2.4 {no shimmer foreach} {
88
88
set l [lstring $str]
@@ -102,34 +102,34 @@ test abstractlist-2.4 {no shimmer foreach} {
102
102
}
103
103
set l-isa2 [testobj objtype $l]
104
104
list ${l-isa} ${l-isa2} $words
105
-
} {lstring lstring {My name is Inigo Montoya. You killed my father. Prepare to die!}}
105
+
} {lstring lstring {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
106
106
107
107
#
108
108
# The TBCE implements lreplace as a lrange + lappend operation, so, in this case, $m list, not an lstring.
109
109
#
110
110
test abstractlist-2.5 {!no shimmer lreplace} {
111
111
set l [lstring $str2]
112
112
set l-isa [testobj objtype $l]
113
-
set m [lreplace $l 18 23 { } f a i l ?]
113
+
set m [lreplace $l 78 86 { } f a i l i n g]
114
114
set m-isa [testobj objtype $m]
115
115
set l-isa1 [testobj objtype $l]
116
116
list ${l-isa} $m ${m-isa} ${l-isa1}
117
-
} {lstring {V i z z i n i : { } H E { } D I D N ' T { } f a i l ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring lstring}
117
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } f a i l i n g , { } t o o .} lstring lstring}
118
118
119
119
test abstractlist-2.6 {no shimmer ledit} {
120
120
# "ledit m 9 8 S"
121
121
set l [lstring $str2]
122
122
set l-isa [testobj objtype $l]
123
-
set e [ledit l 9 8 S]
123
+
set e [ledit l 68 67 s]
124
124
set e-isa [testobj objtype $e]
125
125
list ${l-isa} $e ${e-isa}
126
-
} {lstring {V i z z i n i : { } S H E { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
126
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e s { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
127
127
128
128
test abstractlist-2.7 {no shimmer linsert} -body {
} -result {lstring {V i z z i n i : { } H E { } a l m o s t { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring ' none {V i z z i n i : { } H E { } a l m o s t { } D I D N T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
141
+
} -result {lstring {I f { } y o u { } c a n { } t r u l y { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring y none {I f { } y o u { } c a n { } t r u l y { } t r u s t { } o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
142
142
143
143
test abstractlist-2.8 {shimmer lassign} {
144
144
set l [lstring Inconceivable]
@@ -210,7 +210,7 @@ test abstractlist-3.0 {no shimmer llength} {
210
210
set len [llength $l]
211
211
set l-isa2 [testobj objtype $l]
212
212
list $l ${l-isa} ${len} ${l-isa2}
213
-
} {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring 63 lstring}
213
+
} {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring 85 lstring}
214
214
215
215
test abstractlist-3.1 {no shimmer lindex} {
216
216
set l [lstring -not SLICE $str]
@@ -219,7 +219,7 @@ test abstractlist-3.1 {no shimmer lindex} {
219
219
set ele [lindex $l $n] ;# exercise INST_LIST_INDEX
220
220
set l-isa2 [testobj objtype $l]
221
221
list $l ${l-isa} ${ele} ${l-isa2}
222
-
} {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring y lstring}
222
+
} {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring e lstring}
223
223
224
224
test abstractlist-3.2 {no shimmer lreverse} {
225
225
set l [lstring -not SLICE $str]
@@ -228,7 +228,7 @@ test abstractlist-3.2 {no shimmer lreverse} {
228
228
set r-isa [testobj objtype $r]
229
229
set l-isa2 [testobj objtype $l]
230
230
list $r ${l-isa} ${r-isa} ${l-isa2}
231
-
} {{! e i d { } o t { } e r a p e r P { } . r e h t a f { } y m { } d e l l i k { } u o Y { } . a y o t n o M { } o g i n I { } s i { } e m a n { } y M} lstring lstring lstring}
231
+
} {{, u o y { } n o { } t i { } g n i m a l b { } d n a { } s r i e h t { } g n i s o l { } e r A { } u o y { } t u o b a { } l l a { } n e h w { } d a e h { } r u o y { } p e e k { } n a c { } u o y { } f I} lstring lstring lstring}
232
232
233
233
test abstractlist-3.3 {shimmer lrange} {
234
234
set l [lstring -not SLICE $str]
@@ -244,7 +244,7 @@ test abstractlist-3.3 {shimmer lrange} {
244
244
}]
245
245
set l-isa3 [testobj objtype $l]; # lrange defaults to list behavior
246
246
list ${l-isa} $il ${l-isa2} ${l-isa3} $words
247
-
} {lstring {2 7 10 16 25 29 36 39 47 55 58 63} lstring list {My name is Inigo Montoya. You killed my father. Prepare to die!}}
247
+
} {lstring {2 6 10 15 20 25 30 34 40 44 48 55 62 66 74 77 80 85} lstring list {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
248
248
249
249
test abstractlist-3.4 {no shimmer foreach} {
250
250
set l [lstring -not SLICE $str]
@@ -264,42 +264,42 @@ test abstractlist-3.4 {no shimmer foreach} {
264
264
}
265
265
set l-isa2 [testobj objtype $l]
266
266
list ${l-isa} ${l-isa2} $words
267
-
} {lstring lstring {My name is Inigo Montoya. You killed my father. Prepare to die!}}
267
+
} {lstring lstring {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
268
268
269
269
#
270
270
# The TBCE implements lreplace as a lrange + lappend operation, so, in this case, $m list, not an lstring.
271
271
#
272
272
test abstractlist-3.5 {!no shimmer lreplace} {
273
273
set l [lstring -not SLICE $str2]
274
274
set l-isa [testobj objtype $l]
275
-
set m [lreplace $l 18 23 { } f a i l ?]
275
+
set m [lreplace $l 79 86 f a i l i n g]
276
276
set m-isa [testobj objtype $m]
277
277
set l-isa1 [testobj objtype $l]
278
278
list ${l-isa} $m ${m-isa} ${l-isa1}
279
-
} {lstring {V i z z i n i : { } H E { } D I D N ' T { } f a i l ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring lstring}
279
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } f a i l i n g , { } t o o .} lstring lstring}
280
280
281
281
test abstractlist-3.6 {no shimmer ledit} {
282
282
# "ledit m 9 8 S"
283
283
set l [lstring -not SLICE $str2]
284
284
set l-isa [testobj objtype $l]
285
-
set e [ledit l 9 8 S]
285
+
set e [ledit l 68 67 s]
286
286
set e-isa [testobj objtype $e]
287
287
list ${l-isa} $e ${e-isa}
288
-
} {lstring {V i z z i n i : { } S H E { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
288
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e s { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
289
289
290
290
test abstractlist-3.7 {no shimmer linsert} {
291
291
# "ledit m 9 8 S"
292
292
set res {}
293
293
set l [lstring -not SLICE $str2]
294
294
set l-isa [testobj objtype $l]
295
-
set i [linsert $l 12 {*}[split "almost " {}]]
295
+
set i [linsert $l 35 {*}[split "wo" {}]]
296
296
set i-isa [testobj objtype $i]
297
297
set res [list ${l-isa} $i ${i-isa}]
298
298
set p [lpop i 23]
299
299
set p-isa [testobj objtype $p]
300
300
set i-isa2 [testobj objtype $i]
301
301
lappend res $p ${p-isa} $i ${i-isa2}
302
-
} {lstring {V i z z i n i : { } H E { } a l m o s t { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring ' none {V i z z i n i : { } H E { } a l m o s t { } D I D N T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
302
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } w o m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring l none {I f { } y o u { } c a n { } t r u s t { } y o u r s e f { } w h e n { } a l l { } w o m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
303
303
304
304
test abstractlist-3.8 {shimmer lassign} {
305
305
set l [lstring -not SLICE Inconceivable]
@@ -359,15 +359,15 @@ test abstractlist-$not-4.0 {no shimmer llength} {
359
359
set len [llength $l]
360
360
set l-isa2 [testobj objtype $l]
361
361
list $l ${l-isa} ${len} ${l-isa2}
362
-
} {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring 63 lstring}
362
+
} {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring 85 lstring}
363
363
364
364
test abstractlist-$not-4.1 {no shimmer lindex} {
365
365
set l [lstring {*}$options $str]
366
366
set l-isa [testobj objtype $l]
367
367
set ele [lindex $l 22]
368
368
set l-isa2 [testobj objtype $l]
369
369
list $l ${l-isa} ${ele} ${l-isa2}
370
-
} {{M y { } n a m e { } i s { } I n i g o { } M o n t o y a . { } Y o u { } k i l l e d { } m y { } f a t h e r . { } P r e p a r e { } t o { } d i e !} lstring y lstring}
370
+
} {{I f { } y o u { } c a n { } k e e p { } y o u r { } h e a d { } w h e n { } a l l { } a b o u t { } y o u { } A r e { } l o s i n g { } t h e i r s { } a n d { } b l a m i n g { } i t { } o n { } y o u ,} lstring e lstring}
371
371
372
372
test abstractlist-$not-4.2 {lreverse} ReverseShimmer {
373
373
set l [lstring {*}$options $str]
@@ -376,7 +376,7 @@ test abstractlist-$not-4.2 {lreverse} ReverseShimmer {
376
376
set r-isa [testobj objtype $r]
377
377
set l-isa2 [testobj objtype $l]
378
378
list $r ${l-isa} ${r-isa} ${l-isa2}
379
-
} {{! e i d { } o t { } e r a p e r P { } . r e h t a f { } y m { } d e l l i k { } u o Y { } . a y o t n o M { } o g i n I { } s i { } e m a n { } y M} lstring lstring lstring}
379
+
} {{, u o y { } n o { } t i { } g n i m a l b { } d n a { } s r i e h t { } g n i s o l { } e r A { } u o y { } t u o b a { } l l a { } n e h w { } d a e h { } r u o y { } p e e k { } n a c { } u o y { } f I} lstring lstring lstring}
380
380
381
381
test abstractlist-$not-4.3 {no shimmer lrange} RangeShimmer {
} {lstring {2 7 10 16 25 29 36 39 47 55 58 63} lstring lstring {My name is Inigo Montoya. You killed my father. Prepare to die!}}
395
+
} {lstring {2 7 10 16 25 29 36 39 47 55 58 63} lstring lstring {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
396
396
397
397
test abstractlist-$not-4.4 {no shimmer foreach} {
398
398
set l [lstring {*}$options $str]
@@ -412,7 +412,7 @@ test abstractlist-$not-4.4 {no shimmer foreach} {
412
412
}
413
413
set l-isa2 [testobj objtype $l]
414
414
list ${l-isa} ${l-isa2} $words
415
-
} {lstring lstring {My name is Inigo Montoya. You killed my father. Prepare to die!}}
415
+
} {lstring lstring {If you can keep your head when all about you Are losing theirs and blaming it on you,}}
416
416
417
417
#
418
418
# The TBCE implements lreplace as a lrange + lappend operation, so, in this case, $m list, not an lstring.
} {lstring {V i z z i n i : { } H E { } D I D N ' T { } f a i l ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} list lstring}
427
+
} {lstring {} list lstring}
428
428
429
429
test abstractlist-$not-4.6 {no shimmer ledit} {SetelementShimmer ReplaceShimmer} {
430
-
# "ledit m 9 8 S"
431
430
set l [lstring {*}$options $str2]
432
431
set l-isa [testobj objtype $l]
433
-
set e [ledit l 9 8 S]
432
+
set e [ledit l 68 67 s]
434
433
set e-isa [testobj objtype $e]
435
434
list ${l-isa} $e ${e-isa}
436
-
} {lstring {V i z z i n i : { } S H E { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
435
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e s { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
437
436
438
437
test abstractlist-$not-4.7 {no shimmer linsert} {ReplaceShimmer GetelementsShimmer} {
} {lstring {V i z z i n i : { } H E { } a l m o s t { } D I D N ' T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring ' none {V i z z i n i : { } H E { } a l m o s t { } D I D N T { } F A L L ? { } I N C O N C E I V A B L E . { } I n i g o { } M o n t o y a : { } Y o u { } k e e p { } u s i n g { } t h a t { } w o r d . { } I { } d o { } n o t { } t h i n k { } i t { } m e a n s { } w h a t { } y o u { } t h i n k { } i t { } m e a n s .} lstring}
447
+
} {lstring {I f { } y o u { } c a n { } t r u s t { } y o u r s e l f { } w h e n { } a l l { } m e n { } d o u b t { } y o u , { } B u t { } m a k e { } a l l o w a n c e { } f o r { } t h e i r { } d o u b t i n g , { } t o o .} lstring}
450
448
451
449
# lassign probably uses lrange internally
452
450
test abstractlist-$not-4.8 {shimmer lassign} RangeShimmer {
0 commit comments