1
0
mirror of synced 2025-12-22 03:16:52 -05:00
Files
docs/tests/unit/data-directory/index.js
Kevin Heis 8a56437c93 Pretty format (#20352)
* Update prettier flow to include JS

* Run prettier

* ...run prettier
2021-07-14 14:35:01 -07:00

43 lines
1.4 KiB
JavaScript

import { fileURLToPath } from 'url'
import path from 'path'
import dataDirectory from '../../../lib/data-directory.js'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const fixturesDir = path.join(__dirname, 'fixtures')
describe('data-directory', () => {
test('works', async () => {
const data = await dataDirectory(fixturesDir)
const expected = {
bar: { another_markup_language: 'yes' },
foo: { meaningOfLife: 42 },
nested: { baz: 'I am markdown!' },
}
expect(data).toEqual(expected)
})
test('option: preprocess function', async () => {
const preprocess = function (content) {
return content.replace('markdown', 'MARKDOWN')
}
const data = await dataDirectory(fixturesDir, { preprocess })
expect(data.nested.baz).toBe('I am MARKDOWN!')
})
test('option: extensions array', async () => {
const extensions = ['.yaml', 'markdown']
const data = await dataDirectory(fixturesDir, { extensions })
expect('bar' in data).toBe(true)
expect('foo' in data).toBe(false) // JSON file should be ignored
})
test('option: ignorePatterns', async () => {
const ignorePatterns = []
// README is ignored by default
expect('README' in (await dataDirectory(fixturesDir))).toBe(false)
// README can be included by setting empty ignorePatterns array
expect('README' in (await dataDirectory(fixturesDir, { ignorePatterns }))).toBe(true)
})
})