| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
var assert = require('assert');var delegate = require('..');describe('.method(name)', function(){  it('should delegate methods', function(){    var obj = {};    obj.request = {      foo: function(bar){        assert(this == obj.request);        return bar;      }    };    delegate(obj, 'request').method('foo');    obj.foo('something').should.equal('something');  })})describe('.getter(name)', function(){  it('should delegate getters', function(){    var obj = {};    obj.request = {      get type() {        return 'text/html';      }    }    delegate(obj, 'request').getter('type');    obj.type.should.equal('text/html');  })})describe('.setter(name)', function(){  it('should delegate setters', function(){    var obj = {};    obj.request = {      get type() {        return this._type.toUpperCase();      },      set type(val) {        this._type = val;      }    }    delegate(obj, 'request').setter('type');    obj.type = 'hey';    obj.request.type.should.equal('HEY');  })})describe('.access(name)', function(){  it('should delegate getters and setters', function(){    var obj = {};    obj.request = {      get type() {        return this._type.toUpperCase();      },      set type(val) {        this._type = val;      }    }    delegate(obj, 'request').access('type');    obj.type = 'hey';    obj.type.should.equal('HEY');  })})describe('.fluent(name)', function () {  it('should delegate in a fluent fashion', function () {    var obj = {      settings: {        env: 'development'      }    };    delegate(obj, 'settings').fluent('env');    obj.env().should.equal('development');    obj.env('production').should.equal(obj);    obj.settings.env.should.equal('production');  })})
 |