fix(shared): missed Symbol judge in looseEqual (#3553)
This commit is contained in:
parent
c355c4b784
commit
0aeb4bc9bf
@ -49,6 +49,18 @@ describe('utils/looseEqual', () => {
|
|||||||
expect(looseEqual(date1, date4)).toBe(false)
|
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', () => {
|
test('compares files correctly', () => {
|
||||||
const date1 = new Date(2019, 1, 2, 3, 4, 5, 6)
|
const date1 = new Date(2019, 1, 2, 3, 4, 5, 6)
|
||||||
const date2 = new Date(2019, 1, 2, 3, 4, 5, 7)
|
const date2 = new Date(2019, 1, 2, 3, 4, 5, 7)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { isArray, isDate, isObject } from './'
|
import { isArray, isDate, isObject, isSymbol } from './'
|
||||||
|
|
||||||
function looseCompareArrays(a: any[], b: any[]) {
|
function looseCompareArrays(a: any[], b: any[]) {
|
||||||
if (a.length !== b.length) return false
|
if (a.length !== b.length) return false
|
||||||
@ -16,6 +16,11 @@ export function looseEqual(a: any, b: any): boolean {
|
|||||||
if (aValidType || bValidType) {
|
if (aValidType || bValidType) {
|
||||||
return aValidType && bValidType ? a.getTime() === b.getTime() : false
|
return aValidType && bValidType ? a.getTime() === b.getTime() : false
|
||||||
}
|
}
|
||||||
|
aValidType = isSymbol(a)
|
||||||
|
bValidType = isSymbol(b)
|
||||||
|
if (aValidType || bValidType) {
|
||||||
|
return a === b
|
||||||
|
}
|
||||||
aValidType = isArray(a)
|
aValidType = isArray(a)
|
||||||
bValidType = isArray(b)
|
bValidType = isArray(b)
|
||||||
if (aValidType || bValidType) {
|
if (aValidType || bValidType) {
|
||||||
|
Loading…
Reference in New Issue
Block a user