hunk.code_window: it('should accept windowTime, bufferSize, selector  of MonoTypeOperatorFunction', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, (x) => x)); // $ExpectType Observable<number>
   });
   it('should accept windowTime, bufferSize, selector of OperatorFunction, and scheduler', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, (x) => of('a'), asyncScheduler)); // $ExpectType Observable<string>
   });
  
hunk.labels: keep keep keep add keep keep keep
hunk.after_edit: it('should accept windowTime, bufferSize, selector returning union type, and a scheduler', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, () => Math.random() > 0.5 ? of(123) : of('test'), asyncScheduler)); // $ExpectType Observable<string | number>
   });
  
hunk.file_path: spec-dtslint/operators/publishReplay-spec.ts
hunk.type: add
file: import { Tree } from '@angular-devkit/schematics';
  import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
  import * as path from 'path';
  import { expect } from 'chai';
  
  const collectionPath = path.join(__dirname, '../../../migrations/collection.json');
  
  describe('Migration Schematic', () => {
    let tree: UnitTestTree;
  
    beforeEach(() => {
      tree = Tree.empty() as UnitTestTree;
      tree.create('/package.json', `{}`);
    });
  
    it('adds missing dependencies', () => {
      const runner = new SchematicTestRunner('schematics', collectionPath);
      tree = runner.runSchematic('rxjs-migration-01', {}, tree);
  
      const pkg = JSON.parse(tree.readContent('/package.json'));
      expect(pkg.dependencies['rxjs-compat']).to.equal('^6.0.0-rc.0');
    });
  });
  