2  * Copyright 2010-2013 Ben Birch
 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
 
   5  * you may not use this software except in compliance with the License.
 
   6  * You may obtain a copy of the License at
 
   8  *   http://www.apache.org/licenses/LICENSE-2.0
 
  10  * Unless required by applicable law or agreed to in writing, software
 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13  * See the License for the specific language governing permissions and
 
  14  * limitations under the License.
 
  16 describe("app.services.Preferences", function(){
 
  18 var Preferences = window.app.services.Preferences;
 
  22         beforeEach( function() {
 
  23                 spyOn(window.localStorage, "getItem").and.returnValue( '{"foo":true}' );
 
  24                 spyOn(window.localStorage, "setItem");
 
  25                 prefs = Preferences.instance();
 
  28         it("should return a preference from localStorage", function() {
 
  29                 expect( prefs.get("foo") ).toEqual( {foo:true} );
 
  32         it("should set a preference in localStorage", function() {
 
  33                 prefs.set("foo", { foo: false } );
 
  34                 expect( window.localStorage.setItem ).toHaveBeenCalledWith('foo', '{"foo":false}');