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)
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  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)
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
import { isArray, isDate, isObject } from './'
 | 
			
		||||
import { isArray, isDate, isObject, isSymbol } from './'
 | 
			
		||||
 | 
			
		||||
function looseCompareArrays(a: any[], b: any[]) {
 | 
			
		||||
  if (a.length !== b.length) return false
 | 
			
		||||
@ -16,6 +16,11 @@ export function looseEqual(a: any, b: any): boolean {
 | 
			
		||||
  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) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user