67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
source [file dirname [info script]]/testing.tcl
|
|
|
|
test concat-1.1 {simple concatenation} {
|
|
concat a b c d e f g
|
|
} {a b c d e f g}
|
|
test concat-1.2 {merging lists together} {
|
|
concat a {b c d} {e f g h}
|
|
} {a b c d e f g h}
|
|
test concat-1.3 {merge lists, retain sub-lists} {
|
|
concat a {b {c d}} {{e f}} g h
|
|
} {a b {c d} {e f} g h}
|
|
test concat-1.4 {special characters} {
|
|
concat a\{ {b \{c d} \{d
|
|
} "a{ b \\{c d {d"
|
|
|
|
test concat-2.1 {error check: one empty argument} {
|
|
concat {}
|
|
} {}
|
|
|
|
test concat-3.1 {error check: no arguments} {
|
|
list [catch concat msg] $msg
|
|
} {0 {}}
|
|
|
|
test concat-4.1 {pruning off extra white space} {
|
|
concat {} {a b c}
|
|
} {a b c}
|
|
test concat-4.2 {pruning off extra white space} {
|
|
concat x y " a b c \n\t " " " " def "
|
|
} {x y a b c def}
|
|
test concat-4.3 {pruning off extra white space sets length correctly} {
|
|
llength [concat { {{a}} }]
|
|
} 1
|
|
|
|
test concat-5.1 {Tcl_ScanCountedElement procedure - don't leave unmatched braces} {
|
|
# This test checks for a very tricky feature. Any list element
|
|
# generated with Tcl_ScanCountedElement and Tcl_ConvertElement must
|
|
# have the property that it can be enclosing in curly braces to make
|
|
# an embedded sub-list. If this property doesn't hold, then
|
|
# Tcl_DStringStartSublist doesn't work.
|
|
|
|
set x {}
|
|
lappend x " \\\{ \\"
|
|
concat $x [llength "{$x}"]
|
|
} {\ \\\{\ \\ 1}
|
|
|
|
test concat-6.1 {Tcl_ConcatObj - backslash-space at end of argument} {
|
|
concat a {b\ } c
|
|
} {a b\ c}
|
|
test concat-6.2 {Tcl_ConcatObj - backslash-space at end of argument} {
|
|
concat a {b\ } c
|
|
} {a b\ c}
|
|
test concat-6.3 {Tcl_ConcatObj - backslash-space at end of argument} {
|
|
concat a {b\\ } c
|
|
} {a b\\ c}
|
|
test concat-6.4 {Tcl_ConcatObj - backslash-space at end of argument} {
|
|
concat a {b } c
|
|
} {a b c}
|
|
test concat-6.5 {Tcl_ConcatObj - backslash-space at end of argument} {
|
|
concat a { } c
|
|
} {a c}
|
|
test concat-6.6 {Tcl_ConcatObj - utf-8 sequence with "whitespace" char} {
|
|
# Check for Bug #227512. If this violates C isspace, then it returns \xc3.
|
|
concat \xe0
|
|
} \xe0
|
|
|
|
testreport
|