1#
2# $Id$
3#
4
5package require Tk 8.5
6package require tcltest ; namespace import -force tcltest::*
7loadTestedCommands
8
9
10test progressbar-1.1 "Setup" -body {
11    ttk::progressbar .pb
12} -result .pb
13
14test progressbar-1.2 "Linked variable" -body {
15    set PB 50
16    .pb configure -variable PB
17    .pb cget -value
18} -result 50
19
20test progressbar-1.3 "Change linked variable" -body {
21    set PB 80
22    .pb cget -value
23} -result 80
24
25test progressbar-1.4 "Set linked variable to bad value" -body {
26    set PB "bogus"
27    .pb instate invalid
28} -result 1
29
30test progressbar-1.4.1 "Set linked variable back to a good value" -body {
31    set PB 80
32    .pb instate invalid
33} -result 0
34
35test progressbar-1.5 "Set -variable to illegal variable" -body {
36    set BAD "bogus"
37    .pb configure -variable BAD
38    .pb instate invalid
39} -result 1
40
41test progressbar-1.6 "Unset -variable" -body {
42    unset -nocomplain UNSET
43    .pb configure -variable UNSET
44    .pb instate disabled
45} -result 1
46
47test progressbar-2.0 "step command" -body {
48    .pb configure -variable {}		;# @@@
49    .pb configure -value 5 -maximum 10 -mode determinate
50    .pb step
51    .pb cget -value
52} -result 6.0
53
54test progressbar-2.1 "step command, with stepamount" -body {
55    .pb step 3
56    .pb cget -value
57} -result 9.0
58
59test progressbar-2.2 "step wraps at -maximum in determinate mode" -body {
60    .pb step
61    .pb cget -value
62} -result 0.0
63
64test progressbar-2.3 "step doesn't wrap in indeterminate mode" -body {
65    .pb configure -value 8 -maximum 10 -mode indeterminate
66    .pb step
67    .pb step
68    .pb step
69    .pb cget -value
70} -result 11.0
71
72test progressbar-2.4 "step with linked variable" -body {
73    .pb configure -variable PB		;# @@@
74    set PB 5
75    .pb step
76    set PB
77} -result 6.0
78
79test progressbar-2.5 "error in write trace" -body {
80    trace variable PB w { error "YIPES!" ;# }
81    .pb step
82    set PB		;# NOTREACHED
83} -cleanup { unset PB } -returnCodes 1 -match glob -result "*YIPES!"
84
85test progressbar-end "Cleanup" -body {
86    destroy .pb
87}
88
89tcltest::cleanupTests
90