expect(looseEqual(date1, date4)).toBe(false)
})
+ test('compares symbols correctly', () => {
+ const symbol1 = Symbol('a')
+ const symbol2 = Symbol('a')
+ const symbol3 = Symbol('b')
+ const notSymbol = 0
+
+ expect(looseEqual(symbol1, symbol1)).toBe(true)
+ expect(looseEqual(symbol1, symbol2)).toBe(false)
+ expect(looseEqual(symbol1, symbol3)).toBe(false)
+ expect(looseEqual(symbol1, notSymbol)).toBe(false)
+ })
+
test('compares files correctly', () => {
const date1 = new Date(2019, 1, 2, 3, 4, 5, 6)
const date2 = new Date(2019, 1, 2, 3, 4, 5, 7)
-import { isArray, isDate, isObject } from './'
+import { isArray, isDate, isObject, isSymbol } from './'
function looseCompareArrays(a: any[], b: any[]) {
if (a.length !== b.length) return false
if (aValidType || bValidType) {
return aValidType && bValidType ? a.getTime() === b.getTime() : false
}
+ aValidType = isSymbol(a)
+ bValidType = isSymbol(b)
+ if (aValidType || bValidType) {
+ return a === b
+ }
aValidType = isArray(a)
bValidType = isArray(b)
if (aValidType || bValidType) {