hunk.code_window: /* tslint:disable:max-line-length */
   export function publishReplay<T>(bufferSize?: number, windowTime?: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction<T>;
   export function publishReplay<T, R>(bufferSize?: number, windowTime?: number, selector?: OperatorFunction<T, R>, scheduler?: SchedulerLike): OperatorFunction<T, R>;
   export function publishReplay<T>(bufferSize?: number, windowTime?: number, selector?: MonoTypeOperatorFunction<T>, scheduler?: SchedulerLike): MonoTypeOperatorFunction<T>;
   /* tslint:enable:max-line-length */
   export function publishReplay<T, R>(bufferSize?: number,
                                       windowTime?: number,
                                       selectorOrScheduler?: SchedulerLike | OperatorFunction<T, R>,
  
hunk.labels: keep keep keep replace replace keep keep keep keep keep
hunk.after_edit: export function publishReplay<T, O extends ObservableInput<any>>(bufferSize?: number, windowTime?: number, selector?: (shared: Observable<T>) => O, scheduler?: SchedulerLike): OperatorFunction<T, ObservedValueOf<O>>;
  
hunk.file_path: src/internal/operators/publishReplay.ts
hunk.type: replace
file: var builder = require('../specbuilder');
  
  var preset = new builder.Preset();
  var runner = preset.runner;
  
  describe('zip comparison', function () {
    var testUrlIdentifier = 'zip';
  
    preset.iteration.forEach(function (val) {
      it('should be fast in Rx2', function (done) {
        preset.initBrowser(browser, testUrlIdentifier, val);
        var param = preset.sampleParameter('zip Rx2', '#rx-2-zip', val);
        runner.sample(param).then(done, done.fail);
      });
  
      it('should be fast in RxNext', function (done) {
        preset.initBrowser(browser, testUrlIdentifier , val);
        var param = preset.sampleParameter('zip RxNext', '#rx-3-zip', val);
        runner.sample(param).then(done, done.fail);
      });
    });
  });