From bbe96593d3b0d087352d2f7f626c1200d198367c Mon Sep 17 00:00:00 2001 From: Thomas Burleson Date: Tue, 7 Jul 2015 08:45:52 -0500 Subject: [PATCH] update(tests, slider): improve test logic for undefined values --- src/components/slider/slider.js | 43 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/components/slider/slider.js b/src/components/slider/slider.js index 7517402bd5b..20e1e95a5d3 100644 --- a/src/components/slider/slider.js +++ b/src/components/slider/slider.js @@ -184,33 +184,32 @@ function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdThemi var tickCanvas, tickCtx; function redrawTicks() { if (!angular.isDefined(attr.mdDiscrete)) return; + if ( angular.isUndefined(step) ) return; - if (step > 0) { + if ( step <= 0 ) { + var msg = 'Slider step value must be greater than zero when in discrete mode'; + $log.error(msg); + throw new Error(msg); + } - var numSteps = Math.floor( (max - min) / step ); - if (!tickCanvas) { - tickCanvas = angular.element(''); - tickContainer.append(tickCanvas); + var numSteps = Math.floor( (max - min) / step ); + if (!tickCanvas) { + tickCanvas = angular.element(''); + tickContainer.append(tickCanvas); - var trackTicksStyle = $window.getComputedStyle(tickContainer[0]); - tickCtx = tickCanvas[0].getContext('2d'); - tickCtx.fillStyle = trackTicksStyle.backgroundColor || 'black'; - } - var dimensions = getSliderDimensions(); - tickCanvas[0].width = dimensions.width; - tickCanvas[0].height = dimensions.height; - - var distance; - for (var i = 0; i <= numSteps; i++) { - distance = Math.floor(dimensions.width * (i / numSteps)); - tickCtx.fillRect(distance - 1, 0, 2, dimensions.height); - } + var trackTicksStyle = $window.getComputedStyle(tickContainer[0]); + tickCtx = tickCanvas[0].getContext('2d'); + tickCtx.fillStyle = trackTicksStyle.backgroundColor || 'black'; + } - } else { - var msg = 'Slider step value must be greater than zero when in discrete mode'; + var dimensions = getSliderDimensions(); + tickCanvas[0].width = dimensions.width; + tickCanvas[0].height = dimensions.height; - $log.error(msg); - throw new Error(msg); + var distance; + for (var i = 0; i <= numSteps; i++) { + distance = Math.floor(dimensions.width * (i / numSteps)); + tickCtx.fillRect(distance - 1, 0, 2, dimensions.height); } }