var expect = require('expect') var utils = require('../lib/utils') var noop = utils.noop var assign = utils.assign describe('utils', function () { it('→ exists', function () { expect(utils).toExist() }) describe('→ noop', function () { it('→ is a function', function () { expect(noop).toBeA(Function) }) }) describe('→ assign', function () { it('→ adds properties to dest', function () { var dest = {} var src = {foo: 123, bar: 'asdf'} assign(dest, src) expect(dest).toEqual({foo: 123, bar: 'asdf'}) }) it('→ overrides properties to dest', function () { var dest = {foo: 456, bar: 'qwerty', blah: /foo/} var src = {foo: 123, bar: 'asdf'} assign(dest, src) expect(dest).toEqual({foo: 123, bar: 'asdf', blah: /foo/}) }) it('→ does not overrides properties on prototype', function () { function SourceClass (foo) { this.foo = foo } SourceClass.prototype.bar = 'asdf' var dest = {foo: 456, bar: 'qwerty', blah: /foo/} assign(dest, new SourceClass(123)) expect(dest).toEqual({foo: 123, bar: 'qwerty', blah: /foo/}) }) }) })