Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.

Commit

Permalink
update(tests, slider): improve test logic for undefined values
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasBurleson committed Jul 7, 2015
1 parent d75b592 commit bbe9659
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions src/components/slider/slider.js
Original file line number Diff line number Diff line change
Expand Up @@ -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('<canvas style="position:absolute;">');
tickContainer.append(tickCanvas);
var numSteps = Math.floor( (max - min) / step );
if (!tickCanvas) {
tickCanvas = angular.element('<canvas style="position:absolute;">');
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);
}
}

Expand Down

0 comments on commit bbe9659

Please sign in to comment.