function respondTo (method, msg) {
    if (msg) flag(this, 'message', msg);
    var obj = flag(this, 'object')
      , itself = flag(this, 'itself')
      , context = ('function' === _.type(obj) && !itself)
        ? obj.prototype[method]
        : obj[method];

    this.assert(
        'function' === typeof context
      , 'expected #{this} to respond to ' + _.inspect(method)
      , 'expected #{this} to not respond to ' + _.inspect(method)
    );
  }
### .respondTo(method)

Asserts that the object or class target will respond to a method.

    Klass.prototype.bar = function(){};
    expect(Klass).to.respondTo('bar');
    expect(obj).to.respondTo('bar');

To check if a constructor will respond to a static function,
set the `itself` flag.

    Klass.baz = function(){};
    expect(Klass).itself.to.respondTo('baz');

@name respondTo
@alias respondsTo
@param {String} method
@param {String} message _optional_
@namespace BDD
@api public