blob: a5627d26b3146c55e4e4a034c28f689fdeea040d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
#
# ttk::combobox widget tests
#
package require tk
package require tcltest 2.2
namespace import -force tcltest::*
loadTestedCommands
test combobox-1.0 "Combobox tests -- setup" -body {
ttk::combobox .cb
} -result .cb
test combobox-1.1 "Bad -values list" -body {
.cb configure -values "bad \{list"
} -result "unmatched open brace in list" -returnCodes error
test combobox-1.end "Combobox tests -- cleanup" -body {
destroy .cb
}
test combobox-2.0 "current command" -body {
ttk::combobox .cb -values [list a b c d e a]
.cb current
} -result -1
test combobox-2.1 "current -- set index" -body {
.cb current 5
.cb get
} -result a
test combobox-2.2 "current -- change -values" -body {
.cb configure -values [list c b a d e]
.cb current
} -result 2
test combobox-2.3 "current -- change value" -body {
.cb set "b"
.cb current
} -result 1
test combobox-2.4 "current -- value not in list" -body {
.cb set "z"
.cb current
} -result -1
test combobox-2.5 "current -- set to end index" -body {
.cb configure -values [list a b c d e thelastone]
.cb current end
.cb get
} -result thelastone
test combobox-2.6 "current -- set to unknown index" -body {
.cb configure -values [list a b c d e]
.cb current notanindex
} -returnCodes error -result {Incorrect index notanindex}
test combobox-2.end "Cleanup" -body { destroy .cb }
test combobox-3 "Read postoffset value dynamically from current style" -body {
ttk::combobox .cb -values [list a b c] -style "DerivedStyle.TCombobox"
pack .cb -expand true -fill both
ttk::style configure DerivedStyle.TCombobox -postoffset [list 25 0 0 0]
ttk::combobox::Post .cb
expr {[winfo rootx .cb.popdown] - [winfo rootx .cb]}
} -result 25 -cleanup {
destroy .cb
}
test combobox-1890211 "ComboboxSelected event after listbox unposted" -body {
# whitebox test...
pack [ttk::combobox .cb -values [list a b c]]
set result [list]
bind .cb <<ComboboxSelected>> {
lappend result Event [winfo ismapped .cb.popdown] [.cb get]
}
lappend result Start 0 [.cb get]
ttk::combobox::Post .cb
lappend result Post [winfo ismapped .cb.popdown] [.cb get]
.cb.popdown.f.l selection clear 0 end; .cb.popdown.f.l selection set 1
ttk::combobox::LBSelected .cb.popdown.f.l
lappend result Select [winfo ismapped .cb.popdown] [.cb get]
update
set result
} -result [list Start 0 {} Post 1 {} Select 0 b Event 0 b] -cleanup {
destroy .cb
}
test combobox-4.1 "style command" -body {
ttk::combobox .w
list [.w cget -style] [.w style] [winfo class .w]
} -cleanup {
destroy .w
} -result {{} TCombobox TCombobox}
test combobox-4.2 "style command" -body {
ttk::style configure customStyle.TCombobox
ttk::combobox .w -style customStyle.TCombobox
list [.w cget -style] [.w style] [winfo class .w]
} -cleanup {
destroy .w
} -result {customStyle.TCombobox customStyle.TCombobox TCombobox}
tcltest::cleanupTests
|