File: test.coffee

package info (click to toggle)
node-simple-swizzle 0.2.2-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 100 kB
  • sloc: javascript: 21; makefile: 2
file content (39 lines) | stat: -rw-r--r-- 1,506 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
should = require 'should'
swizzle = require '../'

Error.stackTraceLimit = Infinity

swizMyself = -> swizzle arguments

it 'should swizzle single values', ->
	(swizMyself  1, 2, 3, 4).should.deepEqual [1, 2, 3, 4]
	(swizMyself  1, 2, 3, 4).should.not.deepEqual [1, 2, 4]
	swizMyself().should.deepEqual []

it 'should swizzle a single array', ->
	(swizMyself [1, 2, 3, 4]).should.deepEqual [1, 2, 3, 4]

it 'should swizzle interleaved values/arrays', ->
	(swizMyself 1, 2, [3, 4]).should.deepEqual [1, 2, 3, 4]
	(swizMyself [1, 2], [3, 4]).should.deepEqual [1, 2, 3, 4]
	(swizMyself [1, 2, 3], 4).should.deepEqual [1, 2, 3, 4]
	(swizMyself [1], [2], [3], [4]).should.deepEqual [1, 2, 3, 4]

it 'should swizzle pseudo-arrays', ->
	(swizMyself 1, 2, {length: 2, 0: 3, 1: 4}).should.deepEqual [1, 2, 3, 4]
	(swizMyself {length: 1, 0: 1}, 2, 3, {length: 1, 0: 4}).should.deepEqual [1, 2, 3, 4]

it 'should correctly swizzle string arguments', ->
	(swizMyself 'hello').should.deepEqual ['hello']
	(swizMyself ['hello']).should.deepEqual ['hello']
	(swizMyself ['hello'], 'there').should.deepEqual ['hello', 'there']

it 'should wrap a function for swizzling', ->
	fn = (args) -> args
	swizzleMyFn = swizzle.wrap fn

	(swizzleMyFn 1, 2, 3, 4).should.deepEqual [1, 2, 3, 4]
	(swizzleMyFn 1, 2, [3, 4]).should.deepEqual [1, 2, 3, 4]
	(swizzleMyFn [1, 2], [3, 4]).should.deepEqual [1, 2, 3, 4]
	(swizzleMyFn [1, 2, 3, 4]).should.deepEqual [1, 2, 3, 4]
	(swizzleMyFn [1], [2], [3], [4]).should.deepEqual [1, 2, 3, 4]