UNPKG

babel-plugin-wind

Version:

A plugin of babel to cherry-pick wind modules

50 lines (43 loc) 1.29 kB
const _ = require('lodash') const { transformFileSync } = require('@babel/core') const transformRuntime = require('@babel/plugin-transform-runtime') const syntaxJsx= require('@babel/plugin-syntax-jsx') const fs = require('fs') const path = require('path') const glob = require('glob') const babelPluginWind = require('../src') const opts = { generatorOpts: { quotes: 'single', }, plugins: [ syntaxJsx, transformRuntime, babelPluginWind ] } const getTestName = (testPath) => path.basename(testPath).split('-').join(' ') const getSubFixtures = (name) => { const testPaths = glob.sync( path.resolve(__dirname, `${name}/*/`) ) return _.map(testPaths, (testPath) => { const testName = getTestName(testPath) const actualPath = path.resolve(testPath, 'actual.js') const expectedPath = path.resolve(testPath, 'expected.js') return { testName, actualPath, expectedPath, } }) } describe('cherry-pick module', () => { _.each(getSubFixtures('fixtures'), ({ testName, actualPath, expectedPath }) => { test(testName, () => { const expected = fs.readFileSync(expectedPath, 'utf8') const actual = transformFileSync(actualPath, opts).code expect(_.trim(expected)).toEqual(_.trim(actual)) }) }) })