Add basic tests for all non DOM/Window calls
Note that these are very basic tests and just a start to learn vitest. There are no tests for DOM/Window because I do not know how to do those tests the best way with some headless brower testing suit or which to use
This commit is contained in:
@@ -5,8 +5,11 @@ Creator: Clemens Schwaighofer
|
||||
*/
|
||||
|
||||
export {
|
||||
errorCatch, isFunction, executeFunctionByName, isObject, getObjectCount,
|
||||
keyInObject, getKeyByValue,valueInObject, deepCopyFunction
|
||||
errorCatch, isFunction, executeFunctionByName,
|
||||
isObject, getObjectCount,
|
||||
keyInObject, objectKeyExists,
|
||||
getKeyByValue, valueInObject, objectValueExists,
|
||||
deepCopyFunction
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -90,10 +93,13 @@ function isObject(val)
|
||||
/**
|
||||
* get the length of an object (entries)
|
||||
* @param {Object} object object to check
|
||||
* @return {Number} number of entry
|
||||
* @return {Number} number of entry, or -1 if not object
|
||||
*/
|
||||
function getObjectCount(object)
|
||||
{
|
||||
if (!isObject(object)) {
|
||||
return -1;
|
||||
}
|
||||
return Object.keys(object).length;
|
||||
}
|
||||
|
||||
@@ -102,8 +108,20 @@ function getObjectCount(object)
|
||||
* @param {String} key key name
|
||||
* @param {Object} object object to search key in
|
||||
* @return {Boolean} true/false if key exists in object
|
||||
* @deprecated Use objectKeyExists
|
||||
*/
|
||||
function keyInObject(key, object)
|
||||
{
|
||||
return objectKeyExists(object, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the correct order and will superseed keyInObject
|
||||
* @param {Object} object object to search key in
|
||||
* @param {String} key key name
|
||||
* @returns {Boolean} true/false if key exists in object
|
||||
*/
|
||||
function objectKeyExists(object, key)
|
||||
{
|
||||
return Object.prototype.hasOwnProperty.call(object, key) ? true : false;
|
||||
}
|
||||
@@ -124,8 +142,20 @@ function getKeyByValue(object, value)
|
||||
* @param {Object} object object to search value in
|
||||
* @param {any} value any value (String, Number, etc)
|
||||
* @return {Boolean} true on value found, false on not found
|
||||
* @deprecated use objectValueExists
|
||||
*/
|
||||
function valueInObject(object, value)
|
||||
{
|
||||
return objectValueExists(object, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns true if value is found in object with a key
|
||||
* @param {Object} object object to search value in
|
||||
* @param {any} value any value (String, Number, etc)
|
||||
* @return {Boolean} true on value found, false on not found
|
||||
*/
|
||||
function objectValueExists(object, value)
|
||||
{
|
||||
return Object.keys(object).find(key => object[key] === value) ? true : false;
|
||||
}
|
||||
|
||||
@@ -25,9 +25,10 @@ function generateId(len)
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a pseudo random string of 11 characters
|
||||
* creates a pseudo random string of 10 or 11 characters
|
||||
* works on all browsers
|
||||
* after many runs it will create duplicates
|
||||
* NOTE: no idea why this sometimes returns 10 or 11
|
||||
* @return {String} not true random string
|
||||
*/
|
||||
function randomIdF()
|
||||
|
||||
Reference in New Issue
Block a user