Skip to content

Commit

Permalink
add testcases & fix cName/Value to iName/Value
Browse files Browse the repository at this point in the history
  • Loading branch information
stanislav-atr committed Nov 8, 2022
1 parent d6335fd commit 600bf62
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 118 deletions.
144 changes: 72 additions & 72 deletions tests/scriptlets/set-local-storage-item.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ const afterEach = () => {

module(name, { beforeEach, afterEach });

const clearStorageItem = (cName) => {
window.localStorage.removeItem(cName);
const clearStorageItem = (iName) => {
window.localStorage.removeItem(iName);
};

if (isSafariBrowser()) {
Expand All @@ -27,104 +27,104 @@ if (isSafariBrowser()) {
});
} else {
test('Set localStorage key with valid value', (assert) => {
let cName = '__test-item_true';
let cValue = 'true';
runScriptlet(name, [cName, cValue]);
let iName = '__test-item_true';
let iValue = 'true';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'true', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'true', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_false';
cValue = 'false';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_false';
iValue = 'false';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'false', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'false', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_null';
cValue = 'null';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_null';
iValue = 'null';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'null', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'null', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_undefined';
cValue = 'undefined';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_undefined';
iValue = 'undefined';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'undefined', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'undefined', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_emptyObj';
cValue = 'emptyObj';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_emptyObj';
iValue = 'emptyObj';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '{}', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '{}', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_emptyArr';
cValue = 'emptyArr';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_emptyArr';
iValue = 'emptyArr';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '[]', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '[]', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_emptyStr';
cValue = '';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_emptyStr';
iValue = '';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_int';
cValue = '15';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_int';
iValue = '15';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '15', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '15', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_yes';
cValue = 'yes';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_yes';
iValue = 'yes';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'yes', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'yes', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_no';
cValue = 'no';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_no';
iValue = 'no';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'no', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'no', 'localStorage item has been set');
clearStorageItem(iName);
});

test('Set localStorage key with invalid value', (assert) => {
let cName = '__test-item_arrayItem';
let cValue = '["item"]';
runScriptlet(name, [cName, cValue]);
let iName = '__test-item_arrayItem';
let iValue = '["item"]';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, undefined, 'Hit was not fired');
assert.strictEqual(window.localStorage.getItem(cName), null, 'localStorage item has not been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), null, 'localStorage item has not been set');
clearStorageItem(iName);

cName = '__test-item_object';
cValue = '{"key":value"}';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_object';
iValue = '{"key":value"}';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, undefined, 'Hit was not fired');
assert.strictEqual(window.localStorage.getItem(cName), null, 'localStorage item has not been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), null, 'localStorage item has not been set');
clearStorageItem(iName);

cName = '__test-item_str';
cValue = 'test_string';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_str';
iValue = 'test_string';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, undefined, 'Hit was not fired');
assert.strictEqual(window.localStorage.getItem(cName), null, 'localStorage item has not been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), null, 'localStorage item has not been set');
clearStorageItem(iName);

cName = '__test-item_bigInt';
cValue = '999999';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_bigInt';
iValue = '999999';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, undefined, 'Hit was not fired');
assert.strictEqual(window.localStorage.getItem(cName), null, 'localStorage item has not been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), null, 'localStorage item has not been set');
clearStorageItem(iName);
});
}
123 changes: 77 additions & 46 deletions tests/scriptlets/trusted-set-local-storage-item.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ const afterEach = () => {

module(name, { beforeEach, afterEach });

const clearStorageItem = (cName) => {
window.localStorage.removeItem(cName);
const clearStorageItem = (iName) => {
window.localStorage.removeItem(iName);
};

if (isSafariBrowser()) {
Expand All @@ -26,68 +26,99 @@ if (isSafariBrowser()) {
});
} else {
test('Set localStorage key with valid value', (assert) => {
let cName = '__test-item_true';
let cValue = 'true';
runScriptlet(name, [cName, cValue]);
let iName = '__test-item_true';
let iValue = 'true';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'true', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'true', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_false';
cValue = 'false';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_false';
iValue = 'false';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'false', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'false', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_null';
cValue = 'null';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_null';
iValue = 'null';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'null', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'null', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_undefined';
cValue = 'undefined';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_undefined';
iValue = 'undefined';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'undefined', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'undefined', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_emptyStr';
cValue = '';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_emptyStr';
iValue = '';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_int';
cValue = '15';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_int';
iValue = '15';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), '15', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), '15', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_yes';
cValue = 'yes';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_yes';
iValue = 'yes';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'yes', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'yes', 'localStorage item has been set');
clearStorageItem(iName);

cName = '__test-item_no';
cValue = 'no';
runScriptlet(name, [cName, cValue]);
iName = '__test-item_no';
iValue = 'no';
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');
assert.strictEqual(window.localStorage.getItem(cName), 'no', 'localStorage item has been set');
clearStorageItem(cName);
assert.strictEqual(window.localStorage.getItem(iName), 'no', 'localStorage item has been set');
clearStorageItem(iName);
});

// test('Set localStorage item with $now$ keyword value', (assert) => {
test('Set localStorage item with $now$ keyword value', (assert) => {
const iName = '__test-item_now';
const iValue = '$now$';

// });
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');

// Some time will pass between calling scriptlet
// and qunit running assertion
const tolerance = 20;
const itemValue = window.localStorage.getItem(iName);
const currentTime = Date.now();
const timeDiff = currentTime - itemValue;

assert.ok(timeDiff < tolerance, 'Item value has been set to current time');

clearStorageItem(iName);
});

// test('Set localStorage item with $currentDate$ keyword value', (assert) => {
test('Set localStorage item with $currentDate$ keyword value', (assert) => {
const iName = '__test-item_current_date';
const iValue = '$currentDate$';

// });
runScriptlet(name, [iName, iValue]);
assert.strictEqual(window.hit, 'FIRED', 'Hit was fired');

const value = localStorage.getItem(iName);
const dateObj = new Date();
const year = dateObj.getFullYear();
const month = dateObj.getMonth();
const hours = dateObj.getHours();

assert.ok(value.includes(year), 'Years matched');
assert.ok(value.includes(month), 'Month matched');
assert.ok(value.includes(hours), 'Hours matched');

clearStorageItem(iName);
});
}

0 comments on commit 600bf62

Please sign in to comment.