hunk.code_window: var Rx = require('../../dist/cjs/Rx');
   var Observable = Rx.Observable;
   describe('Observable.prototype.delay()', function () {
     it('should delay by 100ms', function (done) {
       var time = Date.now();
       Observable
         .of(42)
         .delay(100)
         .subscribe(function (x) {
           expect(Date.now() - time >= 100).toBe(true);
         }, null, function() {
           expect(Date.now() - time >= 100).toBe(true);
           done();
         });
     });
   });
  
hunk.labels: keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace keep keep
hunk.after_edit:   it('should delay by specified timeframe', function () {
       var source = hot('--a--|');
       var expected =   '-----a--|';
       expectObservable(source.delay(30, rxTestScheduler)).toBe(expected);
  
hunk.file_path: spec/operators/delay-spec.js
hunk.type: replace
file: export default function bindCallback (func: Function, thisArg, argCount) : Function {
    if (typeof thisArg === 'undefined') { return func; }
    switch(argCount) {
      case 0:
        return function() {
          return func.call(thisArg)
        };
      case 1:
        return function(arg) {
          return func.call(thisArg, arg);
        }
      case 2:
        return function(value, index) {
          return func.call(thisArg, value, index);
        };
      case 3:
        return function(value, index, collection) {
          return func.call(thisArg, value, index, collection);
        };
    }
  
    return function() {
      return func.apply(thisArg, arguments);
    };
  };
  