diff options
Diffstat (limited to 'tests/stringComp.test')
| -rw-r--r-- | tests/stringComp.test | 51 | 
1 files changed, 47 insertions, 4 deletions
diff --git a/tests/stringComp.test b/tests/stringComp.test index ff18819..165ef20 100644 --- a/tests/stringComp.test +++ b/tests/stringComp.test @@ -20,10 +20,29 @@ if {[lsearch [namespace children] ::tcltest] == -1} {      namespace import -force ::tcltest::*  } +::tcltest::loadTestedCommands +catch [list package require -exact Tcltest [info patchlevel]] +  # Some tests require the testobj command  testConstraint testobj [expr {[info commands testobj] != {}}] - +testConstraint memory [llength [info commands memory]] +if {[testConstraint memory]} { +    proc getbytes {} { +	set lines [split [memory info] \n] +	return [lindex $lines 3 3] +    } +    proc leaktest {script {iterations 3}} { +	set end [getbytes] +	for {set i 0} {$i < $iterations} {incr i} { +	    uplevel 1 $script +	    set tmp $end +	    set end [getbytes] +	} +	return [expr {$end - $tmp}] +    } +} +  test stringComp-1.1 {error conditions} {      proc foo {} {string gorp a b}      list [catch {foo} msg] $msg @@ -674,13 +693,33 @@ test stringComp-11.54 {string match, failure} {  } {0 1 1 1 0 0}  ## string range -## not yet bc +test stringComp-12.1 {Bug 3588366: end-offsets before start} { +    apply {s { +	string range $s 0 end-5 +    }} 12345 +} {}  ## string repeat  ## not yet bc  ## string replace -## not yet bc +test stringComp-14.1 {Bug 82e7f67325} { +    apply {x { +	set a [join $x {}] +	lappend b [string length [string replace ___! 0 2 $a]] +	lappend b [string length [string replace ___! 0 2 $a[unset a]]] +    }} {a b} +} {3 3} +test stringComp-14.2 {Bug 82e7f67325} memory { +    # As in stringComp-14.1, but make sure we don't retain too many refs +    leaktest { +	apply {x { +	    set a [join $x {}] +	    lappend b [string length [string replace ___! 0 2 $a]] +	    lappend b [string length [string replace ___! 0 2 $a[unset a]]] +	}} {a b} +    } +} {0}  ## string tolower  ## not yet bc @@ -696,8 +735,12 @@ test stringComp-11.54 {string match, failure} {  ## string word*  ## not yet bc - +  # cleanup  catch {rename foo {}}  ::tcltest::cleanupTests  return + +# Local Variables: +# mode: tcl +# End:  | 
