@@ -213,3 +213,87 @@ test.serial(
213213 t . is ( typeof nsStorage [ "setItem" ] , "function" ) ;
214214 }
215215) ;
216+
217+ test . serial ( "NamespacedStorage - Object.keys" , ( t ) => {
218+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
219+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
220+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
221+
222+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
223+
224+ t . deepEqual ( Object . keys ( nsStorage ) , [ "user-id" , "preferred-theme" ] ) ;
225+ } ) ;
226+
227+ test . serial ( "NamespacedStorage - Object.values" , ( t ) => {
228+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
229+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
230+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
231+
232+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
233+
234+ t . deepEqual ( Object . values ( nsStorage ) , [ "1234" , "dark" ] ) ;
235+ } ) ;
236+
237+ test . serial ( "NamespacedStorage - Object.entries" , ( t ) => {
238+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
239+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
240+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
241+
242+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
243+
244+ t . deepEqual ( Object . entries ( nsStorage ) , [
245+ [ "user-id" , "1234" ] ,
246+ [ "preferred-theme" , "dark" ] ,
247+ ] ) ;
248+ } ) ;
249+
250+ test . serial ( "NamespacedStorage - Object.getOwnPropertyNames" , ( t ) => {
251+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
252+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
253+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
254+
255+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
256+
257+ t . deepEqual ( Object . getOwnPropertyNames ( nsStorage ) , [
258+ "user-id" ,
259+ "preferred-theme" ,
260+ ] ) ;
261+ } ) ;
262+
263+ test . serial ( "NamespacedStorage - Object.getOwnPropertyDescriptor" , ( t ) => {
264+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
265+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
266+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
267+
268+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
269+
270+ t . deepEqual ( Object . getOwnPropertyDescriptor ( nsStorage , "preferred-theme" ) , {
271+ configurable : true ,
272+ enumerable : true ,
273+ value : "dark" ,
274+ writable : true ,
275+ } ) ;
276+ } ) ;
277+
278+ test . serial ( "NamespacedStorage - Object.getOwnPropertyDescriptors" , ( t ) => {
279+ t . context . storage . setItem ( "foo:user-id" , "1234" ) ;
280+ t . context . storage . setItem ( "banner-closed" , "true" ) ;
281+ t . context . storage . setItem ( "foo:preferred-theme" , "dark" ) ;
282+
283+ const nsStorage = new NamespacedStorage ( t . context . storage , "foo" ) ;
284+
285+ t . deepEqual ( Object . getOwnPropertyDescriptors ( nsStorage ) , {
286+ "user-id" : {
287+ configurable : true ,
288+ enumerable : true ,
289+ value : "1234" ,
290+ writable : true ,
291+ } ,
292+ "preferred-theme" : {
293+ configurable : true ,
294+ enumerable : true ,
295+ value : "dark" ,
296+ writable : true ,
297+ } ,
298+ } ) ;
299+ } ) ;
0 commit comments