35 lines
1.4 KiB
HTML
35 lines
1.4 KiB
HTML
<head>
|
|
<script src="../../../resources/testharness.js"></script>
|
|
<script src="../../../resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
localStorage.clear();
|
|
|
|
test(() => {
|
|
assert_array_equals(Object.getOwnPropertyNames(localStorage), []);
|
|
}, "Object.getOwnPropertyNames(localStorage) on an empty local storage should return an empty array.");
|
|
|
|
test(() => {
|
|
Object.defineProperty(localStorage, '1', {value: 'present'});
|
|
assert_equals(localStorage.getItem('1'), 'present');
|
|
assert_array_equals(Object.getOwnPropertyNames(localStorage), ['1']);
|
|
}, "Object.defineProperty can be used to add items to localStorage.");
|
|
|
|
test(() => {
|
|
assert_equals(delete localStorage[1], true);
|
|
assert_array_equals(Object.getOwnPropertyNames(localStorage), []);
|
|
}, "Operator delete can be used to remove items from localStorage.");
|
|
|
|
test(() => {
|
|
Object.defineProperty(localStorage, '2', {value: 'present', configurable: false});
|
|
assert_equals(localStorage.getItem('2'), 'present');
|
|
assert_array_equals(Object.getOwnPropertyNames(localStorage), ['2']);
|
|
|
|
assert_equals(delete localStorage[2], true);
|
|
assert_array_equals(Object.getOwnPropertyNames(localStorage), []);
|
|
}, "The configurable modifier does effect the result when used in adding properties to localStorage with Object.defineProperty.");
|
|
|
|
</script>
|
|
</body>
|