diff --git a/Gruntfile.js b/Gruntfile.js index af1aee3..a555bff 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -16,7 +16,7 @@ module.exports = function(grunt) { ], configFile: 'test/karma.conf.js', reporters: ['dots'], - singleRun: false + singleRun: true }, unit: {} }, @@ -29,9 +29,7 @@ module.exports = function(grunt) { }, dev: { src: ['angular-local-storage.js'], - options: { - jshintrc: '.jshintrc', - } + options: {} }, test: { src: ['test/spec/**/*.js'], diff --git a/angular-local-storage.js b/angular-local-storage.js index e131b39..0234829 100644 --- a/angular-local-storage.js +++ b/angular-local-storage.js @@ -215,10 +215,10 @@ angularLocalStorage.provider('localStorageService', function() { // Should be used mostly for development purposes var clearAllFromLocalStorage = function (regularExpression) { - var regularExpression = regularExpression || ""; + regularExpression = regularExpression || ""; //accounting for the '.' in the prefix when creating a regex - var tempPrefix = prefix.slice(0, -1) + "\."; - var testRegex = RegExp(tempPrefix + regularExpression); + var tempPrefix = prefix.slice(0, -1); + var testRegex = new RegExp(tempPrefix + '.' + regularExpression); if (!browserSupportsLocalStorage) { $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); @@ -357,7 +357,7 @@ angularLocalStorage.provider('localStorageService', function() { clearAll: clearAllFromCookies } }; - }] + }]; }); }).call(this); diff --git a/test/karma.conf.js b/test/karma.conf.js index 494acc1..8b367cc 100644 --- a/test/karma.conf.js +++ b/test/karma.conf.js @@ -40,10 +40,10 @@ module.exports = function(config) { logLevel: config.LOG_INFO, // web server port - port: 8080, + port: 8999, // Continuous Integration mode // if true, it capture browsers, run tests and exit - singleRun: false + singleRun: true, }); }; diff --git a/test/spec/test.js b/test/spec/test.js index 2a3af0a..2fb5411 100644 --- a/test/spec/test.js +++ b/test/spec/test.js @@ -1,55 +1,59 @@ -describe('Tests functionality of the localStorage module', function(){ - beforeEach(module('LocalStorageModule', function(localStorageServiceProvider){ - p = localStorageServiceProvider; - })); - var ls, store = []; - beforeEach(inject(function(_localStorageService_){ - ls = _localStorageService_; - spyOn(ls, 'get').andCallFake(function(key){ - if(store[key].charAt(0) === "{" || store[key].charAt(0) === "["){ - return angular.fromJson(store[key]); - }else{ - return store[key]; - } - }); - - spyOn(ls, 'set').andCallFake(function(key, val){ - if(angular.isObject(val) || angular.isArray(val)){ - val = angular.toJson(val); - } - if(angular.isNumber(val)){ - val = val.toString(); - } - return store[key] = val; - }); - - spyOn(ls, 'clearAll').andCallFake(function(){ - store = {}; - return store; - }); - })); - - it("Should add a value to my local storage", function(){ - var n = 234; - ls.set('test', n); - //Since localStorage makes the value a string, we look for the '234' and not 234 - expect(ls.get('test')).toBe('234'); - - var obj = { key: 'val' }; - ls.set('object', obj); - var res = ls.get('object'); - expect(res.key).toBe('val'); +'use strict'; +describe('Tests functionality of the localStorage module', function() { + var ls, p, store = []; + + beforeEach(module('LocalStorageModule', function(localStorageServiceProvider) { + p = localStorageServiceProvider; + })); + + beforeEach(inject(function(_localStorageService_) { + ls = _localStorageService_; + spyOn(ls, 'get').andCallFake(function(key) { + if (store[key].charAt(0) === '{' || store[key].charAt(0) === '[') { + return angular.fromJson(store[key]); + } else { + return store[key]; + } }); - it('Should allow me to set a prefix', function(){ - p.setPrefix("myPref"); - expect(p.prefix).toBe("myPref"); + spyOn(ls, 'set').andCallFake(function(key, val) { + if (angular.isObject(val) || angular.isArray(val)) { + val = angular.toJson(val); + } + if (angular.isNumber(val)){ + val = val.toString(); + } + store[key] = val; + return store[key]; }); - it('Should allow me to set the cookie values', function(){ - p.setStorageCookie(60, '/path'); - expect(p.cookie.expiry).toBe(60); - expect(p.cookie.path).toBe('/path'); + spyOn(ls, 'clearAll').andCallFake(function() { + store = {}; + return store; }); + })); + + it('Should add a value to my local storage', function() { + var n = 234; + ls.set('test', n); + //Since localStorage makes the value a string, we look for the '234' and not 234 + expect(ls.get('test')).toBe('234'); + + var obj = { key: 'val' }; + ls.set('object', obj); + var res = ls.get('object'); + expect(res.key).toBe('val'); + }); + + it('Should allow me to set a prefix', function() { + p.setPrefix('myPref'); + expect(p.prefix).toBe('myPref'); + }); + + it('Should allow me to set the cookie values', function() { + p.setStorageCookie(60, '/path'); + expect(p.cookie.expiry).toBe(60); + expect(p.cookie.path).toBe('/path'); + }); }); \ No newline at end of file