summaryrefslogtreecommitdiffstats
path: root/tests/macscrollbar.test
blob: 4abf1370c1b2ad3d37df31266da9b081af869d6f (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# This file is a Tcl script to test out scrollbar widgets and
# the "scrollbar" command of Tk.  This file only tests Macintosh
# specific features.  It is organized in the standard fashion for 
# Tcl tests.
#
# Copyright (c) 1996 Sun Microsystems, Inc.
# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
#
# RCS: @(#) $Id: macscrollbar.test,v 1.3 1999/04/16 01:51:39 stanton Exp $

if {[lsearch [namespace children] ::tcltest] == -1} {
    source [file join [pwd] [file dirname [info script]] defs.tcl]
}

# Only run this test on the Macintosh
if {$tcl_platform(platform) != "macintosh"} {
    puts "skipping: Mac only tests..."
    ::tcltest::cleanupTests
    return
}

foreach i [winfo children .] {
    destroy $i
}
wm geometry . {}
raise .
update

# Tests for display and layout
wm geometry . 50x300
scrollbar .s
pack .s -fill y -expand 1
update
test macscroll-1.1 {TkpDisplayScrollbar procedure} {
    list [.s configure -width] [.s configure -bd]
} {{-width width Width 16 16} {-borderwidth borderWidth BorderWidth 0 0}}
test macscroll-1.2 {TkpDisplayScrollbar procedure} {
    # Exercise drawing 3D relief
    pack .s -fill y -expand 1 -anchor center
    .s configure -bd 4
    update
    focus .s
    update
} {}
test macscroll-1.3 {TkpDisplayScrollbar procedure} {
    pack .s -fill y -expand 1 -anchor e
    update
    set x [.s configure -width]
    pack .s -fill y -expand 1 -anchor w
    update
    list [.s configure -width] $x
} {{-width width Width 16 16} {-width width Width 16 16}}
test macscroll-1.4 {TkpDisplayScrollbar procedure} {
    wm geometry . 300x50
    .s configure -bd 0 -orient horizontal
    pack .s -fill x -expand 1 -anchor center
    update
    set x [.s configure -width]
    pack .s -fill x -expand 1 -anchor n
    update
    set y [.s configure -width]
    pack .s -fill x -expand 1 -anchor s
    update
    list [.s configure -width] $x $y
} {{-width width Width 16 16} {-width width Width 16 16} {-width width Width 16 16}}
test macscroll-1.5 {TkpDisplayScrollbar procedure} {
    wm geometry . 300x16
    .s configure -bd 0 -orient horizontal
    pack .s -fill x -expand 1 -anchor s
    update
    wm geometry . 300x15
    update
    wm geometry . 300x14
    update
} {}
test macscroll-1.6 {TkpDisplayScrollbar procedure} {
    # Check the drawing of the resize hack
    wm geometry . 20x300
    wm resizable . 1 1
    .s configure -bd 0 -orient vertical
    pack .s -fill y -expand 1 -anchor e
    update
    set x [.s identify 12 295]
    wm resizable . 0 0
    update
    set y [.s identify 12 295]
    wm resizable . 1 1
    pack .s -fill y -expand 1 -anchor center
    update
    list $x $y [.s identify 12 295]
} {{} arrow2 arrow2}
test macscroll-1.7 {TkpDisplayScrollbar procedure} {
    wm geometry . 300x300
    pack .s -fill y -expand 1 -anchor e
    catch {destroy .s2}
    scrollbar .s2 -orient horizontal
    place .s2 -x 0 -y 284 -width 300
} {}

foreach i [winfo children .] {
    destroy $i
}

# cleanup
::tcltest::cleanupTests
return