os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/tests/lsetComp.test
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/tests/lsetComp.test Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,433 @@
1.4 +# This file is a -*- tcl -*- test script
1.5 +
1.6 +# Commands covered: lset
1.7 +#
1.8 +# This file contains a collection of tests for one or more of the Tcl
1.9 +# built-in commands. Sourcing this file into Tcl runs the tests and
1.10 +# generates output for errors. No output means no errors were found.
1.11 +#
1.12 +# Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
1.13 +#
1.14 +# See the file "license.terms" for information on usage and redistribution
1.15 +# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
1.16 +#
1.17 +# RCS: @(#) $Id$
1.18 +
1.19 +if {[lsearch [namespace children] ::tcltest] == -1} {
1.20 + package require tcltest
1.21 + namespace import -force ::tcltest::*
1.22 +}
1.23 +
1.24 +# Procedure to evaluate a script within a proc, to test compilation
1.25 +# functionality
1.26 +
1.27 +proc evalInProc { script } {
1.28 + proc testProc {} $script
1.29 + set status [catch {
1.30 + testProc
1.31 + } result]
1.32 + rename testProc {}
1.33 + return [list $status $result]
1.34 +}
1.35 +
1.36 +# Tests for the bytecode compilation of the 'lset' command
1.37 +
1.38 +test lsetComp-1.1 {lset, compiled, wrong \# args} {
1.39 + evalInProc {
1.40 + lset
1.41 + }
1.42 +} "1 {wrong \# args: should be \"lset listVar index ?index...? value\"}"
1.43 +
1.44 +test lsetComp-2.1 {lset, compiled, list of args, not a simple var name} {
1.45 + evalInProc {
1.46 + set y x
1.47 + set x {{1 2} {3 4}}
1.48 + lset $y {1 1} 5
1.49 + }
1.50 +} "0 {{1 2} {3 5}}"
1.51 +
1.52 +test lsetComp-2.2 {lset, compiled, list of args, scalar on stack} {
1.53 + evalInProc {
1.54 + set ::x {{1 2} {3 4}}
1.55 + lset ::x {1 1} 5
1.56 + }
1.57 +} "0 {{1 2} {3 5}}"
1.58 +
1.59 +test lsetComp-2.3 {lset, compiled, list of args, scalar, one-byte offset} {
1.60 + evalInProc {
1.61 + set x {{1 2} {3 4}}
1.62 + lset x {1 1} 5
1.63 + }
1.64 +} "0 {{1 2} {3 5}}"
1.65 +
1.66 +test lsetComp-2.4 {lset, compiled, list of args, scalar, four-byte offset} {
1.67 + evalInProc {
1.68 + set x0 0; set x1 0; set x2 0; set x3 0;
1.69 + set x4 0; set x5 0; set x6 0; set x7 0;
1.70 + set x8 0; set x9 0; set x10 0; set x11 0;
1.71 + set x12 0; set x13 0; set x14 0; set x15 0;
1.72 + set x16 0; set x17 0; set x18 0; set x19 0;
1.73 + set x20 0; set x21 0; set x22 0; set x23 0;
1.74 + set x24 0; set x25 0; set x26 0; set x27 0;
1.75 + set x28 0; set x29 0; set x30 0; set x31 0;
1.76 + set x32 0; set x33 0; set x34 0; set x35 0;
1.77 + set x36 0; set x37 0; set x38 0; set x39 0;
1.78 + set x40 0; set x41 0; set x42 0; set x43 0;
1.79 + set x44 0; set x45 0; set x46 0; set x47 0;
1.80 + set x48 0; set x49 0; set x50 0; set x51 0;
1.81 + set x52 0; set x53 0; set x54 0; set x55 0;
1.82 + set x56 0; set x57 0; set x58 0; set x59 0;
1.83 + set x60 0; set x61 0; set x62 0; set x63 0;
1.84 + set x64 0; set x65 0; set x66 0; set x67 0;
1.85 + set x68 0; set x69 0; set x70 0; set x71 0;
1.86 + set x72 0; set x73 0; set x74 0; set x75 0;
1.87 + set x76 0; set x77 0; set x78 0; set x79 0;
1.88 + set x80 0; set x81 0; set x82 0; set x83 0;
1.89 + set x84 0; set x85 0; set x86 0; set x87 0;
1.90 + set x88 0; set x89 0; set x90 0; set x91 0;
1.91 + set x92 0; set x93 0; set x94 0; set x95 0;
1.92 + set x96 0; set x97 0; set x98 0; set x99 0;
1.93 + set x100 0; set x101 0; set x102 0; set x103 0;
1.94 + set x104 0; set x105 0; set x106 0; set x107 0;
1.95 + set x108 0; set x109 0; set x110 0; set x111 0;
1.96 + set x112 0; set x113 0; set x114 0; set x115 0;
1.97 + set x116 0; set x117 0; set x118 0; set x119 0;
1.98 + set x120 0; set x121 0; set x122 0; set x123 0;
1.99 + set x124 0; set x125 0; set x126 0; set x127 0;
1.100 + set x128 0; set x129 0; set x130 0; set x131 0;
1.101 + set x132 0; set x133 0; set x134 0; set x135 0;
1.102 + set x136 0; set x137 0; set x138 0; set x139 0;
1.103 + set x140 0; set x141 0; set x142 0; set x143 0;
1.104 + set x144 0; set x145 0; set x146 0; set x147 0;
1.105 + set x148 0; set x149 0; set x150 0; set x151 0;
1.106 + set x152 0; set x153 0; set x154 0; set x155 0;
1.107 + set x156 0; set x157 0; set x158 0; set x159 0;
1.108 + set x160 0; set x161 0; set x162 0; set x163 0;
1.109 + set x164 0; set x165 0; set x166 0; set x167 0;
1.110 + set x168 0; set x169 0; set x170 0; set x171 0;
1.111 + set x172 0; set x173 0; set x174 0; set x175 0;
1.112 + set x176 0; set x177 0; set x178 0; set x179 0;
1.113 + set x180 0; set x181 0; set x182 0; set x183 0;
1.114 + set x184 0; set x185 0; set x186 0; set x187 0;
1.115 + set x188 0; set x189 0; set x190 0; set x191 0;
1.116 + set x192 0; set x193 0; set x194 0; set x195 0;
1.117 + set x196 0; set x197 0; set x198 0; set x199 0;
1.118 + set x200 0; set x201 0; set x202 0; set x203 0;
1.119 + set x204 0; set x205 0; set x206 0; set x207 0;
1.120 + set x208 0; set x209 0; set x210 0; set x211 0;
1.121 + set x212 0; set x213 0; set x214 0; set x215 0;
1.122 + set x216 0; set x217 0; set x218 0; set x219 0;
1.123 + set x220 0; set x221 0; set x222 0; set x223 0;
1.124 + set x224 0; set x225 0; set x226 0; set x227 0;
1.125 + set x228 0; set x229 0; set x230 0; set x231 0;
1.126 + set x232 0; set x233 0; set x234 0; set x235 0;
1.127 + set x236 0; set x237 0; set x238 0; set x239 0;
1.128 + set x240 0; set x241 0; set x242 0; set x243 0;
1.129 + set x244 0; set x245 0; set x246 0; set x247 0;
1.130 + set x248 0; set x249 0; set x250 0; set x251 0;
1.131 + set x252 0; set x253 0; set x254 0; set x255 0;
1.132 + set x {{1 2} {3 4}}
1.133 + lset x {1 1} 5
1.134 + }
1.135 +} "0 {{1 2} {3 5}}"
1.136 +
1.137 +test lsetComp-2.5 {lset, compiled, list of args, array on stack} {
1.138 + evalInProc {
1.139 + set ::y(0) {{1 2} {3 4}}
1.140 + lset ::y(0) {1 1} 5
1.141 + }
1.142 +} "0 {{1 2} {3 5}}"
1.143 +
1.144 +test lsetComp-2.6 {lset, compiled, list of args, array, one-byte offset} {
1.145 + evalInProc {
1.146 + set y(0) {{1 2} {3 4}}
1.147 + lset y(0) {1 1} 5
1.148 + }
1.149 +} "0 {{1 2} {3 5}}"
1.150 +
1.151 +test lsetComp-2.7 {lset, compiled, list of args, array, four-byte offset} {
1.152 + evalInProc {
1.153 + set x0 0; set x1 0; set x2 0; set x3 0;
1.154 + set x4 0; set x5 0; set x6 0; set x7 0;
1.155 + set x8 0; set x9 0; set x10 0; set x11 0;
1.156 + set x12 0; set x13 0; set x14 0; set x15 0;
1.157 + set x16 0; set x17 0; set x18 0; set x19 0;
1.158 + set x20 0; set x21 0; set x22 0; set x23 0;
1.159 + set x24 0; set x25 0; set x26 0; set x27 0;
1.160 + set x28 0; set x29 0; set x30 0; set x31 0;
1.161 + set x32 0; set x33 0; set x34 0; set x35 0;
1.162 + set x36 0; set x37 0; set x38 0; set x39 0;
1.163 + set x40 0; set x41 0; set x42 0; set x43 0;
1.164 + set x44 0; set x45 0; set x46 0; set x47 0;
1.165 + set x48 0; set x49 0; set x50 0; set x51 0;
1.166 + set x52 0; set x53 0; set x54 0; set x55 0;
1.167 + set x56 0; set x57 0; set x58 0; set x59 0;
1.168 + set x60 0; set x61 0; set x62 0; set x63 0;
1.169 + set x64 0; set x65 0; set x66 0; set x67 0;
1.170 + set x68 0; set x69 0; set x70 0; set x71 0;
1.171 + set x72 0; set x73 0; set x74 0; set x75 0;
1.172 + set x76 0; set x77 0; set x78 0; set x79 0;
1.173 + set x80 0; set x81 0; set x82 0; set x83 0;
1.174 + set x84 0; set x85 0; set x86 0; set x87 0;
1.175 + set x88 0; set x89 0; set x90 0; set x91 0;
1.176 + set x92 0; set x93 0; set x94 0; set x95 0;
1.177 + set x96 0; set x97 0; set x98 0; set x99 0;
1.178 + set x100 0; set x101 0; set x102 0; set x103 0;
1.179 + set x104 0; set x105 0; set x106 0; set x107 0;
1.180 + set x108 0; set x109 0; set x110 0; set x111 0;
1.181 + set x112 0; set x113 0; set x114 0; set x115 0;
1.182 + set x116 0; set x117 0; set x118 0; set x119 0;
1.183 + set x120 0; set x121 0; set x122 0; set x123 0;
1.184 + set x124 0; set x125 0; set x126 0; set x127 0;
1.185 + set x128 0; set x129 0; set x130 0; set x131 0;
1.186 + set x132 0; set x133 0; set x134 0; set x135 0;
1.187 + set x136 0; set x137 0; set x138 0; set x139 0;
1.188 + set x140 0; set x141 0; set x142 0; set x143 0;
1.189 + set x144 0; set x145 0; set x146 0; set x147 0;
1.190 + set x148 0; set x149 0; set x150 0; set x151 0;
1.191 + set x152 0; set x153 0; set x154 0; set x155 0;
1.192 + set x156 0; set x157 0; set x158 0; set x159 0;
1.193 + set x160 0; set x161 0; set x162 0; set x163 0;
1.194 + set x164 0; set x165 0; set x166 0; set x167 0;
1.195 + set x168 0; set x169 0; set x170 0; set x171 0;
1.196 + set x172 0; set x173 0; set x174 0; set x175 0;
1.197 + set x176 0; set x177 0; set x178 0; set x179 0;
1.198 + set x180 0; set x181 0; set x182 0; set x183 0;
1.199 + set x184 0; set x185 0; set x186 0; set x187 0;
1.200 + set x188 0; set x189 0; set x190 0; set x191 0;
1.201 + set x192 0; set x193 0; set x194 0; set x195 0;
1.202 + set x196 0; set x197 0; set x198 0; set x199 0;
1.203 + set x200 0; set x201 0; set x202 0; set x203 0;
1.204 + set x204 0; set x205 0; set x206 0; set x207 0;
1.205 + set x208 0; set x209 0; set x210 0; set x211 0;
1.206 + set x212 0; set x213 0; set x214 0; set x215 0;
1.207 + set x216 0; set x217 0; set x218 0; set x219 0;
1.208 + set x220 0; set x221 0; set x222 0; set x223 0;
1.209 + set x224 0; set x225 0; set x226 0; set x227 0;
1.210 + set x228 0; set x229 0; set x230 0; set x231 0;
1.211 + set x232 0; set x233 0; set x234 0; set x235 0;
1.212 + set x236 0; set x237 0; set x238 0; set x239 0;
1.213 + set x240 0; set x241 0; set x242 0; set x243 0;
1.214 + set x244 0; set x245 0; set x246 0; set x247 0;
1.215 + set x248 0; set x249 0; set x250 0; set x251 0;
1.216 + set x252 0; set x253 0; set x254 0; set x255 0;
1.217 + set y(0) {{1 2} {3 4}}
1.218 + lset y(0) {1 1} 5
1.219 + }
1.220 +} "0 {{1 2} {3 5}}"
1.221 +
1.222 +test lsetComp-2.8 {lset, compiled, list of args, error } {
1.223 + evalInProc {
1.224 + set x { {1 2} {3 4} }
1.225 + lset x {1 5} 5
1.226 + }
1.227 +} "1 {list index out of range}"
1.228 +
1.229 +test lsetComp-2.9 {lset, compiled, list of args, error - is string preserved} {
1.230 + set ::x { { 1 2 } { 3 4 } }
1.231 + evalInProc {
1.232 + lset ::x { 1 5 } 5
1.233 + }
1.234 + list $::x [lindex $::x 1]
1.235 +} "{ { 1 2 } { 3 4 } } { 3 4 }"
1.236 +
1.237 +test lsetComp-3.1 {lset, compiled, flat args, not a simple var name} {
1.238 + evalInProc {
1.239 + set y x
1.240 + set x {{1 2} {3 4}}
1.241 + lset $y 1 1 5
1.242 + }
1.243 +} "0 {{1 2} {3 5}}"
1.244 +
1.245 +test lsetComp-3.2 {lset, compiled, flat args, scalar on stack} {
1.246 + evalInProc {
1.247 + set ::x {{1 2} {3 4}}
1.248 + lset ::x 1 1 5
1.249 + }
1.250 +} "0 {{1 2} {3 5}}"
1.251 +
1.252 +test lsetComp-3.3 {lset, compiled, flat args, scalar, one-byte offset} {
1.253 + evalInProc {
1.254 + set x {{1 2} {3 4}}
1.255 + lset x 1 1 5
1.256 + }
1.257 +} "0 {{1 2} {3 5}}"
1.258 +
1.259 +test lsetComp-3.4 {lset, compiled, scalar, four-byte offset} {
1.260 + evalInProc {
1.261 + set x0 0; set x1 0; set x2 0; set x3 0;
1.262 + set x4 0; set x5 0; set x6 0; set x7 0;
1.263 + set x8 0; set x9 0; set x10 0; set x11 0;
1.264 + set x12 0; set x13 0; set x14 0; set x15 0;
1.265 + set x16 0; set x17 0; set x18 0; set x19 0;
1.266 + set x20 0; set x21 0; set x22 0; set x23 0;
1.267 + set x24 0; set x25 0; set x26 0; set x27 0;
1.268 + set x28 0; set x29 0; set x30 0; set x31 0;
1.269 + set x32 0; set x33 0; set x34 0; set x35 0;
1.270 + set x36 0; set x37 0; set x38 0; set x39 0;
1.271 + set x40 0; set x41 0; set x42 0; set x43 0;
1.272 + set x44 0; set x45 0; set x46 0; set x47 0;
1.273 + set x48 0; set x49 0; set x50 0; set x51 0;
1.274 + set x52 0; set x53 0; set x54 0; set x55 0;
1.275 + set x56 0; set x57 0; set x58 0; set x59 0;
1.276 + set x60 0; set x61 0; set x62 0; set x63 0;
1.277 + set x64 0; set x65 0; set x66 0; set x67 0;
1.278 + set x68 0; set x69 0; set x70 0; set x71 0;
1.279 + set x72 0; set x73 0; set x74 0; set x75 0;
1.280 + set x76 0; set x77 0; set x78 0; set x79 0;
1.281 + set x80 0; set x81 0; set x82 0; set x83 0;
1.282 + set x84 0; set x85 0; set x86 0; set x87 0;
1.283 + set x88 0; set x89 0; set x90 0; set x91 0;
1.284 + set x92 0; set x93 0; set x94 0; set x95 0;
1.285 + set x96 0; set x97 0; set x98 0; set x99 0;
1.286 + set x100 0; set x101 0; set x102 0; set x103 0;
1.287 + set x104 0; set x105 0; set x106 0; set x107 0;
1.288 + set x108 0; set x109 0; set x110 0; set x111 0;
1.289 + set x112 0; set x113 0; set x114 0; set x115 0;
1.290 + set x116 0; set x117 0; set x118 0; set x119 0;
1.291 + set x120 0; set x121 0; set x122 0; set x123 0;
1.292 + set x124 0; set x125 0; set x126 0; set x127 0;
1.293 + set x128 0; set x129 0; set x130 0; set x131 0;
1.294 + set x132 0; set x133 0; set x134 0; set x135 0;
1.295 + set x136 0; set x137 0; set x138 0; set x139 0;
1.296 + set x140 0; set x141 0; set x142 0; set x143 0;
1.297 + set x144 0; set x145 0; set x146 0; set x147 0;
1.298 + set x148 0; set x149 0; set x150 0; set x151 0;
1.299 + set x152 0; set x153 0; set x154 0; set x155 0;
1.300 + set x156 0; set x157 0; set x158 0; set x159 0;
1.301 + set x160 0; set x161 0; set x162 0; set x163 0;
1.302 + set x164 0; set x165 0; set x166 0; set x167 0;
1.303 + set x168 0; set x169 0; set x170 0; set x171 0;
1.304 + set x172 0; set x173 0; set x174 0; set x175 0;
1.305 + set x176 0; set x177 0; set x178 0; set x179 0;
1.306 + set x180 0; set x181 0; set x182 0; set x183 0;
1.307 + set x184 0; set x185 0; set x186 0; set x187 0;
1.308 + set x188 0; set x189 0; set x190 0; set x191 0;
1.309 + set x192 0; set x193 0; set x194 0; set x195 0;
1.310 + set x196 0; set x197 0; set x198 0; set x199 0;
1.311 + set x200 0; set x201 0; set x202 0; set x203 0;
1.312 + set x204 0; set x205 0; set x206 0; set x207 0;
1.313 + set x208 0; set x209 0; set x210 0; set x211 0;
1.314 + set x212 0; set x213 0; set x214 0; set x215 0;
1.315 + set x216 0; set x217 0; set x218 0; set x219 0;
1.316 + set x220 0; set x221 0; set x222 0; set x223 0;
1.317 + set x224 0; set x225 0; set x226 0; set x227 0;
1.318 + set x228 0; set x229 0; set x230 0; set x231 0;
1.319 + set x232 0; set x233 0; set x234 0; set x235 0;
1.320 + set x236 0; set x237 0; set x238 0; set x239 0;
1.321 + set x240 0; set x241 0; set x242 0; set x243 0;
1.322 + set x244 0; set x245 0; set x246 0; set x247 0;
1.323 + set x248 0; set x249 0; set x250 0; set x251 0;
1.324 + set x252 0; set x253 0; set x254 0; set x255 0;
1.325 + set x {{1 2} {3 4}}
1.326 + lset x 1 1 5
1.327 + }
1.328 +} "0 {{1 2} {3 5}}"
1.329 +
1.330 +test lsetComp-3.5 {lset, compiled, flat args, array on stack} {
1.331 + evalInProc {
1.332 + set ::y(0) {{1 2} {3 4}}
1.333 + lset ::y(0) 1 1 5
1.334 + }
1.335 +} "0 {{1 2} {3 5}}"
1.336 +
1.337 +test lsetComp-3.6 {lset, compiled, flat args, array, one-byte offset} {
1.338 + evalInProc {
1.339 + set y(0) {{1 2} {3 4}}
1.340 + lset y(0) 1 1 5
1.341 + }
1.342 +} "0 {{1 2} {3 5}}"
1.343 +
1.344 +test lsetComp-3.7 {lset, compiled, flat args, array, four-byte offset} {
1.345 + evalInProc {
1.346 + set x0 0; set x1 0; set x2 0; set x3 0;
1.347 + set x4 0; set x5 0; set x6 0; set x7 0;
1.348 + set x8 0; set x9 0; set x10 0; set x11 0;
1.349 + set x12 0; set x13 0; set x14 0; set x15 0;
1.350 + set x16 0; set x17 0; set x18 0; set x19 0;
1.351 + set x20 0; set x21 0; set x22 0; set x23 0;
1.352 + set x24 0; set x25 0; set x26 0; set x27 0;
1.353 + set x28 0; set x29 0; set x30 0; set x31 0;
1.354 + set x32 0; set x33 0; set x34 0; set x35 0;
1.355 + set x36 0; set x37 0; set x38 0; set x39 0;
1.356 + set x40 0; set x41 0; set x42 0; set x43 0;
1.357 + set x44 0; set x45 0; set x46 0; set x47 0;
1.358 + set x48 0; set x49 0; set x50 0; set x51 0;
1.359 + set x52 0; set x53 0; set x54 0; set x55 0;
1.360 + set x56 0; set x57 0; set x58 0; set x59 0;
1.361 + set x60 0; set x61 0; set x62 0; set x63 0;
1.362 + set x64 0; set x65 0; set x66 0; set x67 0;
1.363 + set x68 0; set x69 0; set x70 0; set x71 0;
1.364 + set x72 0; set x73 0; set x74 0; set x75 0;
1.365 + set x76 0; set x77 0; set x78 0; set x79 0;
1.366 + set x80 0; set x81 0; set x82 0; set x83 0;
1.367 + set x84 0; set x85 0; set x86 0; set x87 0;
1.368 + set x88 0; set x89 0; set x90 0; set x91 0;
1.369 + set x92 0; set x93 0; set x94 0; set x95 0;
1.370 + set x96 0; set x97 0; set x98 0; set x99 0;
1.371 + set x100 0; set x101 0; set x102 0; set x103 0;
1.372 + set x104 0; set x105 0; set x106 0; set x107 0;
1.373 + set x108 0; set x109 0; set x110 0; set x111 0;
1.374 + set x112 0; set x113 0; set x114 0; set x115 0;
1.375 + set x116 0; set x117 0; set x118 0; set x119 0;
1.376 + set x120 0; set x121 0; set x122 0; set x123 0;
1.377 + set x124 0; set x125 0; set x126 0; set x127 0;
1.378 + set x128 0; set x129 0; set x130 0; set x131 0;
1.379 + set x132 0; set x133 0; set x134 0; set x135 0;
1.380 + set x136 0; set x137 0; set x138 0; set x139 0;
1.381 + set x140 0; set x141 0; set x142 0; set x143 0;
1.382 + set x144 0; set x145 0; set x146 0; set x147 0;
1.383 + set x148 0; set x149 0; set x150 0; set x151 0;
1.384 + set x152 0; set x153 0; set x154 0; set x155 0;
1.385 + set x156 0; set x157 0; set x158 0; set x159 0;
1.386 + set x160 0; set x161 0; set x162 0; set x163 0;
1.387 + set x164 0; set x165 0; set x166 0; set x167 0;
1.388 + set x168 0; set x169 0; set x170 0; set x171 0;
1.389 + set x172 0; set x173 0; set x174 0; set x175 0;
1.390 + set x176 0; set x177 0; set x178 0; set x179 0;
1.391 + set x180 0; set x181 0; set x182 0; set x183 0;
1.392 + set x184 0; set x185 0; set x186 0; set x187 0;
1.393 + set x188 0; set x189 0; set x190 0; set x191 0;
1.394 + set x192 0; set x193 0; set x194 0; set x195 0;
1.395 + set x196 0; set x197 0; set x198 0; set x199 0;
1.396 + set x200 0; set x201 0; set x202 0; set x203 0;
1.397 + set x204 0; set x205 0; set x206 0; set x207 0;
1.398 + set x208 0; set x209 0; set x210 0; set x211 0;
1.399 + set x212 0; set x213 0; set x214 0; set x215 0;
1.400 + set x216 0; set x217 0; set x218 0; set x219 0;
1.401 + set x220 0; set x221 0; set x222 0; set x223 0;
1.402 + set x224 0; set x225 0; set x226 0; set x227 0;
1.403 + set x228 0; set x229 0; set x230 0; set x231 0;
1.404 + set x232 0; set x233 0; set x234 0; set x235 0;
1.405 + set x236 0; set x237 0; set x238 0; set x239 0;
1.406 + set x240 0; set x241 0; set x242 0; set x243 0;
1.407 + set x244 0; set x245 0; set x246 0; set x247 0;
1.408 + set x248 0; set x249 0; set x250 0; set x251 0;
1.409 + set x252 0; set x253 0; set x254 0; set x255 0;
1.410 + set y(0) {{1 2} {3 4}}
1.411 + lset y(0) 1 1 5
1.412 + }
1.413 +} "0 {{1 2} {3 5}}"
1.414 +
1.415 +test lsetComp-3.8 {lset, compiled, flat args, error } {
1.416 + evalInProc {
1.417 + set x { {1 2} {3 4} }
1.418 + lset x 1 5 5
1.419 + }
1.420 +} "1 {list index out of range}"
1.421 +
1.422 +test lsetComp-3.9 {lset, compiled, flat args, error - is string preserved} {
1.423 + set ::x { { 1 2 } { 3 4 } }
1.424 + evalInProc {
1.425 + lset ::x 1 5 5
1.426 + }
1.427 + list $::x [lindex $::x 1]
1.428 +} "{ { 1 2 } { 3 4 } } { 3 4 }"
1.429 +
1.430 +catch { rename evalInProc {} }
1.431 +catch { unset ::x }
1.432 +catch { unset ::y }
1.433 +
1.434 +# cleanup
1.435 +::tcltest::cleanupTests
1.436 +return