summaryrefslogtreecommitdiffstats
path: root/tests/lseq.test
diff options
context:
space:
mode:
authorgriffin <briang42@easystreet.net>2022-11-01 03:18:39 (GMT)
committergriffin <briang42@easystreet.net>2022-11-01 03:18:39 (GMT)
commitc5bb0bc3394390a4c44b700ca785d705e426bf41 (patch)
tree4a40d33d9fda10a418c41441760ab9cd48d8995c /tests/lseq.test
parent028b789aeccfe21a87c0e27fb1fc1af9b972d120 (diff)
parent026e32d86a8119bac99953394dffdfd5a80665e9 (diff)
downloadtcl-c5bb0bc3394390a4c44b700ca785d705e426bf41.zip
tcl-c5bb0bc3394390a4c44b700ca785d705e426bf41.tar.gz
tcl-c5bb0bc3394390a4c44b700ca785d705e426bf41.tar.bz2
Sync with core-8-branch
Diffstat (limited to 'tests/lseq.test')
-rw-r--r--tests/lseq.test38
1 files changed, 35 insertions, 3 deletions
diff --git a/tests/lseq.test b/tests/lseq.test
index c5adbae..258eccd 100644
--- a/tests/lseq.test
+++ b/tests/lseq.test
@@ -255,8 +255,9 @@ test lseq-3.7 {lmap lseq} {
test lseq-3.8 {lrange lseq} {
set r [lrange [lseq 1 100] 10 20]
- lindex [tcl::unsupported::representation $r] 3
-} {arithseries}
+ set empty [lrange [lseq 1 100] 20 10]
+ list $r $empty [lindex [tcl::unsupported::representation $r] 3]
+} {{11 12 13 14 15 16 17 18 19 20 21} {} arithseries}
test lseq-3.9 {lassign lseq} arithSeriesShimmer {
set r [lseq 15]
@@ -510,13 +511,44 @@ test lseq-4.5 {lindex off by one} -body {
unset res
} -result {4 3}
-test lseq-4.6 {lset shimmer} -body {
+# Bad refcount on ResultObj
+test lseq-4.6 {lindex flat} -body {
+ set l [lseq 2 10]
+ set cmd lindex
+ set i 4
+ set c [lindex $l $i]
+ set d [$cmd $l $i]
+ set e [lindex [lseq 2 10] $i]
+ set f [$cmd [lseq 2 10] $i]
+ list $c $d $e $f
+} -cleanup {
+ unset l
+ unset e
+} -result [lrepeat 4 6]
+
+test lseq-4.7 {empty list} {
+ list [lseq 0] [join [lseq 0] {}] [join [lseq 1] {}]
+} {{} {} 0}
+
+test lseq-4.8 {error case lrange} -body {
+ lrange [lseq 1 5] fred ginger
+} -returnCodes 1 \
+ -result {bad index "fred": must be integer?[+-]integer? or end?[+-]integer?}
+
+test lseq-4.9 {error case lrange} -body {
+ set fred 7
+ set ginger 8
+ lrange [lseq 1 5] $fred $ginger
+} -result {8 9}
+
+test lseq-4.10 {lset shimmer} -body {
set l [lseq 15]
lappend res $l [lindex [tcl::unsupported::representation $l] 3]
lset l 3 25
lappend res $l [lindex [tcl::unsupported::representation $l] 3]
} -result {{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14} arithseries {0 1 2 25 4 5 6 7 8 9 10 11 12 13 14} list}
+
# cleanup
::tcltest::cleanupTests