Galerie und tage
This commit is contained in:
566
node_modules/whet.extend/test/extend_test.coffee
generated
vendored
Normal file
566
node_modules/whet.extend/test/extend_test.coffee
generated
vendored
Normal file
@@ -0,0 +1,566 @@
|
||||
###
|
||||
Test suite for node AND browser in one file
|
||||
So, we are need some data from global
|
||||
Its so wrong, but its OK for test
|
||||
###
|
||||
# resolve require from [window] or by require()
|
||||
# _ = @_ ? require 'lodash'
|
||||
|
||||
lib_path = GLOBAL?.lib_path || ''
|
||||
|
||||
extend = require "#{lib_path}whet.extend"
|
||||
|
||||
describe 'whet.extend:', ->
|
||||
|
||||
str = int = arr = date = obj = deep = null
|
||||
|
||||
beforeEach ->
|
||||
str = 'me a test'
|
||||
int = 10
|
||||
arr = [ 1, 'what', new Date( 81, 8, 4 )];
|
||||
date = new Date( 81, 4, 13 );
|
||||
|
||||
obj =
|
||||
str : str
|
||||
int : int
|
||||
arr : arr
|
||||
date : date
|
||||
|
||||
deep =
|
||||
ori : obj
|
||||
layer :
|
||||
int : 10
|
||||
str : 'str'
|
||||
date : new Date( 84, 5, 12 )
|
||||
arr : [ 101, 'dude', new Date( 82, 10, 4 )]
|
||||
deep :
|
||||
str : obj.str
|
||||
int : int
|
||||
arr : obj.arr
|
||||
date : new Date( 81, 7, 4 )
|
||||
|
||||
describe 'should merge string with:', ->
|
||||
|
||||
it 'string', ->
|
||||
ori = 'what u gonna say';
|
||||
target = extend ori, str
|
||||
|
||||
ori.should.eql 'what u gonna say'
|
||||
str.should.eql 'me a test'
|
||||
target.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't'
|
||||
|
||||
it 'number', ->
|
||||
ori = 'what u gonna say'
|
||||
target = extend ori, int
|
||||
|
||||
ori.should.eql 'what u gonna say'
|
||||
int.should.eql 10
|
||||
target.should.eql {}
|
||||
|
||||
it 'array', ->
|
||||
ori = 'what u gonna say'
|
||||
target = extend ori, arr
|
||||
|
||||
ori.should.eql 'what u gonna say'
|
||||
arr.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
target.should.eql
|
||||
'0' : 1,
|
||||
'1' : 'what',
|
||||
'2' : new Date( 81, 8, 4 )
|
||||
|
||||
it 'date', ->
|
||||
ori = 'what u gonna say'
|
||||
target = extend ori, date
|
||||
|
||||
ori.should.eql 'what u gonna say'
|
||||
date.should.eql new Date( 81, 4, 13 )
|
||||
target.should.eql new Date( 81, 4, 13 )
|
||||
|
||||
it 'object', ->
|
||||
ori = 'what u gonna say'
|
||||
target = extend ori, obj
|
||||
|
||||
ori.should.eql 'what u gonna say'
|
||||
obj.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
target.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
describe 'should merge number with:', ->
|
||||
|
||||
it 'string', ->
|
||||
ori = 20
|
||||
target = extend ori, str
|
||||
|
||||
ori.should.eql 20
|
||||
str.should.eql 'me a test'
|
||||
target.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't'
|
||||
|
||||
it 'number', ->
|
||||
ori = 20
|
||||
target = extend ori, int
|
||||
|
||||
ori.should.eql 20
|
||||
int.should.eql 10
|
||||
target.should.eql {}
|
||||
|
||||
it 'array', ->
|
||||
ori = 20
|
||||
target = extend ori, arr
|
||||
|
||||
ori.should.eql 20
|
||||
arr.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
target.should.eql
|
||||
'0' : 1,
|
||||
'1' : 'what',
|
||||
'2' : new Date( 81, 8, 4 )
|
||||
|
||||
it 'date', ->
|
||||
ori = 20
|
||||
target = extend ori, date
|
||||
|
||||
ori.should.eql 20
|
||||
date.should.eql new Date( 81, 4, 13 )
|
||||
target.should.eql new Date( 81, 4, 13 )
|
||||
|
||||
it 'object', ->
|
||||
ori = 20
|
||||
target = extend ori, obj
|
||||
|
||||
ori.should.eql 20
|
||||
obj.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
target.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
describe 'should merge array with:', ->
|
||||
|
||||
it 'string', ->
|
||||
ori = [ 1, 2, 3, 4, 5, 6 ]
|
||||
target = extend ori, str
|
||||
|
||||
ori.should.eql [ 'm', 'e', ' ', 'a', ' ', 't', 'e', 's', 't' ]
|
||||
str.should.eql 'me a test'
|
||||
target.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't'
|
||||
|
||||
it 'number', ->
|
||||
ori = [ 1, 2, 3, 4, 5, 6 ]
|
||||
target = extend ori, int
|
||||
|
||||
ori.should.eql [ 1, 2, 3, 4, 5, 6 ]
|
||||
int.should.eql 10
|
||||
target.should.eql [ 1, 2, 3, 4, 5, 6 ]
|
||||
|
||||
it 'array', ->
|
||||
ori = [ 1, 2, 3, 4, 5, 6 ]
|
||||
target = extend ori, arr
|
||||
|
||||
ori.should.eql [ 1, 'what', new Date( 81, 8, 4 ), 4, 5, 6 ]
|
||||
arr.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
target.should.eql [ 1, 'what', new Date( 81, 8, 4 ), 4, 5, 6 ]
|
||||
|
||||
it 'date', ->
|
||||
ori = [ 1, 2, 3, 4, 5, 6 ]
|
||||
target = extend ori, date
|
||||
|
||||
ori.should.eql [ 1, 2, 3, 4, 5, 6 ]
|
||||
date.should.eql new Date( 81, 4, 13 )
|
||||
target.should.eql [ 1, 2, 3, 4, 5, 6 ]
|
||||
|
||||
it 'object', ->
|
||||
ori = [ 1, 2, 3, 4, 5, 6 ]
|
||||
target = extend ori, obj
|
||||
|
||||
ori.length.should.equal 6
|
||||
ori[ 'str' ].should.eql 'me a test'
|
||||
ori[ 'int' ].should.eql 10
|
||||
ori[ 'arr' ].should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
ori[ 'date' ].should.eql new Date( 81, 4, 13 )
|
||||
obj.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
target.length.should.equal 6
|
||||
target[ 'str' ].should.eql 'me a test'
|
||||
target[ 'int' ].should.eql 10
|
||||
target[ 'arr' ].should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
target[ 'date' ].should.eql new Date( 81, 4, 13 )
|
||||
|
||||
describe 'should merge date with:', ->
|
||||
|
||||
it 'string', ->
|
||||
ori = new Date( 81, 9, 20 )
|
||||
target = extend ori, str
|
||||
|
||||
ori.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't'
|
||||
|
||||
str.should.eql 'me a test'
|
||||
target.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't'
|
||||
|
||||
it 'number', ->
|
||||
ori = new Date( 81, 9, 20 )
|
||||
target = extend ori, int
|
||||
|
||||
ori.should.eql {}
|
||||
int.should.eql 10
|
||||
target.should.eql {}
|
||||
|
||||
it 'array', ->
|
||||
ori = new Date( 81, 9, 20 )
|
||||
target = extend ori, arr
|
||||
|
||||
ori.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
int.should.eql 10
|
||||
target.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
|
||||
it 'date', ->
|
||||
ori = new Date( 81, 9, 20 )
|
||||
target = extend ori, date
|
||||
|
||||
ori.should.eql {}
|
||||
date.should.eql new Date( 81, 4, 13 )
|
||||
target.should.eql {}
|
||||
|
||||
it 'object', ->
|
||||
ori = new Date( 81, 9, 20 )
|
||||
target = extend ori, obj
|
||||
|
||||
ori.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
obj.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
target.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
describe 'should merge object with:', ->
|
||||
|
||||
it 'string', ->
|
||||
ori =
|
||||
str : 'no shit'
|
||||
int : 76
|
||||
arr : [ 1, 2, 3, 4 ]
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend ori, str
|
||||
|
||||
ori.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't',
|
||||
str: 'no shit',
|
||||
int: 76,
|
||||
arr: [ 1, 2, 3, 4 ],
|
||||
date: new Date( 81, 7, 26 )
|
||||
|
||||
str.should.eql 'me a test'
|
||||
target.should.eql
|
||||
'0' : 'm',
|
||||
'1' : 'e',
|
||||
'2' : ' ',
|
||||
'3' : 'a',
|
||||
'4' : ' ',
|
||||
'5' : 't',
|
||||
'6' : 'e',
|
||||
'7' : 's',
|
||||
'8' : 't',
|
||||
str: 'no shit',
|
||||
int: 76,
|
||||
arr: [ 1, 2, 3, 4 ],
|
||||
date: new Date( 81, 7, 26 )
|
||||
|
||||
it 'number', ->
|
||||
ori =
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend ori, int
|
||||
|
||||
ori.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
int.should.eql 10
|
||||
target.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
it 'array', ->
|
||||
ori =
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend ori, arr
|
||||
|
||||
ori.should.eql
|
||||
'0' : 1,
|
||||
'1' : 'what',
|
||||
'2' : new Date( 81, 8, 4 ),
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
arr.should.eql [ 1, 'what', new Date( 81, 8, 4 )]
|
||||
target.should.eql
|
||||
'0' : 1,
|
||||
'1' : 'what',
|
||||
'2' : new Date( 81, 8, 4 ),
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
it 'date', ->
|
||||
ori =
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend ori, date
|
||||
|
||||
ori.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
date.should.eql new Date( 81, 4, 13 )
|
||||
target.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
it 'object', ->
|
||||
ori =
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend ori, obj
|
||||
|
||||
ori.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
obj.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
target.should.eql
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
|
||||
describe 'should make deep clone: ', ->
|
||||
|
||||
it 'object with object', ->
|
||||
ori =
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 )
|
||||
|
||||
target = extend true, ori, deep
|
||||
|
||||
ori.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 ),
|
||||
ori :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
layer :
|
||||
int : 10,
|
||||
str : 'str',
|
||||
date : new Date( 84, 5, 12 ),
|
||||
arr : [ 101, 'dude', new Date( 82, 10, 4 )],
|
||||
deep :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 7, 4 )
|
||||
|
||||
deep.should.eql
|
||||
ori :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
layer :
|
||||
int : 10,
|
||||
str : 'str',
|
||||
date : new Date( 84, 5, 12 ),
|
||||
arr : [ 101, 'dude', new Date( 82, 10, 4 )],
|
||||
deep :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 7, 4 )
|
||||
|
||||
target.should.eql
|
||||
str : 'no shit',
|
||||
int : 76,
|
||||
arr : [ 1, 2, 3, 4 ],
|
||||
date : new Date( 81, 7, 26 ),
|
||||
ori :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
layer :
|
||||
int : 10,
|
||||
str : 'str',
|
||||
date : new Date( 84, 5, 12 ),
|
||||
arr : [ 101, 'dude', new Date( 82, 10, 4 )],
|
||||
deep :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 7, 4 )
|
||||
|
||||
target.layer.deep = 339;
|
||||
deep.should.eql
|
||||
ori :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 4, 13 )
|
||||
layer :
|
||||
int : 10,
|
||||
str : 'str',
|
||||
date : new Date( 84, 5, 12 ),
|
||||
arr : [ 101, 'dude', new Date( 82, 10, 4 )],
|
||||
deep :
|
||||
str : 'me a test',
|
||||
int : 10,
|
||||
arr : [ 1, 'what', new Date( 81, 8, 4 )],
|
||||
date : new Date( 81, 7, 4 )
|
||||
|
||||
###
|
||||
NEVER USE EXTEND WITH THE ABOVE SITUATION
|
||||
###
|
||||
|
||||
describe 'must pass additional test: ', ->
|
||||
|
||||
it 'should merge objects with \'null\' and \'undefined\'', ->
|
||||
ori =
|
||||
a : 10
|
||||
b : null
|
||||
c : 'test data'
|
||||
d : undefined
|
||||
|
||||
additional =
|
||||
x : 'googol'
|
||||
y : 8939843
|
||||
z : null
|
||||
az : undefined
|
||||
|
||||
target = extend ori, additional
|
||||
target.should.to.be.eql
|
||||
a : 10
|
||||
b : null
|
||||
c : 'test data'
|
||||
d : undefined
|
||||
x : 'googol'
|
||||
y : 8939843
|
||||
z : null
|
||||
az : undefined
|
||||
|
||||
|
||||
Reference in New Issue
Block a user