All files / integration runPlugin.js

100% Statements 30/30
75% Branches 3/4
100% Functions 3/3
100% Lines 30/30

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 311x 1x 1x 1x 1x 1x 1x 1x 1x 1x 5x 5x 1x 5x 5x 1x 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x  
'use strict';
 
const babel = require('@babel/core');
const plugin = require('..');
 
/** @type {Set<string>} */
const transformed = new Set();
 
expect.addSnapshotSerializer({
  test(value) {
    return transformed.has(value);
  },
  serialize(value) {
    return value.trim();
  },
});
 
/**
 * @param {string} input
 * @param {unknown[]} modules
 * @returns {string}
 */
module.exports = function runPlugin(input, modules) {
  const result = babel.transformSync(input, {
    plugins: [[plugin, { modules }]],
  });
  if (!result?.code) return '';
  transformed.add(result.code);
  return result.code;
};