pokedex/www/lib/ngCordova/test/mocks/vibration.spec.js
2016-08-22 12:55:52 +02:00

49 lines
1.4 KiB
JavaScript

describe('ngCordovaMocks', function() {
beforeEach(function() {
module('ngCordovaMocks');
});
describe('cordovaVibration', function () {
var $cordovaVibration = null;
var $timeout = null;
var $rootScope = null;
beforeEach(inject(function (_$timeout_, _$rootScope_, _$cordovaVibration_) {
$cordovaVibration = _$cordovaVibration_;
$timeout = _$timeout_;
$rootScope = _$rootScope_;
}));
it('should vibrate for 500 milliseconds', function() {
expect($cordovaVibration.isVibrating).toBe(false);
$cordovaVibration.vibrate(500);
$timeout.flush();
$rootScope.$digest();
expect($cordovaVibration.isVibrating).toBe(false);
});
it('should be vibrating at 250 milliseconds', function() {
expect($cordovaVibration.isVibrating).toBe(false);
$cordovaVibration.vibrate(500);
$timeout.flush(400);
$rootScope.$digest();
expect($cordovaVibration.isVibrating).toBe(true);
});
it('should cancel vibration half way through', function() {
expect($cordovaVibration.isVibrating).toBe(false);
$cordovaVibration.vibrate(1000); // Vibrate for 1 second
$timeout.flush(500); // Fast-forward in time 500 milliseconds
$rootScope.$digest();
expect($cordovaVibration.isVibrating).toBe(true);
$cordovaVibration.cancelVibration(); // Stop the vibration
expect($cordovaVibration.isVibrating).toBe(false);
});
});
})