Skip to content

Commit 9e4f54a

Browse files
committed
Merging in changes from upstream
2 parents 8fa379a + 99d087a commit 9e4f54a

19 files changed

+537
-396
lines changed

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
/lib
22
/docs
33
/__tests__/fixtures/cli-utils.js
4-
defaultConfig.stub.js
4+
/stubs/*

__tests__/applyAtRule.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import substituteClassApplyAtRules from '../src/lib/substituteClassApplyAtRules'
33
import processPlugins from '../src/util/processPlugins'
44
import resolveConfig from '../src/util/resolveConfig'
55
import corePlugins from '../src/corePlugins'
6-
import defaultConfig from '../defaultConfig.stub.js'
6+
import defaultConfig from '../stubs/defaultConfig.stub.js'
77

88
const resolvedDefaultConfig = resolveConfig([defaultConfig])
99

__tests__/cli.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import * as utils from '../src/cli/utils'
77
describe('cli', () => {
88
const inputCssPath = path.resolve(__dirname, 'fixtures/tailwind-input.css')
99
const customConfigPath = path.resolve(__dirname, 'fixtures/custom-config.js')
10+
const defaultConfigFixture = utils.readFile(constants.defaultConfigStubFile)
11+
const simpleConfigFixture = utils.readFile(constants.simpleConfigStubFile)
1012

1113
beforeEach(() => {
1214
console.log = jest.fn()
@@ -32,6 +34,20 @@ describe('cli', () => {
3234
expect(utils.writeFile.mock.calls[0][1]).not.toContain('/**')
3335
})
3436
})
37+
38+
it('creates a simple Tailwind config file', () => {
39+
return cli(['init']).then(() => {
40+
expect(utils.writeFile.mock.calls[0][1]).toEqual(simpleConfigFixture)
41+
})
42+
})
43+
44+
it('creates a full Tailwind config file', () => {
45+
return cli(['init', '--full']).then(() => {
46+
expect(utils.writeFile.mock.calls[0][1]).toEqual(
47+
utils.replaceAll(defaultConfigFixture, constants.replacements)
48+
)
49+
})
50+
})
3551
})
3652

3753
describe('build', () => {

__tests__/cli.utils.test.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,30 @@ describe('cli utils', () => {
109109
expect(result).toEqual(expect.stringContaining('__comment_docblock_important__'))
110110
})
111111
})
112+
113+
describe('replaceAll', () => {
114+
it('replaces strings', () => {
115+
const result = utils.replaceAll('test', [['test', 'pass']])
116+
117+
expect(result).toEqual('pass')
118+
})
119+
120+
it('replaces regex patterns', () => {
121+
const result = utils.replaceAll('TEST', [[/test/i, 'pass']])
122+
123+
expect(result).toEqual('pass')
124+
})
125+
126+
it('replaces all matches', () => {
127+
const result = utils.replaceAll('test test', [['test', 'pass']])
128+
129+
expect(result).toEqual('pass pass')
130+
})
131+
132+
it('replaces all multiple patterns', () => {
133+
const result = utils.replaceAll('hello world', [['hello', 'greetings'], ['world', 'earth']])
134+
135+
expect(result).toEqual('greetings earth')
136+
})
137+
})
112138
})

__tests__/defaultConfig.test.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import config from '../defaultConfig.js'
2+
import configStub from '../stubs/defaultConfig.stub.js'
23

34
test('the default config matches the stub', () => {
4-
expect(config()).toEqual(require('../defaultConfig.stub.js'))
5+
expect(config).toEqual(configStub)
6+
})
7+
8+
test('modifying the default config does not affect the stub', () => {
9+
config.theme = {}
10+
expect(config).not.toEqual(configStub)
511
})

__tests__/defaultTheme.test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import theme from '../defaultTheme.js'
2+
import configStub from '../stubs/defaultConfig.stub.js'
3+
4+
test('the default theme matches the stub', () => {
5+
expect(theme).toEqual(configStub.theme)
6+
})
7+
8+
test('modifying the default theme does not affect the stub', () => {
9+
theme.colors = {}
10+
expect(theme).not.toEqual(configStub.theme)
11+
})

__tests__/responsiveAtRule.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import postcss from 'postcss'
22
import plugin from '../src/lib/substituteResponsiveAtRules'
3-
import config from '../defaultConfig.stub.js'
3+
import config from '../stubs/defaultConfig.stub.js'
44

55
function run(input, opts = config) {
66
return postcss([plugin(opts)]).process(input, { from: undefined })

__tests__/sanity.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import fs from 'fs'
22
import path from 'path'
33
import postcss from 'postcss'
44
import tailwind from '../src/index'
5-
import config from '../defaultConfig.js'
5+
import config from '../stubs/defaultConfig.stub.js'
66

77
it('generates the right CSS', () => {
88
const inputPath = path.resolve(`${__dirname}/fixtures/tailwind-input.css`)

__tests__/variantsAtRule.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import postcss from 'postcss'
22
import plugin from '../src/lib/substituteVariantsAtRules'
3-
import config from '../defaultConfig.stub.js'
43
import processPlugins from '../src/util/processPlugins'
4+
import config from '../stubs/defaultConfig.stub.js'
55

66
function run(input, opts = config) {
77
return postcss([plugin(opts, processPlugins(opts.plugins, opts))]).process(input, {

defaultConfig.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
module.exports = function() {
2-
return require('lodash').cloneDeep(require('./defaultConfig.stub.js'))
3-
}
1+
const cloneDeep = require('lodash/cloneDeep')
2+
const defaultConfig = require('./stubs/defaultConfig.stub.js')
3+
4+
module.exports = cloneDeep(defaultConfig)

0 commit comments

Comments
 (0)