2015-06-10 23:51:14 +03:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var equal = require('../lib/compile/equal')
|
|
|
|
, should = require('chai').should();
|
|
|
|
|
|
|
|
|
|
|
|
describe('equal', function() {
|
|
|
|
it('should compare scalars', function() {
|
|
|
|
equal(1, 1) .should.equal(true);
|
|
|
|
equal(1, 2) .should.equal(false);
|
|
|
|
equal(1, []) .should.equal(false);
|
|
|
|
equal(0, null) .should.equal(false);
|
|
|
|
|
|
|
|
equal('a', 'a') .should.equal(true);
|
|
|
|
equal('a', 'b') .should.equal(false);
|
|
|
|
equal('', null) .should.equal(false);
|
|
|
|
|
|
|
|
equal(null, null) .should.equal(true);
|
|
|
|
equal(true, true) .should.equal(true);
|
|
|
|
equal(true, false) .should.equal(false);
|
|
|
|
equal(true, 1) .should.equal(false);
|
|
|
|
equal(false, 0) .should.equal(false);
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
it('should compare objects', function() {
|
2015-09-07 01:45:10 +03:00
|
|
|
equal({a: 1, b: '2'}, {b: '2', a: 1}) .should.equal(true);
|
|
|
|
equal({a: 1, b: '2'}, {b: '2', a: 1, c: []}) .should.equal(false);
|
|
|
|
equal({a: 1, b: '2', c: 3}, {b: '2', a: 1, d: 3}) .should.equal(false);
|
|
|
|
equal({b: '2', a: 1, d: 3}, {a: 1, b: '2', c: 3}) .should.equal(false);
|
|
|
|
equal({a: 1, b: '2'}, {a: 1, b: '2'}) .should.equal(true);
|
2015-06-10 23:51:14 +03:00
|
|
|
equal({ a: [ { b: 'c' } ] }, { a: [ { b: 'c' } ] }) .should.equal(true);
|
|
|
|
equal({ a: [ { b: 'c' } ] }, { a: [ { b: 'd' } ] }) .should.equal(false);
|
|
|
|
equal({ a: [ { b: 'c' } ] }, { a: [ { c: 'c' } ] }) .should.equal(false);
|
|
|
|
equal({}, []) .should.equal(false);
|
|
|
|
equal({}, {}) .should.equal(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should compare arrays', function() {
|
|
|
|
equal([1, 2, 3], [1, 2, 3]) .should.equal(true);
|
|
|
|
equal([1, 2, 3], [1, 2, 4]) .should.equal(false);
|
2015-08-12 03:00:46 +03:00
|
|
|
equal([1, 2, 3], [1, 2]) .should.equal(false);
|
2015-06-10 23:51:14 +03:00
|
|
|
equal([{a: 'a'}, {b: 'b'}], [{a: 'a'}, {b: 'b'}]) .should.equal(true);
|
|
|
|
equal([{a: 'a'}, {b: 'b'}], [{a: 'a'}, {b: 'c'}]) .should.equal(false);
|
|
|
|
equal({'0': 0, '1': 1, length: 2}, [0, 1]) .should.equal(false);
|
|
|
|
});
|
|
|
|
});
|