|  | ["localStorage", "sessionStorage"].forEach(function(name) { | 
|  | test(function() { | 
|  | var storage = window[name]; | 
|  | storage.clear(); | 
|  | storage["name"] = "user1"; | 
|  | storage["age"] = "42"; | 
|  |  | 
|  | test(function() { | 
|  | assert_equals(storage[-1], undefined); | 
|  | assert_equals(storage[0], undefined); | 
|  | assert_equals(storage[1], undefined); | 
|  | assert_equals(storage[2], undefined); | 
|  | }, "Getting number properties on " + name); | 
|  |  | 
|  | test(function() { | 
|  | assert_equals(storage["-1"], undefined); | 
|  | assert_equals(storage["0"], undefined); | 
|  | assert_equals(storage["1"], undefined); | 
|  | assert_equals(storage["2"], undefined); | 
|  | }, "Getting number-valued string properties on " + name); | 
|  |  | 
|  | test(function() { | 
|  | storage.setItem(1, "number"); | 
|  | assert_equals(storage[1], "number"); | 
|  | assert_equals(storage["1"], "number"); | 
|  | }, "Getting existing number-valued properties on " + name); | 
|  | }, "Indexed getter on " + name); | 
|  | }); |