summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2020-04-25 09:51:05 (GMT)
committerfvogel <fvogelnew1@free.fr>2020-04-25 09:51:05 (GMT)
commit6519b36fb401f59774724712a21612a5ee425c8b (patch)
treeb72c6b15c310458b2f130de6f1d0c6ed96d9f48a /tests
parent1afc315dca16fd15e78f5114bc1a8a17e48737e6 (diff)
parente16a5dd892d5464644a6cd65b9a0eba7b5752a6a (diff)
downloadtk-6519b36fb401f59774724712a21612a5ee425c8b.zip
tk-6519b36fb401f59774724712a21612a5ee425c8b.tar.gz
tk-6519b36fb401f59774724712a21612a5ee425c8b.tar.bz2
Fix [14188104c3]: ttk::treeview scrollbar not updating. Thanks to cjmcdonald for the report. The actually applied patch turned out to be different from the proposal since it could be demonstrated that the new testcases pass without the wrong line in TreeviewSeeCommand (and for understandable reasons).
Diffstat (limited to 'tests')
-rw-r--r--tests/ttk/treeview.test54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/ttk/treeview.test b/tests/ttk/treeview.test
index 270ddf0..43dd249 100644
--- a/tests/ttk/treeview.test
+++ b/tests/ttk/treeview.test
@@ -508,6 +508,60 @@ test treeview-9.1 "scrolling" -setup {
destroy .tree
} -result {I006}
+test treeview-9.2 {scrolling on see command - bug [14188104c3]} -setup {
+ toplevel .top
+ ttk::treeview .top.tree -show {} -height 10 -columns {label} \
+ -yscrollcommand [list .top.vs set]
+ ttk::scrollbar .top.vs -command {.top.tree yview}
+ grid .top.tree -row 0 -column 0 -sticky ns
+ grid .top.vs -row 0 -column 1 -sticky ns
+ update
+ proc setrows {n} {
+ .top.tree delete [.top.tree children {}]
+ for {set i 1} {$i <= $n} {incr i} {
+ .top.tree insert {} end -id row$i \
+ -values [list [format "Row %2.2d" $i]]
+ }
+ .top.tree see row1
+ update idletasks
+ }
+} -body {
+ setrows 10
+ set res [.top.vs get]
+ setrows 20
+ lappend res [expr [lindex [.top.vs get] 1] < 1]
+} -cleanup {
+ destroy .top
+} -result {0.0 1.0 1}
+
+test treeview-9.3 {scrolling on see command, requested item is closed} -setup {
+ toplevel .top
+ ttk::treeview .top.tree -show tree -height 10 -columns {label} \
+ -yscrollcommand [list .top.vs set]
+ ttk::scrollbar .top.vs -command {.top.tree yview}
+ grid .top.tree -row 0 -column 0 -sticky ns
+ grid .top.vs -row 0 -column 1 -sticky ns
+
+ .top.tree insert {} end -id a -text a
+ .top.tree insert a end -id b -text b
+ .top.tree insert b end -id c -text c
+ .top.tree insert c end -id d -text d
+ .top.tree insert d end -id e -text e
+ for {set i 6} {$i <= 15} {incr i} {
+ .top.tree insert {} end -id row$i \
+ -values [list [format "Row %2.2d" $i]]
+ }
+ update
+} -body {
+ set before [lindex [.top.vs get] 1]
+ .top.tree see e
+ update idletasks
+ set after [lindex [.top.vs get] 1]
+ expr $after < $before
+} -cleanup {
+ destroy .top
+} -result {1}
+
### identify tests:
#
proc identify* {tv comps args} {