@@ -118,6 +118,75 @@ defmodule Scenic.ScriptTest do
118
118
[ { :draw_rrect , { 13.0 , 12.0 , 6.0 , :stroke } } ]
119
119
end
120
120
121
+ test "draw_rounded_rectangle varying all corners works" do
122
+ expected = [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 5.0 , :fill } } ]
123
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , 5 , :fill ) == expected
124
+ assert expected == Script . serialize ( expected ) |> Script . deserialize ( )
125
+
126
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , 5 , :stroke ) ==
127
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 5.0 , :stroke } } ]
128
+
129
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , 5 , :fill_stroke ) ==
130
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 5.0 , :fill_stroke } } ]
131
+ end
132
+
133
+ test "draw_rounded_rectangle varying 3 corners works" do
134
+ expected = [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 3.0 , :fill } } ]
135
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , :fill ) == expected
136
+ assert expected == Script . serialize ( expected ) |> Script . deserialize ( )
137
+
138
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , :stroke ) ==
139
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 3.0 , :stroke } } ]
140
+
141
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , 4 , :fill_stroke ) ==
142
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 4.0 , 3.0 , :fill_stroke } } ]
143
+ end
144
+
145
+ test "draw_rounded_rectangle varying 2 corners works" do
146
+ expected = [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 2.0 , 3.0 , :fill } } ]
147
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , :fill ) == expected
148
+ assert expected == Script . serialize ( expected ) |> Script . deserialize ( )
149
+
150
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , :stroke ) ==
151
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 2.0 , 3.0 , :stroke } } ]
152
+
153
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 11 , 2 , 3 , :fill_stroke ) ==
154
+ [ { :draw_rrectv , { 10.0 , 11.0 , 2.0 , 3.0 , 2.0 , 3.0 , :fill_stroke } } ]
155
+ end
156
+
157
+ test "draw_rounded_rectangle varying all corners shrinks radius if too big" do
158
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 12 , 30 , 40 , 50 , 4 , :fill ) ==
159
+ [ { :draw_rrectv , { 10.0 , 12.0 , 5.0 , 5.0 , 5.0 , 4.0 , :fill } } ]
160
+
161
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 30 , 40 , 5 , 60 , :stroke ) ==
162
+ [ { :draw_rrectv , { 13.0 , 12.0 , 6.0 , 6.0 , 5.0 , 6.0 , :stroke } } ]
163
+
164
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 30 , 4 , 50 , 60 , :stroke ) ==
165
+ [ { :draw_rrectv , { 13.0 , 12.0 , 6.0 , 4.0 , 6.0 , 6.0 , :stroke } } ]
166
+
167
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 3 , 40 , 50 , 60 , :stroke ) ==
168
+ [ { :draw_rrectv , { 13.0 , 12.0 , 3.0 , 6.0 , 6.0 , 6.0 , :stroke } } ]
169
+ end
170
+
171
+ test "draw_rounded_rectangle varying 3 corners shrinks radius if too big" do
172
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 12 , 30 , 40 , 5 , :fill ) ==
173
+ [ { :draw_rrectv , { 10.0 , 12.0 , 5.0 , 5.0 , 5.0 , 5.0 , :fill } } ]
174
+
175
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 30 , 4 , 50 , :stroke ) ==
176
+ [ { :draw_rrectv , { 13.0 , 12.0 , 6.0 , 4.0 , 6.0 , 4.0 , :stroke } } ]
177
+
178
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 3 , 40 , 50 , :stroke ) ==
179
+ [ { :draw_rrectv , { 13.0 , 12.0 , 3.0 , 6.0 , 6.0 , 6.0 , :stroke } } ]
180
+ end
181
+
182
+ test "draw_rounded_rectangle varying 2 corners shrinks radius if too big" do
183
+ assert Script . draw_rounded_rectangle ( [ ] , 10 , 12 , 30 , 4 , :fill ) ==
184
+ [ { :draw_rrectv , { 10.0 , 12.0 , 5.0 , 4.0 , 5.0 , 4.0 , :fill } } ]
185
+
186
+ assert Script . draw_rounded_rectangle ( [ ] , 13 , 12 , 3 , 40 , :stroke ) ==
187
+ [ { :draw_rrectv , { 13.0 , 12.0 , 3.0 , 6.0 , 3.0 , 6.0 , :stroke } } ]
188
+ end
189
+
121
190
test "draw_sector works" do
122
191
expected = [ { :draw_sector , { 10.0 , 3.0 , :fill } } ]
123
192
assert Script . draw_sector ( [ ] , 10 , 3 , :fill ) == expected
0 commit comments