Skip to content

Commit

Permalink
Merge b54f808 into 92c578c
Browse files Browse the repository at this point in the history
  • Loading branch information
akameco committed Dec 15, 2017
2 parents 92c578c + b54f808 commit b70f939
Showing 1 changed file with 63 additions and 73 deletions.
136 changes: 63 additions & 73 deletions src/__tests__/index.test.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
// @flow
import path from 'path'
import slash from 'slash'
import pluginTester from 'babel-plugin-tester'
import plugin from '../'

const filename = path.resolve(
slash(__dirname),
'..',
'__fixtures__',
'messages.js'
)
const filename = path.resolve(__dirname, '..', '__fixtures__', 'messages.js')

const defaultTest = {
title: 'default',
Expand Down Expand Up @@ -232,77 +226,73 @@ export default defineMessages({
leadingCommentWithDescriptionTest,
]

type PTestOpts = {
title: string,
tests: $ReadOnlyArray<{ title: string, code: string }>,
}

function pTest(opts: PTestOpts) {
cases([
{ title: 'default', tests },
{
title: 'removePrefix = "src"',
tests: [defaultTest],
pluginOptions: { removePrefix: 'src' },
},
{
title: 'removePrefix = "src/" -- with slash',
tests: [defaultTest],
pluginOptions: { removePrefix: 'src/' },
},
{
title: 'filebase = true',
tests: [defaultTest],
pluginOptions: { filebase: true },
},
{
title: 'includeExportName = true',
tests: [defaultTest, multiExportTest],
pluginOptions: { includeExportName: true },
},
{
title: 'includeExportName = all',
tests: [defaultTest, multiExportTest],
pluginOptions: { includeExportName: 'all' },
},
{
title: 'removePrefix = true, includeExportName = true',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: true, includeExportName: true },
},
{
title: 'removePrefix = false',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: false },
},
{
title: 'removePrefix = true, includeExportName = all',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: true, includeExportName: 'all' },
},
{
title: 'extractComments = false',
tests: [defaultTest, leadingCommentTest, leadingCommentWithDescriptionTest],
pluginOptions: { extractComments: false },
},
])

function cases(
testCases: {
title: string,
tests: $ReadOnlyArray<{ title: string, code: string }>,
}[]
) {
const defaultOpts = {
title: '',
plugin,
snapshot: true,
babelOptions: { filename },
tests: [],
}
opts.tests = opts.tests.map(t => {
return { ...t, title: `${opts.title} - ${t.title}` }
})
pluginTester({ ...defaultOpts, ...opts })
for (const testCase of testCases) {
testCase.tests = testCase.tests.map(t => ({
...t,
title: `${testCase.title} - ${t.title}`,
}))
pluginTester({ ...defaultOpts, ...testCase })
}
}

pTest({ title: 'default', tests })

pTest({
title: 'removePrefix = "src"',
tests: [defaultTest],
pluginOptions: { removePrefix: 'src' },
})

pTest({
title: 'removePrefix = "src/" -- with slash',
tests: [defaultTest],
pluginOptions: { removePrefix: 'src/' },
})

pTest({
title: 'filebase = true',
tests: [defaultTest],
pluginOptions: { filebase: true },
})

pTest({
title: 'includeExportName = true',
tests: [defaultTest, multiExportTest],
pluginOptions: { includeExportName: true },
})

pTest({
title: 'includeExportName = all',
tests: [defaultTest, multiExportTest],
pluginOptions: { includeExportName: 'all' },
})

pTest({
title: 'removePrefix = true, includeExportName = true',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: true, includeExportName: true },
})

pTest({
title: 'removePrefix = false',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: false },
})

pTest({
title: 'removePrefix = true, includeExportName = all',
tests: [defaultTest, multiExportTest],
pluginOptions: { removePrefix: true, includeExportName: 'all' },
})

pTest({
title: 'extractComments = false',
tests: [defaultTest, leadingCommentTest, leadingCommentWithDescriptionTest],
pluginOptions: { extractComments: false },
})

0 comments on commit b70f939

Please sign in to comment.