UNPKG

forwarder

Version:

Forwarding of messages to different objects (mostly properties of the receiver)

35 lines (27 loc) 909 B
{ expect } = require "chai" { forward } = require "../src/forwarder" describe "forwarder", -> obj = name: "no name so far" fun: -> a: 42 it "forwards", -> forward obj, 'split', to: 'name' expect( obj.split ' ' ).to.deep.equal ['no', 'name', 'so', 'far'] it "forwards with translations", -> forward obj, 'seperate', to: 'name', as: 'split' expect( obj.seperate ' ' ).to.deep.equal ['no', 'name', 'so', 'far'] it "raises an error for unforwarded messages", -> expect( -> obj.undefinedMethod() ).to.throw TypeError it "raises an error if to: is missing", -> expect( -> forward obj, 'whatever', as: 'other' ).to.throw TypeError, "missing keyword arg to:" it "sets arguments", -> forward obj, 'splitByOes', to: 'name', as: 'split', with: ['o'] expect( obj.splitByOes() ).to.deep.equal ['n', ' name s', ' far']