stubNodeTransformers.ts 735 B

123456789101112131415161718192021222324
  1. import * as mocha from 'mocha';
  2. import * as sinon from 'sinon';
  3. import { INodeTransformer } from '../../src/interfaces/node-transformers/INodeTransformer';
  4. export function stubNodeTransformers (nodeTransformers: (new (...args: any[]) => INodeTransformer)[]): void {
  5. const transformerStubs: sinon.SinonStub[] = [];
  6. mocha.before(() => {
  7. for (const nodeTransformer of nodeTransformers) {
  8. const stub: sinon.SinonStub = sinon
  9. .stub(nodeTransformer.prototype, 'getVisitor')
  10. .callsFake(() => null);
  11. transformerStubs.push(stub);
  12. }
  13. });
  14. mocha.after(() => {
  15. for (const stub of transformerStubs) {
  16. stub.restore();
  17. }
  18. });
  19. }