You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2 KiB
JavaScript

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/})
})
})
})