Files
react-native/Libraries/Utilities/differ/__tests__/matricesDiffer-test.js
T
Samuel Susla d33ead3f16 Fix matricesDiffer ignoring first value of matrix
Summary:
Changelog: [internal]

# Problem

Implementation of `matricesDiffer` was ignoring first element in the matrix, therefore two matrixes that were different were actually evaluated as same and React didn't pass value to native.

# Solution

Take first element in the matrix into account when comparing matrices.

Reviewed By: cpojer

Differential Revision: D20117210

fbshipit-source-id: 84c3b4e580da44bda4fc8bd8669318282ae9aa32
2020-02-27 05:43:02 -08:00

46 lines
1.2 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @emails oncall+react_native
*/
'use strict';
const matricesDiffer = require('../matricesDiffer');
describe('matricesDiffer', function() {
it('diffs matrices with single element', () => {
var x = [1];
var y = [2];
expect(matricesDiffer(x, y)).toBe(true);
x = [1];
y = [1];
expect(matricesDiffer(x, y)).toBe(false);
});
it('diffs matrices with different number of elements', () => {
var x = [1, 1, 1, 1];
var y = [1, 1, 1, 2];
expect(matricesDiffer(x, y)).toBe(true);
});
it('diffs matrices with 16 elements', () => {
var x = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
var y = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
expect(matricesDiffer(x, y)).toBe(false);
x = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
y = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1];
expect(matricesDiffer(x, y)).toBe(true);
x = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
y = [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
expect(matricesDiffer(x, y)).toBe(true);
});
});