author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 05 Apr 2016 10:00:57 +0100 | |
changeset 77 | cdf856e78998 |
parent 63 | 054f0513ea65 |
child 88 | 9d51db2ba641 |
permissions | -rw-r--r-- |
63
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:goodies/libcairo/tests' }" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
"{ NameSpace: Cairo }" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
TestCase subclass:#PatternTests |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
instanceVariableNames:'' |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
category:'Cairo-Tests' |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
!PatternTests methodsFor:'tests - gradient'! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
test_linear_01 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
| p s | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
p := Cairo::Pattern linearFromX: 0.0 y: 0.0 toX: 1.0 y: 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
p addColor: Color red stopAt: 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
p addColor: Color green stopAt: 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
self assert: p colorStopCount = 2. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
s := p colorStopAtIndex: 1. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
self assert: s key = 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
self assert: s value = Color red. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
s := p colorStopAtIndex: 2. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
self assert: s key = 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
self assert: s value = Color green. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
self should: [ p colorStopAtIndex: -1 ] raise: Object indexNotFoundSignal. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
self should: [ p colorStopAtIndex: 3 ] raise: Object indexNotFoundSignal. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
"Created: / 15-03-2016 / 20:59:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
test_linear_02 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
| p points | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
p := Cairo::Pattern linearFromX: 0.0 y: 0.0 toX: 1.0 y: 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
points := p points. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
self assert: points first x = 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
self assert: points first y = 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
self assert: points second x = 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
self assert: points second y = 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
"Created: / 15-03-2016 / 21:40:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
test_radial_02 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
| p circles | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
p := Cairo::Pattern radialFromX: 0.0 y: 0.0 radius: 2.0 toX: 1.0 y: 1.0 radius: 3.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
circles := p circles. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
self assert: circles first x = 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
self assert: circles first y = 0.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
self assert: circles second = 2.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
self assert: circles third x = 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
self assert: circles third y = 1.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
self assert: circles fourth = 3.0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
"Created: / 15-03-2016 / 22:21:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
! ! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
!PatternTests methodsFor:'tests - solid'! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
test_solid_01 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
| p | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
p := Cairo::Pattern R: 1 G: 0 B: 0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
self assert: p isSolid. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
self assert: p color = Color red. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
p release. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
p := Cairo::Pattern R: 0.5 G: 0.5 B: 0.5 A: 0.5. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
self assert: p isSolid. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
self assert: p color = ((Color scaledRed: 32768 scaledGreen: 32768 scaledBlue: 32768) alpha: 0.5). |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
p release. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
p := Cairo::Pattern color: Color red. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
self assert: p isSolid. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
self assert: p color = Color red. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
p release. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
"Created: / 04-03-2016 / 09:49:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
"Modified: / 05-03-2016 / 22:12:59 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
! ! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
!PatternTests methodsFor:'tests - surface'! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
test_surface_01 |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
| image imageCr pattern | |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
image := Surface newImageWithFormat: Format CAIRO_FORMAT_ARGB32 width: 2 height: 2. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
imageCr := image cairo. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
imageCr sourceR: 0 G: 1 B: 0. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
imageCr paint. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
image flush. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
self assert: (image data unsignedLongAt: 1) = 16rFF00FF00. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
pattern := Pattern surface: image. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
image := pattern surface. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
self assert: (image data unsignedLongAt: 1) = 16rFF00FF00. |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
"Created: / 05-03-2016 / 22:29:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
! ! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
!PatternTests class methodsFor:'documentation'! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
version_HG |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
|
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
^ '$Changeset: <not expanded> $' |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
! ! |
054f0513ea65
Initial support for Cairo::Pattern
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |