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
46 lines
1.2 KiB
JavaScript
9 years ago
|
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/})
|
||
|
})
|
||
|
})
|
||
|
})
|