@@ -71,6 +71,54 @@ describe('Module: LocalForageModule', function() {
7171 } , done ) ;
7272 } ) ;
7373
74+ describe ( 'getItem for an array with unknown keys' , function ( ) {
75+ it ( 'should produce null values with all unknown keys' , function ( done ) {
76+ var interval = triggerDigests ( ) ;
77+
78+ $localForage . getItem ( [ 'unknown key 1' , 'unknown key 2' ] ) . then ( function ( values ) {
79+ stopDigests ( interval ) ;
80+ expect ( values ) . toEqual ( [ null , null ] ) ;
81+ done ( )
82+ } , done )
83+ } ) ;
84+
85+ it ( 'should produce null value for an unknown trailing key' , function ( done ) {
86+ var interval = triggerDigests ( ) ;
87+
88+ $localForage . setItem ( 'known key' , 'known value' ) . then ( function ( ) {
89+ $localForage . getItem ( [ 'known key' , 'unknown key' ] ) . then ( function ( values ) {
90+ stopDigests ( interval ) ;
91+ expect ( values ) . toEqual ( [ 'known value' , null ] ) ;
92+ done ( )
93+ } , done )
94+ } ) ;
95+ } ) ;
96+
97+ it ( 'should produce null value for an unknown initial key' , function ( done ) {
98+ var interval = triggerDigests ( ) ;
99+
100+ $localForage . setItem ( 'known key' , 'known value' ) . then ( function ( ) {
101+ $localForage . getItem ( [ 'unknown key' , 'known key' ] ) . then ( function ( values ) {
102+ stopDigests ( interval ) ;
103+ expect ( values ) . toEqual ( [ null , 'known value' ] ) ;
104+ done ( )
105+ } , done )
106+ } ) ;
107+ } ) ;
108+
109+ it ( 'should produce null value for a unknown middle key' , function ( done ) {
110+ var interval = triggerDigests ( ) ;
111+
112+ $localForage . setItem ( [ 'known key' , 'known key 2' ] , [ 'known value' , 'known value 2' ] ) . then ( function ( ) {
113+ $localForage . getItem ( [ 'known key' , 'unknown key' , 'known key 2' ] ) . then ( function ( values ) {
114+ stopDigests ( interval ) ;
115+ expect ( values ) . toEqual ( [ 'known value' , null , 'known value 2' ] ) ;
116+ done ( )
117+ } , done )
118+ } ) ;
119+ } ) ;
120+ } ) ;
121+
74122 describe ( "iterate" , function ( ) {
75123 var interval ;
76124
@@ -173,8 +221,8 @@ describe('Module: LocalForageModule', function() {
173221
174222 $localForage . getItem ( [ 'myName' , 'myPassion' , 'myHobbie' ] ) . then ( function ( data ) {
175223 stopDigests ( interval ) ;
176- expect ( data [ 0 ] ) . toBeUndefined ( ) ;
177- expect ( data [ 1 ] ) . toBeUndefined ( ) ;
224+ expect ( data [ 0 ] ) . toBeNull ( ) ;
225+ expect ( data [ 1 ] ) . toBeNull ( ) ;
178226 expect ( data [ 2 ] ) . toEqual ( 'Open Source' ) ;
179227 done ( ) ;
180228 } , done ) ;
@@ -216,8 +264,8 @@ describe('Module: LocalForageModule', function() {
216264
217265 $localForage . getItem ( [ 'myName' , 'myPassion' , 'myHobbie' ] ) . then ( function ( data ) {
218266 stopDigests ( interval ) ;
219- expect ( data [ 0 ] ) . toBeUndefined ( ) ;
220- expect ( data [ 1 ] ) . toBeUndefined ( ) ;
267+ expect ( data [ 0 ] ) . toBeNull ( ) ;
268+ expect ( data [ 1 ] ) . toBeNull ( ) ;
221269 expect ( data [ 2 ] ) . toEqual ( 'Open Source' ) ;
222270 done ( ) ;
223271 } , done ) ;
0 commit comments