aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test.tcl33
1 files changed, 20 insertions, 13 deletions
diff --git a/test.tcl b/test.tcl
index fc7e670..2e34e88 100644
--- a/test.tcl
+++ b/test.tcl
@@ -15,19 +15,25 @@ proc test {id descr script expectedResult} {
global failedTests failedList passedTests
puts -nonewline "$id $descr: "
- set result [uplevel 1 $script]
- if {$result eq $expectedResult} {
- puts "OK"
- incr passedTests
+ set rc [catch [list uplevel 1 $script] result]
+ if {$rc == 0 && $result eq $expectedResult} {
+ puts "OK"
+ incr passedTests
} else {
- puts "ERR"
- puts "Expected: '$expectedResult'"
- puts "Got : '$result'"
- incr failedTests
+ puts "ERR"
+ puts "Expected: '$expectedResult'"
+ puts "Got : '$result'"
+ incr failedTests
lappend failedList $id
}
}
+catch {package require regexp}
+
+if {[info commands regexp] eq ""} {
+ proc regexp {pat str} {expr {$pat eq "^a*b$" && $str eq "aaaab"}}
+}
+
################################################################################
# SET
################################################################################
@@ -2444,17 +2450,20 @@ test switch-3.1 {-exact vs. -glob vs. -regexp} {
}
} exact
test switch-3.2 {-exact vs. -glob vs. -regexp (no [regexp] cmd)} {
- catch {
+ rename regexp regexp.none
+ set rc [catch {
switch -regexp aaaab {
^a*b$ {concat regexp}
*b {concat glob}
aaaab {concat exact}
default {concat none}
}
- }
+ }]
+ rename regexp.none regexp
+ set rc
} 1
+
test switch-3.3 {-exact vs. -glob vs. -regexp (with [regexp] cmd)} {
- proc regexp {pat str} {expr {$pat eq "^a*b$" && $str eq "aaaab"}}
switch -regexp aaaab {
^a*b$ {concat regexp}
*b {concat glob}
@@ -4047,8 +4056,6 @@ test scan-13.8 {Tcl_ScanObjCmd, inline XPG case lots of arguments} {
# REGEXP and REGSUB
################################################################################
-catch {package require regexp}
-
test regexp-1.1 {basic regexp operation} {
regexp ab*c abbbc
} {1}