#!perl
# Copyright (C) 2004-2006, The Perl Foundation.
# $Id: cmd_for.t 21247 2007-09-13 06:31:01Z paultcochrane $
# the following lines re-execute this as a tcl script
# the \ at the end of these lines makes them a comment in tcl \
use lib qw(languages/tcl/lib tcl/lib lib ../lib ../../lib); # \
use Tcl::Test; #\
__DATA__
source lib/test_more.tcl
plan 10
eval_is {
set r ""
for {set a 0} {$a < 5} {incr a} {
set r [append r $a]
}
set r
} 01234 {simple for}
eval_is {
set r ""
set a {set r [append r $i]}
for {set i 0} {$i < 5} {set i [expr $i+1]} $a
set r
} 01234 {variable for last arg}
eval_is {
set r ""
for {set x 11} {$x < 10} {incr x} {set r [append r $x]}
set r
} {} {test not met initially}
is [for {set i 1} {$i < 4} {incr i} {}] {} \
{[for] returns ''}
eval_is {for {} {"foo"} {} {}} \
{expected boolean value but got "foo"} \
{boolean test}
eval_is {for} \
{wrong # args: should be "for start test next command"} \
{no args}
eval_is {for pete's} \
{wrong # args: should be "for start test next command"} \
{one args}
eval_is {for pete's sake} \
{wrong # args: should be "for start test next command"} \
{two args}
eval_is {for pete's sake don't} \
{wrong # args: should be "for start test next command"} \
{three args}
eval_is {for pete's sake don't do that.} \
{wrong # args: should be "for start test next command"} \
{too many args}
syntax highlighted by Code2HTML, v. 0.9.1