phane-tech-array-utils Unit Test Reports

Started: 2026-01-04 13:48:45
Suites (1)
1 passed
0 failed
0 pending
Tests (390)
390 passed
0 failed
0 pending
/home/runner/work/phane-tech-array-utils/phane-tech-array-utils/tests/arrayUtils.test.js
1.102s
getArrayLength
normal array of numbers
passed
0.002s
getArrayLength
empty array
passed
0.001s
getArrayLength
array of strings
passed
0.001s
getArrayLength
array of booleans
passed
getArrayLength
array of objects
passed
getArrayLength
nested arrays
passed
0.001s
getArrayLength
array with undefined and null
passed
getArrayLength
array with mixed types
passed
getArrayLength
array with a single element
passed
getArrayLength
array with large number of elements
passed
0.001s
getArrayLength
number input
passed
0.001s
getArrayLength
string input
passed
getArrayLength
boolean input
passed
0.001s
getArrayLength
object input
passed
getArrayLength
null input
passed
getArrayLength
undefined input
passed
getArrayLength
function input
passed
getArrayLength
symbol input
passed
0.001s
getArrayLength
bigint input
passed
getArrayLength
array-like object (should fail)
passed
getArrayLength
array with empty slots
passed
getArrayLength
array with holes and values
passed
getArrayLength
arguments object (should fail)
passed
0.001s
addItemToAnArray
add number to array
passed
0.002s
addItemToAnArray
add string to array
passed
0.001s
addItemToAnArray
add object to array
passed
addItemToAnArray
add boolean to array
passed
0.001s
addItemToAnArray
add array to array
passed
addItemToAnArray
add null to array
passed
0.001s
addItemToAnArray
add undefined to array
passed
addItemToAnArray
add number 0
passed
0.001s
addItemToAnArray
add empty string
passed
addItemToAnArray
first argument not array (string)
passed
addItemToAnArray
first argument not array (number)
passed
addItemToAnArray
first argument not array (boolean)
passed
addItemToAnArray
first argument not array (null)
passed
addItemToAnArray
first argument not array (undefined)
passed
addItemToAnArray
first argument not array (object)
passed
addItemToAnArray
first argument not array (function)
passed
addItemToAnArray
add to empty array
passed
addItemToAnArray
add to array with one element
passed
0.001s
addItemToAnArray
add object with nested structure
passed
0.001s
addItemToAnArray
add string with spaces
passed
addItemToAnArray
add NaN
passed
0.001s
addItemToAnArray
add Infinity
passed
addItemToAnArray
add multiple times consecutively
passed
0.001s
addItemToAnArray
add multiple types sequentially
passed
addItemsInFrontToAnArray
add single number to front
passed
0.001s
addItemsInFrontToAnArray
add multiple numbers to front
passed
addItemsInFrontToAnArray
add string to front
passed
addItemsInFrontToAnArray
add multiple strings to front
passed
addItemsInFrontToAnArray
add object to front
passed
0.001s
addItemsInFrontToAnArray
add multiple objects to front
passed
addItemsInFrontToAnArray
add boolean to front
passed
0.001s
addItemsInFrontToAnArray
add array to front
passed
addItemsInFrontToAnArray
add number and string to front
passed
addItemsInFrontToAnArray
add nothing to front (no items)
passed
addItemsInFrontToAnArray
first argument not an array (string)
passed
addItemsInFrontToAnArray
first argument not an array (number)
passed
addItemsInFrontToAnArray
first argument not an array (boolean)
passed
addItemsInFrontToAnArray
first argument not an array (null)
passed
0.001s
addItemsInFrontToAnArray
first argument not an array (undefined)
passed
addItemsInFrontToAnArray
first argument not an array (object)
passed
0.001s
addItemsInFrontToAnArray
first argument not an array (function)
passed
addItemsInFrontToAnArray
add null and undefined to front
passed
addItemsInFrontToAnArray
add empty string to front
passed
0.001s
addItemsInFrontToAnArray
add 0 to front
passed
addItemsInFrontToAnArray
add Infinity and -Infinity to front
passed
addItemsInFrontToAnArray
add NaN to front
passed
addItemsInFrontToAnArray
add mixed types in one call
passed
addOrRemoveItemsByIndex
remove 1 item at index
passed
addOrRemoveItemsByIndex
remove multiple items
passed
0.001s
addOrRemoveItemsByIndex
add 1 item at index
passed
addOrRemoveItemsByIndex
replace 1 item at index
passed
addOrRemoveItemsByIndex
replace multiple items
passed
0.001s
addOrRemoveItemsByIndex
remove 0 items and add multiple
passed
addOrRemoveItemsByIndex
add at end
passed
addOrRemoveItemsByIndex
replace last item
passed
0.001s
addOrRemoveItemsByIndex
remove all items
passed
addOrRemoveItemsByIndex
add to empty array
passed
addOrRemoveItemsByIndex
first argument not array
passed
0.001s
addOrRemoveItemsByIndex
startIndex not number
passed
addOrRemoveItemsByIndex
count not number
passed
addOrRemoveItemsByIndex
remove 0 items at start
passed
addOrRemoveItemsByIndex
remove 0 items and add nothing
passed
addOrRemoveItemsByIndex
remove more items than exist
passed
addOrRemoveItemsByIndex
add multiple types
passed
addOrRemoveItemsByIndex
replace with same value
passed
addOrRemoveItemsByIndex
startIndex equal to array length (add at end)
passed
addOrRemoveItemsByIndex
remove from empty array
passed
0.001s
checkIsAllMatched
all numbers match primitive
passed
checkIsAllMatched
not all numbers match primitive
passed
checkIsAllMatched
all strings match
passed
checkIsAllMatched
object key-value match
passed
checkIsAllMatched
object key-value mismatch
passed
checkIsAllMatched
nested objects match
passed
0.001s
checkIsAllMatched
all booleans match
passed
checkIsAllMatched
mixed primitive types mismatch
passed
checkIsAllMatched
empty array returns true
passed
0.001s
checkIsAllMatched
array with nulls matches null
passed
checkIsAllMatched
callback returns boolean, all true
passed
checkIsAllMatched
callback returns boolean, one false
passed
checkIsAllMatched
callback with index
passed
checkIsAllMatched
callback with mixed data types
passed
checkIsAllMatched
callback returns falsy
passed
checkIsAllMatched
non-array input (string)
passed
0.001s
checkIsAllMatched
non-array input (number)
passed
checkIsAllMatched
non-array input (null)
passed
checkIsAllMatched
non-array input (undefined)
passed
checkIsAllMatched
non-array input (object)
passed
checkIsAllMatched
non-array input (function)
passed
checkIsAllMatched
array with undefined values match undefined
passed
checkIsAllMatched
array with NaN values, primitive NaN (should fail)
passed
checkIsAllMatched
array with Infinity values
passed
checkIsAllMatched
array with mixed object keys, partial match
passed
checkIsMatched
some numbers match primitive
passed
0.001s
checkIsMatched
no numbers match primitive
passed
checkIsMatched
some strings match
passed
checkIsMatched
object key-value match exists
passed
0.001s
checkIsMatched
object key-value match does not exist
passed
checkIsMatched
nested objects match exists
passed
checkIsMatched
some booleans match
passed
checkIsMatched
none booleans match
passed
checkIsMatched
empty array returns false
passed
checkIsMatched
array with nulls match null
passed
checkIsMatched
callback returns true for some elements
passed
0.001s
checkIsMatched
callback returns false for all elements
passed
checkIsMatched
callback with index, some match
passed
checkIsMatched
callback with index, no match
passed
0.001s
checkIsMatched
callback with mixed data types
passed
checkIsMatched
callback returns falsy for all elements
passed
checkIsMatched
non-array input (string)
passed
checkIsMatched
non-array input (number)
passed
checkIsMatched
non-array input (null)
passed
checkIsMatched
non-array input (undefined)
passed
checkIsMatched
non-array input (object)
passed
0.001s
checkIsMatched
non-array input (function)
passed
checkIsMatched
array with undefined values match undefined
passed
checkIsMatched
array with NaN values, primitive NaN (should fail)
passed
checkIsMatched
array with Infinity values
passed
0.001s
checkIsMatched
partial object key match
passed
countItem
sum numbers in array
passed
countItem
sum numbers with initial value
passed
0.001s
countItem
sum negative numbers
passed
countItem
sum floats
passed
countItem
sum numbers with zeros
passed
countItem
sum numbers with Infinity
passed
0.001s
countItem
sum numbers with NaN (NaN treated as number?)
passed
0.001s
countItem
sum array of objects by key
passed
countItem
sum array of objects by missing key
passed
countItem
sum array of objects by key with initial value
passed
countItem
sum array with empty array
passed
countItem
sum array of single number
passed
countItem
sum array of single object with key
passed
countItem
sum array of objects with null values
passed
0.001s
countItem
sum array of objects with undefined values
passed
countItem
sum array with negative numbers and key
passed
countItem
non-array input (string)
passed
0.001s
countItem
non-array input (number)
passed
countItem
non-array input (null)
passed
countItem
non-array input (undefined)
passed
countItem
non-array input (object)
passed
0.001s
countItem
non-array input (function)
passed
countItem
array with zeros only
passed
countItem
array with empty objects and key
passed
0.001s
countItem
array with all null objects and key
passed
countItem
array with all undefined objects and key
passed
filterAnArray
filter numbers equal to condition
passed
0.001s
filterAnArray
filter numbers not matching condition
passed
filterAnArray
filter strings matching condition
passed
filterAnArray
filter booleans
passed
filterAnArray
filter empty array returns empty
passed
filterAnArray
filter objects by key
passed
filterAnArray
filter objects by multiple keys
passed
0.001s
filterAnArray
filter objects with missing key
passed
filterAnArray
filter nested objects
passed
filterAnArray
filter using callback returning boolean
passed
filterAnArray
filter using callback with index
passed
filterAnArray
filter using callback with object
passed
0.001s
filterAnArray
non-array input (string)
passed
filterAnArray
non-array input (number)
passed
0.001s
filterAnArray
non-array input (null)
passed
filterAnArray
non-array input (undefined)
passed
filterAnArray
non-array input (object)
passed
filterAnArray
non-array input (function)
passed
0.001s
filterAnArray
array with undefined values, filter undefined
passed
filterAnArray
array with null values, filter null
passed
0.001s
filterAnArray
array with mixed types, filter number
passed
filterAnArray
array with NaN values, filter NaN (should fail)
passed
0.001s
filterAnArray
array with empty objects and key filter
passed
filterAnArray
array with no matches for object key
passed
0.001s
filterAnArray
array with mixed callback and key ignored
passed
findArrayByItem
find number in array
passed
0.001s
findArrayByItem
find string in array
passed
findArrayByItem
find boolean in array
passed
0.001s
findArrayByItem
find first match when multiple
passed
findArrayByItem
find not existing number returns undefined
passed
0.001s
findArrayByItem
empty array returns undefined
passed
findArrayByItem
find object by key
passed
0.001s
findArrayByItem
find object by multiple keys
passed
findArrayByItem
object not found returns undefined
passed
findArrayByItem
nested objects find
passed
findArrayByItem
find using callback
passed
findArrayByItem
find using callback with index
passed
findArrayByItem
find using callback with object
passed
findArrayByItem
callback no match returns undefined
passed
findArrayByItem
non-array input (string)
passed
findArrayByItem
non-array input (number)
passed
0.001s
findArrayByItem
non-array input (null)
passed
findArrayByItem
non-array input (undefined)
passed
0.001s
findArrayByItem
non-array input (object)
passed
findArrayByItem
non-array input (function)
passed
findArrayByItem
array with undefined values, find undefined
passed
0.001s
findArrayByItem
array with null values, find null
passed
findArrayByItem
array with NaN values, find NaN (should fail)
passed
findArrayByItem
array with mixed objects, find matching key
passed
0.001s
findArrayByItem
array with multiple same objects, returns first match
passed
findIndexArrayItem
find index of number in array
passed
findIndexArrayItem
find index of string in array
passed
0.001s
findIndexArrayItem
find index of boolean in array
passed
findIndexArrayItem
first match returned when multiple matches
passed
findIndexArrayItem
number not found returns -1
passed
findIndexArrayItem
empty array returns -1
passed
findIndexArrayItem
find index of object by key
passed
findIndexArrayItem
find index of object by multiple keys
passed
findIndexArrayItem
object not found returns -1
passed
0.001s
findIndexArrayItem
nested object find index
passed
findIndexArrayItem
find index using callback
passed
findIndexArrayItem
callback no match returns -1
passed
0.001s
findIndexArrayItem
callback with index
passed
findIndexArrayItem
callback with object property
passed
findIndexArrayItem
non-array input (string)
passed
findIndexArrayItem
non-array input (number)
passed
0.001s
findIndexArrayItem
non-array input (null)
passed
findIndexArrayItem
non-array input (undefined)
passed
0.001s
findIndexArrayItem
non-array input (object)
passed
findIndexArrayItem
non-array input (function)
passed
0.001s
findIndexArrayItem
array with undefined values, find undefined
passed
findIndexArrayItem
array with null values, find null
passed
findIndexArrayItem
array with NaN values, find NaN (should fail)
passed
findIndexArrayItem
array with mixed objects, find matching key
passed
findIndexArrayItem
array with multiple same objects, returns first match index
passed
merginMultipleArray
merge two arrays of numbers
passed
merginMultipleArray
merge three arrays of numbers
passed
merginMultipleArray
merge arrays with strings
passed
merginMultipleArray
merge arrays with mixed types
passed
merginMultipleArray
merge empty array with non-empty array
passed
merginMultipleArray
merge multiple empty arrays
passed
merginMultipleArray
merge nested arrays (shallow flatten)
passed
merginMultipleArray
merge arrays with single element
passed
merginMultipleArray
merge arrays with duplicate values
passed
merginMultipleArray
merge arrays with boolean values
passed
merginMultipleArray
one argument is not an array
passed
merginMultipleArray
all arguments not arrays
passed
merginMultipleArray
null as argument
passed
merginMultipleArray
undefined as argument
passed
merginMultipleArray
mixed valid array and object
passed
merginMultipleArray
mixed valid array and function
passed
merginMultipleArray
merge single array only
passed
merginMultipleArray
merge no arguments
passed
merginMultipleArray
merge arrays with undefined values
passed
merginMultipleArray
merge arrays with null values
passed
0.001s
merginMultipleArray
merge arrays containing nested arrays
passed
flatAnArray
flatten one-level nested array
passed
flatAnArray
flatten multiple nested arrays
passed
0.001s
flatAnArray
flatten deeply nested array (shallow flatten)
passed
flatAnArray
flatten already flat array returns same
passed
flatAnArray
flatten empty array returns empty
passed
0.001s
flatAnArray
flatten array with single nested element
passed
flatAnArray
flatten array with multiple empty arrays
passed
flatAnArray
flatten array with null and undefined
passed
flatAnArray
flatten array with booleans
passed
flatAnArray
flatten array with mixed types
passed
flatAnArray
non-array input (string)
passed
flatAnArray
non-array input (number)
passed
0.001s
flatAnArray
non-array input (null)
passed
flatAnArray
non-array input (undefined)
passed
flatAnArray
non-array input (object)
passed
flatAnArray
non-array input (function)
passed
flatAnArray
array with all empty arrays
passed
flatAnArray
array with deeply nested single element
passed
flatAnArray
array with Infinity and NaN values
passed
0.001s
flatAnArray
array with mixed nested objects
passed
getItemByIndex
get first item
passed
getItemByIndex
get last item
passed
0.001s
getItemByIndex
get middle item
passed
getItemByIndex
get string element
passed
getItemByIndex
get boolean element
passed
getItemByIndex
get last element with -1
passed
0.001s
getItemByIndex
get second last element with -2
passed
getItemByIndex
get first element with -3
passed
getItemByIndex
index out of bounds positive
passed
getItemByIndex
index out of bounds negative
passed
getItemByIndex
non-array input (string)
passed
getItemByIndex
non-array input (number)
passed
getItemByIndex
non-array input (null)
passed
0.001s
getItemByIndex
non-array input (undefined)
passed
getItemByIndex
non-array input (object)
passed
getItemByIndex
non-array input (function)
passed
getItemByIndex
empty array returns undefined
passed
0.001s
getItemByIndex
single element array positive index
passed
getItemByIndex
single element array negative index
passed
getItemByIndex
array with undefined value
passed
getItemByIndex
array with null value
passed
0.001s
getItemByIndex
array with mixed types, negative index
passed
mapAnArray
map numbers to double
passed
mapAnArray
map strings to uppercase
passed
0.001s
mapAnArray
map booleans to string
passed
mapAnArray
map objects to key value
passed
mapAnArray
map with index usage
passed
0.001s
mapAnArray
map empty array returns empty
passed
mapAnArray
no callback returns original items
passed
mapAnArray
callback is null returns original items
passed
mapAnArray
callback is undefined returns original items
passed
mapAnArray
non-array input (string)
passed
mapAnArray
non-array input (number)
passed
mapAnArray
non-array input (null)
passed
0.001s
mapAnArray
non-array input (undefined)
passed
mapAnArray
non-array input (object)
passed
mapAnArray
non-array input (function)
passed
mapAnArray
array with undefined values
passed
0.001s
mapAnArray
array with null values
passed
mapAnArray
array with mixed types
passed
mapAnArray
callback returns falsy values
passed
0.001s
mapAnArray
callback returns objects
passed
mapAnArray
array with single element
passed
removeLastItemOfAnArray
remove last number from array
passed
0.001s
removeLastItemOfAnArray
remove last string from array
passed
removeLastItemOfAnArray
remove last boolean from array
passed
removeLastItemOfAnArray
remove last object from array
passed
0.001s
removeLastItemOfAnArray
remove from single element array returns empty array
passed
removeLastItemOfAnArray
remove from empty array returns empty array
passed
removeLastItemOfAnArray
array with mixed types
passed
removeLastItemOfAnArray
array with undefined values
passed
0.001s
removeLastItemOfAnArray
array with null values
passed
removeLastItemOfAnArray
array with NaN values
passed
removeLastItemOfAnArray
non-array input (string)
passed
removeLastItemOfAnArray
non-array input (number)
passed
removeLastItemOfAnArray
non-array input (null)
passed
removeLastItemOfAnArray
non-array input (undefined)
passed
0.001s
removeLastItemOfAnArray
non-array input (object)
passed
removeLastItemOfAnArray
non-array input (function)
passed
removeLastItemOfAnArray
array with single null element
passed
removeLastItemOfAnArray
array with single undefined element
passed
0.001s
removeLastItemOfAnArray
array with nested array as last element
passed
removeLastItemOfAnArray
array with duplicate last elements
passed
removeLastItemOfAnArray
array with Infinity as last element
passed
removeLastItemOfAnArray
array with NaN as last element
passed
removeFirstItemOfAnArray
remove first number from array
passed
removeFirstItemOfAnArray
remove first string from array
passed
removeFirstItemOfAnArray
remove first boolean from array
passed
removeFirstItemOfAnArray
remove first object from array
passed
removeFirstItemOfAnArray
remove from single element array returns empty array
passed
removeFirstItemOfAnArray
remove from empty array returns empty array
passed
0.001s
removeFirstItemOfAnArray
array with mixed types
passed
removeFirstItemOfAnArray
array with undefined values
passed
removeFirstItemOfAnArray
array with null values
passed
removeFirstItemOfAnArray
array with NaN values
passed
removeFirstItemOfAnArray
non-array input (string)
passed
removeFirstItemOfAnArray
non-array input (number)
passed
removeFirstItemOfAnArray
non-array input (null)
passed
0.001s
removeFirstItemOfAnArray
non-array input (undefined)
passed
removeFirstItemOfAnArray
non-array input (object)
passed
removeFirstItemOfAnArray
non-array input (function)
passed
removeFirstItemOfAnArray
array with single null element
passed
0.001s
removeFirstItemOfAnArray
array with single undefined element
passed
removeFirstItemOfAnArray
array with nested array as first element
passed
removeFirstItemOfAnArray
array with duplicate first elements
passed
removeFirstItemOfAnArray
array with Infinity as first element
passed
removeFirstItemOfAnArray
array with NaN as first element
passed
sortAnArray
sort numbers ascending
passed
sortAnArray
sort strings alphabetically
passed
0.001s
sortAnArray
sort strings case-sensitive
passed
sortAnArray
sort array with single element
passed
sortAnArray
sort empty array returns empty
passed
0.001s
sortAnArray
sort array of objects by key
passed
sortAnArray
sort array of objects with string key
passed
sortAnArray
sort array of objects with duplicate keys
passed
0.001s
sortAnArray
sort array of objects with missing key
passed
sortAnArray
non-array input (string)
passed
sortAnArray
non-array input (number)
passed
sortAnArray
non-array input (null)
passed
sortAnArray
non-array input (undefined)
passed
sortAnArray
non-array input (object)
passed
sortAnArray
non-array input (function)
passed
0.001s
sortAnArray
array with null and undefined
passed
sortAnArray
array with NaN and Infinity
passed
sortAnArray
array with duplicate values
passed
sortAnArray
array with all identical values
passed
sortAnArray
array of objects with nested keys
passed