Test migration to jest by hand

Apparently using regular expressions is way easier.
This commit is contained in:
Angelos Chalaris
2018-06-18 15:15:56 +03:00
parent 5df7098fac
commit a78f5db260
894 changed files with 5917 additions and 3607 deletions

11
test/equals/equals.js Normal file
View File

@ -0,0 +1,11 @@
const equals = (a, b) => {
if (a === b) return true;
if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime();
if (!a || !b || (typeof a != 'object' && typeof b !== 'object')) return a === b;
if (a === null || a === undefined || b === null || b === undefined) return false;
if (a.prototype !== b.prototype) return false;
let keys = Object.keys(a);
if (keys.length !== Object.keys(b).length) return false;
return keys.every(k => equals(a[k], b[k]));
};
module.exports = equals;

View File

@ -0,0 +1,22 @@
const expect = require('expect');
const equals = require('./equals.js');
test('equals is a Function', () => {
expect(equals).toBeInstanceOf(Function);
});
t.true(equals({ a: [2, {e: 3}], b: [4], c: 'foo' }, { a: [2, {e: 3}], b: [4], c: 'foo' }), "{ a: [2, {e: 3}], b: [4], c: 'foo' } is equal to { a: [2, {e: 3}], b: [4], c: 'foo' }");
test('[1,2,3] is equal to [1,2,3]', () => {
expect(equals([1, 2, 3], [1, 2, 3])).toBeTruthy();
});
test('{ a: [2, 3], b: [4] } is not equal to { a: [2, 3], b: [6] }', () => {
expect(equals({ a: [2, 3], b: [4] }, { a: [2, 3], b: [6] })).toBeFalsy();
});
test('[1,2,3] is not equal to [1,2,4]', () => {
expect(equals([1, 2, 3], [1, 2, 4])).toBeFalsy();
});
test('[1, 2, 3] should be equal to { 0: 1, 1: 2, 2: 3 }) - type is different, but their enumerable properties match.', () => {
expect(equals([1, 2, 3], { 0: 1, 1: 2, 2: 3 })).toBeTruthy();
});