@@ -120,7 +120,22 @@ describe('contour defaults', function() {
120
120
describe ( 'contour makeColorMap' , function ( ) {
121
121
'use strict' ;
122
122
123
- it ( 'should make correct color map function (\'fill\' coloring case)' , function ( ) {
123
+ function _makeColorMap ( trace ) {
124
+ trace . type = 'contour' ;
125
+ if ( trace . z === undefined ) {
126
+ trace . z = [ [ 0 ] ] ; // dummy data for calc to work properly
127
+ }
128
+ var gd = { data : [ trace ] } ;
129
+ supplyAllDefaults ( gd ) ;
130
+
131
+ var fullTrace = gd . _fullData [ 0 ] ;
132
+ fullTrace . _extremes = { } ;
133
+ Contour . calc ( gd , fullTrace ) ;
134
+
135
+ return makeColorMap ( fullTrace ) ;
136
+ }
137
+
138
+ it ( 'should make correct color map function (\'fill\' coloring case 1)' , function ( ) {
124
139
var trace = {
125
140
contours : {
126
141
coloring : 'fill' ,
@@ -141,7 +156,7 @@ describe('contour makeColorMap', function() {
141
156
] ]
142
157
} ;
143
158
144
- var colorMap = makeColorMap ( trace ) ;
159
+ var colorMap = _makeColorMap ( trace ) ;
145
160
146
161
expect ( colorMap . domain ( ) ) . toEqual (
147
162
[ - 1.75 , - 0.75 , 0.25 , 1.25 , 2.25 ]
@@ -151,6 +166,56 @@ describe('contour makeColorMap', function() {
151
166
'rgb(12,51,131)' , 'rgb(10,136,186)' , 'rgb(242,211,56)' ,
152
167
'rgb(242,143,56)' , 'rgb(217,30,30)'
153
168
] ) ;
169
+
170
+ // Set lower/upper bounds of the color domain via zmin/zmax
171
+ trace . zmin = - 5 ;
172
+ trace . zmax = 5 ;
173
+
174
+ colorMap = _makeColorMap ( trace ) ;
175
+
176
+ expect ( colorMap . domain ( ) ) . toEqual (
177
+ [ - 5 , - 1.75 , - 0.75 , 0.25 , 1.25 , 2.25 , 5 ]
178
+ ) ;
179
+
180
+ expect ( colorMap . range ( ) ) . toEqual ( [
181
+ 'rgb(12,51,131)' , 'rgb(12,51,131)' , 'rgb(10,136,186)' , 'rgb(242,211,56)' ,
182
+ 'rgb(242,143,56)' , 'rgb(217,30,30)' , 'rgb(217,30,30)'
183
+ ] ) ;
184
+ } ) ;
185
+
186
+ it ( 'should make correct color map function (\'fill\' coloring case 2)' , function ( ) {
187
+ var trace = {
188
+ z : [ [ 0 , 1 ] ] ,
189
+ autocontour : true ,
190
+ contours : {
191
+ coloring : 'fill'
192
+ } ,
193
+ colorscale : colorScales . RdBu ,
194
+ } ;
195
+
196
+ var colorMap = _makeColorMap ( trace ) ;
197
+ var domain = colorMap . domain ( ) ;
198
+ var range = colorMap . range ( ) ;
199
+
200
+ expect ( domain [ 0 ] ) . toBe ( 0 ) ;
201
+ expect ( domain [ domain . length - 1 ] ) . toBe ( 1 ) ;
202
+
203
+ expect ( range [ 0 ] ) . toBe ( 'rgb(5,10,172)' ) ;
204
+ expect ( range [ range . length - 1 ] ) . toBe ( 'rgb(178,10,28)' ) ;
205
+
206
+ // Set lower/upper bounds of the color domain via zmin/zmax
207
+ trace . zmin = - 1 ;
208
+ trace . zmax = 2 ;
209
+
210
+ colorMap = _makeColorMap ( trace ) ;
211
+ domain = colorMap . domain ( ) ;
212
+ range = colorMap . range ( ) ;
213
+
214
+ expect ( domain [ 0 ] ) . toBe ( trace . zmin ) ;
215
+ expect ( domain [ domain . length - 1 ] ) . toBe ( trace . zmax ) ;
216
+
217
+ expect ( range [ 0 ] ) . toBe ( 'rgb(5,10,172)' ) ;
218
+ expect ( range [ range . length - 1 ] ) . toBe ( 'rgb(178,10,28)' ) ;
154
219
} ) ;
155
220
156
221
it ( 'should make correct color map function (\'heatmap\' coloring case)' , function ( ) {
@@ -166,7 +231,7 @@ describe('contour makeColorMap', function() {
166
231
zmax : 6
167
232
} ;
168
233
169
- var colorMap = makeColorMap ( trace ) ;
234
+ var colorMap = _makeColorMap ( trace ) ;
170
235
171
236
expect ( colorMap . domain ( ) ) . toEqual (
172
237
[ 1 , 2.75 , 3.5 , 4 , 4.5 , 6 ]
@@ -189,7 +254,7 @@ describe('contour makeColorMap', function() {
189
254
colorscale : colorScales . RdBu
190
255
} ;
191
256
192
- var colorMap = makeColorMap ( trace ) ;
257
+ var colorMap = _makeColorMap ( trace ) ;
193
258
194
259
expect ( colorMap . domain ( ) ) . toEqual (
195
260
[ 1.5 , 2.9 , 3.5 , 3.9 , 4.3 , 5.5 ]
0 commit comments