From f2c4791710b7b2936032e66067c838bb5f0b1c7a Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 8 Jan 2019 17:57:17 -0500 Subject: [PATCH 1/2] fix 3419 not replace colorscale with scl when both provided --- src/plot_api/helpers.js | 4 +-- test/jasmine/tests/plot_api_test.js | 46 +++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/src/plot_api/helpers.js b/src/plot_api/helpers.js index 39913c7ac45..134e967e2b2 100644 --- a/src/plot_api/helpers.js +++ b/src/plot_api/helpers.js @@ -319,11 +319,11 @@ exports.cleanData = function(data) { // scl->scale, reversescl->reversescale if('scl' in trace) { - trace.colorscale = trace.scl; + if(!('colorscale' in trace)) { trace.colorscale = trace.scl; } delete trace.scl; } if('reversescl' in trace) { - trace.reversescale = trace.reversescl; + if(!('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..916d8c76c7c 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 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).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 rename \'scl\' to \'colorscale\' 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).toBe(undefined); + }); + it('should rename \'YIGnBu\' colorscales YlGnBu (2dMap case)', function() { var data = [{ type: 'heatmap', From 168bb6856b14ac1b68da106e64dbb86b1c5cf8f6 Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 8 Jan 2019 22:34:05 -0500 Subject: [PATCH 2/2] revised in respect to 1st review --- src/plot_api/helpers.js | 8 ++++---- test/jasmine/tests/plot_api_test.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/plot_api/helpers.js b/src/plot_api/helpers.js index 134e967e2b2..bfbfc28c414 100644 --- a/src/plot_api/helpers.js +++ b/src/plot_api/helpers.js @@ -318,12 +318,12 @@ exports.cleanData = function(data) { } // scl->scale, reversescl->reversescale - if('scl' in trace) { - if(!('colorscale' in trace)) { trace.colorscale = trace.scl; } + if('scl' in trace && !('colorscale' in trace)) { + trace.colorscale = trace.scl; delete trace.scl; } - if('reversescl' in trace) { - if(!('reversescale' in trace)) { trace.reversescale = trace.reversescl; } + 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 916d8c76c7c..837f1569f2d 100644 --- a/test/jasmine/tests/plot_api_test.js +++ b/test/jasmine/tests/plot_api_test.js @@ -2265,7 +2265,7 @@ describe('Test plot api', function() { expect(gd.data[0].scl).toBe(undefined); }); - it('should not rename \'scl\' to \'colorscale\' when colorscale is defined ', function() { + it('should not delete rename \'scl\' to \'colorscale\' when colorscale is defined ', function() { var data = [{ type: 'heatmap', colorscale: 'Greens', @@ -2274,7 +2274,7 @@ describe('Test plot api', function() { Plotly.plot(gd, data); expect(gd.data[0].colorscale).toBe('Greens'); - expect(gd.data[0].scl).toBe(undefined); + expect(gd.data[0].scl).not.toBe(undefined); }); it('should rename \'reversescl\' to \'reversescale\' when colorscale is not defined', function() { @@ -2288,7 +2288,7 @@ describe('Test plot api', function() { expect(gd.data[0].reversescl).toBe(undefined); }); - it('should not rename \'scl\' to \'colorscale\' when colorscale is defined ', function() { + it('should not delete & rename \'reversescl\' to \'reversescale\' when colorscale is defined', function() { var data = [{ type: 'heatmap', reversescale: true, @@ -2297,7 +2297,7 @@ describe('Test plot api', function() { Plotly.plot(gd, data); expect(gd.data[0].reversescale).toBe(true); - expect(gd.data[0].reversescl).toBe(undefined); + expect(gd.data[0].reversescl).not.toBe(undefined); }); it('should rename \'YIGnBu\' colorscales YlGnBu (2dMap case)', function() {