diff --git a/src/plot_api/helpers.js b/src/plot_api/helpers.js index 39913c7ac45..bfbfc28c414 100644 --- a/src/plot_api/helpers.js +++ b/src/plot_api/helpers.js @@ -318,11 +318,11 @@ exports.cleanData = function(data) { } // scl->scale, reversescl->reversescale - if('scl' in trace) { + if('scl' in trace && !('colorscale' in trace)) { trace.colorscale = trace.scl; delete trace.scl; } - if('reversescl' in trace) { + if('reversescl' in trace && !('reversescale' in trace)) { trace.reversescale = trace.reversescl; delete trace.reversescl; } diff --git a/test/jasmine/tests/plot_api_test.js b/test/jasmine/tests/plot_api_test.js index 3475b06227d..837f1569f2d 100644 --- a/test/jasmine/tests/plot_api_test.js +++ b/test/jasmine/tests/plot_api_test.js @@ -2254,6 +2254,52 @@ describe('Test plot api', function() { afterEach(destroyGraphDiv); + it('should rename \'scl\' to \'colorscale\' when colorscale is not defined', function() { + var data = [{ + type: 'heatmap', + scl: 'Blues' + }]; + + Plotly.plot(gd, data); + expect(gd.data[0].colorscale).toBe('Blues'); + expect(gd.data[0].scl).toBe(undefined); + }); + + it('should not delete rename \'scl\' to \'colorscale\' when colorscale is defined ', function() { + var data = [{ + type: 'heatmap', + colorscale: 'Greens', + scl: 'Reds' + }]; + + Plotly.plot(gd, data); + expect(gd.data[0].colorscale).toBe('Greens'); + expect(gd.data[0].scl).not.toBe(undefined); + }); + + it('should rename \'reversescl\' to \'reversescale\' when colorscale is not defined', function() { + var data = [{ + type: 'heatmap', + reversescl: true + }]; + + Plotly.plot(gd, data); + expect(gd.data[0].reversescale).toBe(true); + expect(gd.data[0].reversescl).toBe(undefined); + }); + + it('should not delete & rename \'reversescl\' to \'reversescale\' when colorscale is defined', function() { + var data = [{ + type: 'heatmap', + reversescale: true, + reversescl: false + }]; + + Plotly.plot(gd, data); + expect(gd.data[0].reversescale).toBe(true); + expect(gd.data[0].reversescl).not.toBe(undefined); + }); + it('should rename \'YIGnBu\' colorscales YlGnBu (2dMap case)', function() { var data = [{ type: 'heatmap',