1 # Commands covered: tcl::prefix
3 # This file contains a collection of tests for one or more of the Tcl
4 # built-in commands. Sourcing this file into Tcl runs the tests and
5 # generates output for errors. No output means no errors were found.
7 # Copyright (c) 1991-1993 The Regents of the University of California.
8 # Copyright (c) 1994 Sun Microsystems, Inc.
9 # Copyright (c) 1998-1999 by Scriptics Corporation.
10 # Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
12 # See the file "license.terms" for information on usage and redistribution
13 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
15 source [file dirname [info script]]/testing.tcl
17 needs cmd tcl::prefix prefix
18 testConstraint namespace [expr {[info commands namespace] ne ""}]
20 test string-26.1 {tcl::prefix, too few args} -body {
22 } -returnCodes 1 -match glob -result {wrong # args: should be "tcl::prefix match ?options*? table string"}
23 test string-26.2 {tcl::prefix, bad args} -body {
24 tcl::prefix match a b c
25 } -returnCodes 1 -result {bad option "a": must be -error, -exact, or -message}
26 test string-26.2.1 {tcl::prefix, empty table} -body {
27 tcl::prefix match {} foo
28 } -returnCodes 1 -result {bad option "foo": no valid options}
32 test string-26.3.1 {tcl::prefix, bad args} -body {
33 tcl::prefix match -error "x" -exact str1 str2
34 } -returnCodes 1 -match glob -result *
35 test string-26.3.2 {tcl::prefix, bad args} -body {
36 tcl::prefix match -error str1 str2
37 } -returnCodes 1 -result {missing error options}
38 test string-26.4 {tcl::prefix, bad args} -body {
39 tcl::prefix match -message str1 str2
40 } -returnCodes 1 -result {missing message}
41 test string-26.5 {tcl::prefix} {
42 tcl::prefix match {apa bepa cepa depa} cepa
44 test string-26.6 {tcl::prefix} {
45 tcl::prefix match {apa bepa cepa depa} be
47 test string-26.7 {tcl::prefix} -body {
48 tcl::prefix match -exact {apa bepa cepa depa} be
49 } -returnCodes 1 -result {bad option "be": must be apa, bepa, cepa, or depa}
50 test string-26.8 {tcl::prefix} -body {
51 tcl::prefix match -message switch {apa bear bepa depa} be
52 } -returnCodes 1 -result {ambiguous switch "be": must be apa, bear, bepa, or depa}
53 test string-26.9 {tcl::prefix} -body {
54 tcl::prefix match -error {} {apa bepa bear depa} be
55 } -returnCodes 0 -result {}
56 test string-26.10 {tcl::prefix} -body {
57 tcl::prefix match -error {-level 1} {apa bear bepa depa} be
58 } -returnCodes 2 -result {ambiguous option "be": must be apa, bear, bepa, or depa}
78 test string-27.1 {tcl::prefix all, too few args} -body {
80 } -returnCodes 1 -result {wrong # args: should be "tcl::prefix all table string"}
81 test string-27.2 {tcl::prefix all, bad args} -body {
83 } -returnCodes 1 -result {wrong # args: should be "tcl::prefix all table string"}
87 test string-27.4 {tcl::prefix all} {
88 tcl::prefix all {apa bepa cepa depa} c
90 test string-27.5 {tcl::prefix all} {
91 tcl::prefix all {apa bepa cepa depa} cepa
93 test string-27.6 {tcl::prefix all} {
94 tcl::prefix all {apa bepa cepa depa} cepax
96 test string-27.7 {tcl::prefix all} {
97 tcl::prefix all {apa aska appa} a
99 test string-27.8 {tcl::prefix all} {
100 tcl::prefix all {apa aska appa} ap
102 test string-27.9 {tcl::prefix all} {
103 tcl::prefix all {apa aska appa} p
105 test string-27.10 {tcl::prefix all} {
106 tcl::prefix all {apa aska appa} {}
109 test string-28.1 {tcl::prefix longest, too few args} -body {
110 tcl::prefix longest a
111 } -returnCodes 1 -result {wrong # args: should be "tcl::prefix longest table string"}
112 test string-28.2 {tcl::prefix longest, bad args} -body {
113 tcl::prefix longest a b c
114 } -returnCodes 1 -result {wrong # args: should be "tcl::prefix longest table string"}
118 test string-28.4 {tcl::prefix longest} {
119 tcl::prefix longest {apa bepa cepa depa} c
121 test string-28.5 {tcl::prefix longest} {
122 tcl::prefix longest {apa bepa cepa depa} cepa
124 test string-28.6 {tcl::prefix longest} {
125 tcl::prefix longest {apa bepa cepa depa} cepax
127 test string-28.7 {tcl::prefix longest} {
128 tcl::prefix longest {apa aska appa} a
130 test string-28.8 {tcl::prefix longest} {
131 tcl::prefix longest {apa aska appa} ap
133 test string-28.9 {tcl::prefix longest} {
134 tcl::prefix longest {apa bska appa} a
136 test string-28.10 {tcl::prefix longest} {
137 tcl::prefix longest {apa bska appa} {}
139 test string-28.11 {tcl::prefix longest} {
140 tcl::prefix longest {{} bska appa} {}
142 test string-28.12 {tcl::prefix longest} {
143 tcl::prefix longest {apa {} appa} {}
145 test string-28.13 {tcl::prefix longest} {
147 tcl::prefix longest {ax\x90 bep ax\x91} a
150 test string-29.1 {tcl::prefix from another namespace} namespace {
152 tcl::prefix longest {apa bepa cepa depa} cepa