diff options
author | griffin <briang42@easystreet.net> | 2022-11-01 02:05:11 (GMT) |
---|---|---|
committer | griffin <briang42@easystreet.net> | 2022-11-01 02:05:11 (GMT) |
commit | 026e32d86a8119bac99953394dffdfd5a80665e9 (patch) | |
tree | 21c3e4513d7c91bc847d8f6d9b38283df63fce43 /tests/lseq.test | |
parent | 3516771eb648f78594c2874fb6a681d0afc4ba25 (diff) | |
download | tcl-026e32d86a8119bac99953394dffdfd5a80665e9.zip tcl-026e32d86a8119bac99953394dffdfd5a80665e9.tar.gz tcl-026e32d86a8119bac99953394dffdfd5a80665e9.tar.bz2 |
Fix refCount crash. Improve ArithSeries regression coverage.
Diffstat (limited to 'tests/lseq.test')
-rw-r--r-- | tests/lseq.test | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/tests/lseq.test b/tests/lseq.test index 2e5d7e1..b8ae2e9 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,6 +511,36 @@ test lseq-4.5 {lindex off by one} -body { unset res } -result {4 3} +# 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 +} -returnCodes 1 \ + -result {index 7 is out of bounds 0 to 4} # cleanup ::tcltest::cleanupTests |