chai-shallow-deep-equal
TypeScript icon, indicating that this package has built-in type declarations

1.4.6 • Public • Published

chai-shallow-deep-equal

Will shallowly perform a deep equal assertion. In other terms is consist of checking that an object, or objects graph, is contained within another one (see examples bellow).

NPM version Build Status

Usage

Browser

<script src="chai.js"></script>
<script src="chai-shallow-deep-equal.js"></script>

Node

var chai = require('chai');
chai.use(require('chai-shallow-deep-equal'));

Assertions

ShallowDeepEqual is available for all chai assertion styles:

var a = {name: 'Michel', language: 'javascript'};
var b = {name: 'Michel'};
 
a.should.shallowDeepEqual(b);
expect(a).to.shallowDeepEqual(b);
assert.shallowDeepEqual(a, b);

Example

assert.shallowDeepEqual({name: 'Michel', language: 'javascript'}, {name: 'Michel'}); // true
 
assert.shallowDeepEqual({
  name: 'Michel',
  language: 'javascript',
  tags: [
    'developer',
    'gamer'
  ]},
  {
  name: 'Michel',
  tags: [
    'developer'
  ]}); // true
 
assert.shallowDeepEqual([
    {brand: 'apple', color: 'red'},
    {brand: 'samsung', color: 'blue'},
  ],
  {
  length: 2,
  0: {color: 'red'},
  1: {brand: 'samsung'},
  }); // true
 
assert.shallowDeepEqual({
  name: 'Michel',
  age: undefined
  },
  {
  name: 'Michel',
  age: 37
  }); // false (age should not be defined)

Package Sidebar

Install

npm i chai-shallow-deep-equal

Weekly Downloads

49,448

Version

1.4.6

License

none

Last publish

Collaborators

  • michelsalib