summaryrefslogtreecommitdiffstats
path: root/tk8.6/tests/ttk/treetags.test
diff options
context:
space:
mode:
Diffstat (limited to 'tk8.6/tests/ttk/treetags.test')
-rw-r--r--tk8.6/tests/ttk/treetags.test221
1 files changed, 0 insertions, 221 deletions
diff --git a/tk8.6/tests/ttk/treetags.test b/tk8.6/tests/ttk/treetags.test
deleted file mode 100644
index 7f26e2f..0000000
--- a/tk8.6/tests/ttk/treetags.test
+++ /dev/null
@@ -1,221 +0,0 @@
-
-package require Tk
-package require tcltest ; namespace import -force tcltest::*
-loadTestedCommands
-
-### treeview tag invariants:
-#
-
-proc assert {expr {message ""}} {
- if {![uplevel 1 [list expr $expr]]} {
- error "PANIC: $message ($expr failed)"
- }
-}
-proc in {e l} { expr {[lsearch -exact $l $e] >= 0} }
-
-proc itemConstraints {tv item} {
- # $tag in [$tv item $item -tags] <==> [$tv tag has $tag $item]
- foreach tag [$tv item $item -tags] {
- assert {[in $item [$tv tag has $tag]]}
- }
- foreach child [$tv children $item] {
- itemConstraints $tv $child
- }
-}
-
-proc treeConstraints {tv} {
- # $item in [$tv tag has $tag] <==> [$tv tag has $tag $item]
- #
- foreach tag [$tv tag names] {
- foreach item [$tv tag has $tag] {
- assert {[in $tag [$tv item $item -tags]]}
- }
- }
-
- itemConstraints $tv {}
-}
-#
-###
-
-test treetags-1.0 "Setup" -body {
- set tv [ttk::treeview .tv]
- .tv insert {} end -id item1 -text "Item 1"
- pack .tv
-} -cleanup {
- treeConstraints $tv
-}
-
-test treetags-1.1 "Bad tag list" -body {
- $tv item item1 -tags {bad {list}here bad}
- $tv item item1 -tags
-} -returnCodes error -result "list element in braces *" -match glob
-
-test treetags-1.2 "Good tag list" -body {
- $tv item item1 -tags tag1
- $tv item item1 -tags
-} -cleanup {
- assert {[$tv tag has tag1 item1]}
- treeConstraints $tv
-} -result [list tag1]
-
-test treetags-1.3 "tag has - test" -body {
- $tv insert {} end -id item2 -text "Item 2" -tags tag2
- set result [list]
- foreach item {item1 item2} {
- foreach tag {tag1 tag2 tag3} {
- lappend result $item $tag [$tv tag has $tag $item]
- }
- }
- set result
-} -cleanup {
- treeConstraints $tv
-} -result [list \
- item1 tag1 1 item1 tag2 0 item1 tag3 0 \
- item2 tag1 0 item2 tag2 1 item2 tag3 0 ]
-
-test treetags-1.4 "tag has - query" -body {
- list [$tv tag has tag1] [$tv tag has tag2] [$tv tag has tag3]
-} -cleanup {
- treeConstraints $tv
-} -result [list [list item1] [list item2] [list]]
-
-test treetags-1.5 "tag add" -body {
- $tv tag add tag3 {item1 item2}
- list [$tv tag has tag1] [$tv tag has tag2] [$tv tag has tag3]
-} -cleanup {
- treeConstraints $tv
-} -result [list [list item1] [list item2] [list item1 item2]]
-
-test treetags-1.6 "tag remove - list" -body {
- $tv tag remove tag3 {item1 item2}
- list [$tv tag has tag1] [$tv tag has tag2] [$tv tag has tag3]
-} -cleanup {
- treeConstraints $tv
-} -result [list [list item1] [list item2] [list]]
-
-test treetags-1.7 "tag remove - all items" -body {
- $tv tag remove tag1
- list [$tv tag has tag1] [$tv tag has tag2] [$tv tag has tag3]
-} -cleanup {
- treeConstraints $tv
-} -result [list [list] [list item2] [list]]
-
-test treetags-1.8 "tag names" -body {
- lsort [$tv tag names]
-} -result [list tag1 tag2 tag3]
-
-test treetags-1.9 "tag names - tag added to item" -body {
- $tv item item1 -tags tag4
- lsort [$tv tag names]
-} -result [list tag1 tag2 tag3 tag4]
-
-test treetags-1.10 "tag names - tag configured" -body {
- $tv tag configure tag5
- lsort [$tv tag names]
-} -result [list tag1 tag2 tag3 tag4 tag5]
-
-test treetags-1.end "cleanup" -body {
- $tv item item1 -tags tag1
- $tv item item2 -tags tag2
- list [$tv tag has tag1] [$tv tag has tag2] [$tv tag has tag3]
-} -cleanup {
- treeConstraints $tv
-} -result [list [list item1] [list item2] [list]]
-
-test treetags-2.0 "tag bind" -body {
- $tv tag bind tag1 <KeyPress> {set ::KEY %A}
- $tv tag bind tag1 <KeyPress>
-} -cleanup {
- treeConstraints $tv
-} -result {set ::KEY %A}
-
-test treetags-2.1 "Events delivered to tags" -body {
- focus -force $tv ; update ;# needed so [event generate] delivers KeyPress
- $tv focus item1
- event generate $tv <KeyPress-a>
- set ::KEY
-} -cleanup {
- treeConstraints $tv
-} -result a
-
-test treetags-2.2 "Events delivered to correct tags" -body {
- $tv tag bind tag2 <KeyPress> [list set ::KEY2 %A]
-
- $tv focus item1
- event generate $tv <KeyPress-b>
- $tv focus item2
- event generate $tv <KeyPress-c>
-
- list $::KEY $::KEY2
-} -cleanup {
- treeConstraints $tv
-} -result [list b c]
-
-test treetags-2.3 "Virtual events delivered to focus item" -body {
- set ::bong 0
- $tv tag bind tag2 <<Bing>> { incr bong }
- $tv focus item2
- event generate $tv <<Bing>>
- $tv focus item1
- event generate $tv <<Bing>>
- set bong
-} -cleanup {
- treeConstraints $tv
-} -result 1
-
-test treetags-2.4 "Bad events" -body {
- $tv tag bind bad <Enter> { puts "Entered!" }
-} -returnCodes 1 -result "unsupported event <Enter>*" -match glob
-
-test treetags-3.0 "tag configure - set" -body {
- $tv tag configure tag1 -foreground blue -background red
-} -cleanup {
- treeConstraints $tv
-} -result {}
-
-test treetags-3.1 "tag configure - get" -body {
- $tv tag configure tag1 -foreground
-} -cleanup {
- treeConstraints $tv
-} -result blue
-
-# @@@ fragile test
-test treetags-3.2 "tag configure - enumerate" -body {
- $tv tag configure tag1
-} -cleanup {
- treeConstraints $tv
-} -result [list \
- -text {} -image {} -anchor {} -background red -foreground blue -font {} \
-]
-
-# The next test exercises tag resource management.
-# If options are not properly freed, the message:
-# Test file error: "Font times 20 still in cache."
-# will show up on stderr at program exit.
-#
-test treetags-3.3 "tag configure - set font" -body {
- $tv tag configure tag2 -font {times 20}
-}
-
-test treetags-3.4 "stomp tags in tag binding procedure" -body {
- set result [list]
- $tv tag bind rm1 <<Remove>> { lappend ::result rm1 [%W focus] <<Remove>> }
- $tv tag bind rm2 <<Remove>> {
- lappend ::result rm2 [%W focus] <<Remove>>
- %W item [%W focus] -tags {tag1}
- }
- $tv tag bind rm3 <<Remove>> { lappend ::result rm3 [%W focus] <<Remove>> }
-
- $tv item item1 -tags {rm1 rm2 rm3}
- $tv focus item1
- event generate $tv <<Remove>>
- set result
-} -cleanup {
- treeConstraints $tv
-} -result [list rm1 item1 <<Remove>> rm2 item1 <<Remove>> rm3 item1 <<Remove>>]
-
-#
-
-test treetags-end "Cleanup" -body { destroy $tv }
-
-tcltest::cleanupTests