From f9db523c7fd838da60607bd9eabf8e84190b97d9 Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 23 Jul 2019 16:47:53 -0400 Subject: [PATCH] cast bad size values to zero instead of NaN - fixup scattergeo jasmine test --- src/lib/index.js | 2 +- test/jasmine/tests/bar_test.js | 6 +++--- test/jasmine/tests/funnel_test.js | 20 +++----------------- test/jasmine/tests/scatter_test.js | 20 ++++++++++---------- test/jasmine/tests/scattergeo_test.js | 2 +- 5 files changed, 18 insertions(+), 32 deletions(-) diff --git a/src/lib/index.js b/src/lib/index.js index 6fc8f8deceb..726cc5e0a30 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -474,7 +474,7 @@ lib.mergeArray = function(traceAttr, cd, cdAttr, fn) { lib.mergeArrayCastPositive = function(traceAttr, cd, cdAttr) { return lib.mergeArray(traceAttr, cd, cdAttr, function(v) { var w = +v; - return isNaN(w) ? NaN : w > 0 ? w : 0; + return !isFinite(w) ? 0 : w > 0 ? w : 0; }); }; diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 16fc23250f1..15526cf35e0 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -412,14 +412,14 @@ describe('Bar.calc', function() { var gd = mockBarPlot([{ marker: { line: { - width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] + width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'] } }, - y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] }], {}); var cd = gd.calcdata; - assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); + assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); }); }); diff --git a/test/jasmine/tests/funnel_test.js b/test/jasmine/tests/funnel_test.js index af4898a5979..6804069adaf 100644 --- a/test/jasmine/tests/funnel_test.js +++ b/test/jasmine/tests/funnel_test.js @@ -356,28 +356,14 @@ describe('Funnel.calc', function() { var gd = mockFunnelPlot([{ marker: { line: { - width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] + width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'] } }, - y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] }], {}); var cd = gd.calcdata; - assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); - }); - - it('should guard against negative marker.line.width values', function() { - var gd = mockFunnelPlot([{ - marker: { - line: { - width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] - } - }, - y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] - }], {}); - - var cd = gd.calcdata; - assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); + assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); }); }); diff --git a/test/jasmine/tests/scatter_test.js b/test/jasmine/tests/scatter_test.js index 8aab391f5d5..d7639333903 100644 --- a/test/jasmine/tests/scatter_test.js +++ b/test/jasmine/tests/scatter_test.js @@ -298,16 +298,16 @@ describe('Test scatter', function() { mode: 'markers+text', marker: { line: { - width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] + width: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'] }, - opacity: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}], - size: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] + opacity: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'], + size: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'] }, textfont: { - size: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}] + size: [2, 1, 0, -1, false, true, null, [], -Infinity, Infinity, NaN, {}, '12+1', '1e1'] }, - text: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], - y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + text: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14'], + y: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] }], layout: {}, calcdata: [], @@ -318,10 +318,10 @@ describe('Test scatter', function() { Plots.doCalcdata(gd); var cd = gd.calcdata; - assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); - assertPointField(cd, 'mo', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); - assertPointField(cd, 'ms', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); - assertPointField(cd, 'ts', [[2, 1, 0, 0, 0, 1, 0, 0, 0, Infinity, NaN, NaN]]); + assertPointField(cd, 'mlw', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); + assertPointField(cd, 'mo', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); + assertPointField(cd, 'ms', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); + assertPointField(cd, 'ts', [[2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 10]]); }); }); diff --git a/test/jasmine/tests/scattergeo_test.js b/test/jasmine/tests/scattergeo_test.js index d8b7c659479..718fa6401c4 100644 --- a/test/jasmine/tests/scattergeo_test.js +++ b/test/jasmine/tests/scattergeo_test.js @@ -215,7 +215,7 @@ describe('Test scattergeo calc', function() { expect(calcTrace).toEqual([ { lonlat: [10, 20], mc: 0, ms: 10 }, - { lonlat: [20, 30], mc: null, ms: NaN }, + { lonlat: [20, 30], mc: null, ms: 0 }, { lonlat: [BADNUM, BADNUM], mc: 5, ms: 8 }, { lonlat: [30, 10], mc: 10, ms: 10 } ]);