summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-05 13:07:34 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-12-05 13:07:34 (GMT)
commit7b9569b185114b84fdb6ab52a177dcd3bb601523 (patch)
tree81c875fb68e330ceffacf339aaa43caa50380543 /tests
parent8b0a53ab15d95c2d590c9d48af6190be2b66f1cc (diff)
parent673d172ff18004c4391acdfd660952d372590ecd (diff)
downloadtk-7b9569b185114b84fdb6ab52a177dcd3bb601523.zip
tk-7b9569b185114b84fdb6ab52a177dcd3bb601523.tar.gz
tk-7b9569b185114b84fdb6ab52a177dcd3bb601523.tar.bz2
Merge 8.7
Diffstat (limited to 'tests')
-rw-r--r--tests/textTag.test18
-rw-r--r--tests/ttk/treeview.test113
2 files changed, 114 insertions, 17 deletions
diff --git a/tests/textTag.test b/tests/textTag.test
index 2d25f4c..74bd0d4 100644
--- a/tests/textTag.test
+++ b/tests/textTag.test
@@ -1325,6 +1325,24 @@ test textTag-15.3 {TkTextBindProc} -setup {
.t tag delete x y
} -result {x-enter | x-down | | | x-up | x-leave y-enter}
+test textTag-15.4 {TkTextBindProc, key event with mouse outside the widget} -setup {
+ .t tag delete {*}[.t tag names]
+ wm geometry . +200+200 ; update
+} -body {
+ set res {}
+ .t tag add tag1 1.0 end
+ .t tag bind tag1 <KeyPress> {lappend res %K}
+ .t mark set insert 1.2
+ update
+ event generate .t <Motion> -warp 1 -x -50 -y -50
+ controlPointerWarpTiming
+ focus -force .t
+ event generate .t <KeyPress> -keysym a
+ set res
+} -cleanup {
+ .t tag delete tag1
+} -result {a}
+
test textTag-16.1 {TkTextPickCurrent procedure} -setup {
.t tag delete {*}[.t tag names]
diff --git a/tests/ttk/treeview.test b/tests/ttk/treeview.test
index 8b9f1e7..3c14295 100644
--- a/tests/ttk/treeview.test
+++ b/tests/ttk/treeview.test
@@ -460,30 +460,109 @@ test treeview-8.5 "Selection - bad operation" -body {
.tv selection badop foo
} -returnCodes error -match glob -result {bad selection operation "badop": must be *}
-test treeview-8.6 "Selection - <<TreeviewSelect>> on selection add" -body {
- .tv selection set {}
- bind .tv <<TreeviewSelect>> {set res 1}
- set res 0
- .tv selection add newnode.n1
+test treeview-8.7 "<<TreeviewSelect>> when deleting items" -body {
+ .tv delete [.tv children {}]
+ .tv insert "" end -id myItem1 -text FirstItem
+ .tv insert "" end -id myItem2 -text SecondItem
+ .tv selection add myItem1
+ update
+ bind .tv <<TreeviewSelect>> {lappend res $val}
+ set res {}
+ set val 1
+ .tv delete myItem2 ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set val 2
+ .tv delete myItem1 ; # <<TreeviewSelect>> triggers
update
set res
-} -result 1
+} -result {2}
-test treeview-8.7 "<<TreeviewSelect>> on selected item deletion" -body {
- .tv selection set {}
- .tv insert "" end -id selectedDoomed -text DeadItem
- .tv insert "" end -id doomed -text AlsoDead
- .tv selection add selectedDoomed
+test treeview-8.8 "<<TreeviewSelect>> when setting the selection" -body {
+ .tv delete [.tv children {}]
+ .tv insert "" end -id myItem1 -text FirstItem
+ .tv insert "" end -id myItem2 -text SecondItem
+ update
+ bind .tv <<TreeviewSelect>> {lappend res $val}
+ set res {}
+ set val 1
+ .tv selection set "" ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set val 2
+ .tv selection set myItem1 ; # <<TreeviewSelect>> triggers
+ update
+ set val 3
+ .tv selection set myItem1 ; # no <<TreeviewSelect>> (already selected)
+ update
+ set val 4
+ .tv selection set {myItem1 myItem2} ; # <<TreeviewSelect>> triggers
+ update
+ set val 5
+ .tv selection set {myItem2} ; # <<TreeviewSelect>> triggers
+ update
+ set res
+} -result {2 4 5}
+
+test treeview-8.9 "<<TreeviewSelect>> when removing items from the selection" -body {
+ .tv delete [.tv children {}]
+ .tv insert "" end -id myItem1 -text FirstItem
+ .tv selection set myItem1
+ update
+ bind .tv <<TreeviewSelect>> {lappend res $val}
+ set res {}
+ set val 1
+ .tv selection remove "" ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set val 2
+ .tv selection remove myItem1 ; # <<TreeviewSelect>> triggers
+ update
+ set val 3
+ .tv selection remove myItem1 ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set res
+} -result {2}
+
+test treeview-8.10 "<<TreeviewSelect>> when adding items in the selection" -body {
+ .tv delete [.tv children {}]
+ .tv insert "" end -id myItem1 -text FirstItem
+ .tv insert "" end -id myItem2 -text SecondItem
+ .tv insert "" end -id myItem3 -text ThirdItem
+ update
+ bind .tv <<TreeviewSelect>> {lappend res $val}
+ set res {}
+ set val 1
+ .tv selection add myItem2 ; # <<TreeviewSelect>> triggers
+ update
+ set val 2
+ .tv selection add myItem2 ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set val 3
+ .tv selection add myItem3 ; # <<TreeviewSelect>> triggers
+ update
+ set res
+} -result {1 3}
+
+test treeview-8.11 "<<TreeviewSelect>> when toggling" -body {
+ .tv delete [.tv children {}]
+ .tv insert "" end -id myItem1 -text FirstItem
+ .tv insert "" end -id myItem2 -text SecondItem
+ .tv insert "" end -id myItem3 -text ThirdItem
+ update
+ bind .tv <<TreeviewSelect>> {lappend res $val}
+ set res {}
+ set val 1
+ .tv selection toggle "" ; # no <<TreeviewSelect>> (selection unchanged)
+ update
+ set val 2
+ .tv selection toggle {myItem1 myItem3} ; # <<TreeviewSelect>> triggers
update
- bind .tv <<TreeviewSelect>> {lappend res 1}
- set res 0
- .tv delete doomed
+ set val 3
+ .tv selection toggle {myItem3 myItem2} ; # <<TreeviewSelect>> triggers
update
- set res [expr {$res == 0}]
- .tv delete selectedDoomed
+ set val 4
+ .tv selection toggle {myItem3 myItem2} ; # <<TreeviewSelect>> triggers
update
set res
-} -result {1 1}
+} -result {2 3 4}
### NEED: more tests for see/yview/scrolling