Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / chain-able-traverse   js

Repository URL to install this package:

Version: 6.0.1 

/ __tests__ / superDeep.ts

import { traverse, deepEqual } from '../src'
// var deepEqual = require('./lib/deep_equal')

test('super_deep', () => {
  // var util = require('util')
  const a0 = make()
  const a1 = make()
  expect(deepEqual(a0, a1)).toBeTruthy()

  a0.c.d.moo = true
  expect(!deepEqual(a0, a1)).toBeTruthy()

  a1.c.d.moo = true
  expect(deepEqual(a0, a1)).toBeTruthy()
})

function make() {
  const a = { self: 'a' }
  const b = { self: 'b' }
  const c = { self: 'c' }
  const d = { self: 'd' }
  const e = { self: 'e' }

  a.a = a
  a.b = b
  a.c = c

  b.a = a
  b.b = b
  b.c = c

  c.a = a
  c.b = b
  c.c = c
  c.d = d

  d.a = a
  d.b = b
  d.c = c
  d.d = d
  d.e = e

  e.a = a
  e.b = b
  e.c = c
  e.d = d
  e.e = e

  return a
}