Skip to content

Commit b23ed18

Browse files
committed
test(plugin-palette): add unit tests
1 parent 0cf1b9b commit b23ed18

File tree

10 files changed

+134
-0
lines changed

10 files changed

+134
-0
lines changed

packages/@vuepress/plugin-palette/__tests__/__fixtures__/css/index.css

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/css/palette.css

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/less/index.less

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/less/palette.less

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/sass/index.scss

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/sass/palette.scss

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/stylus/index.styl

Whitespace-only changes.

packages/@vuepress/plugin-palette/__tests__/__fixtures__/stylus/palette.styl

Whitespace-only changes.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { createApp } from '@vuepress/core'
2+
import { preparePaletteFile, presetOptions } from '@vuepress/plugin-palette'
3+
import { fs, path } from '@vuepress/utils'
4+
5+
const source = path.resolve(__dirname, 'fake-source')
6+
const temp = path.resolve(__dirname, '../__fixtures__/.temp')
7+
const app = createApp({
8+
source,
9+
temp,
10+
})
11+
12+
describe('plugin-palette > node > preparePaletteFile', () => {
13+
describe('should generate palette temp files correctly', () => {
14+
const testCases = [
15+
{
16+
name: 'css',
17+
ext: 'css',
18+
},
19+
{
20+
name: 'sass',
21+
ext: 'scss',
22+
},
23+
{
24+
name: 'less',
25+
ext: 'less',
26+
},
27+
{
28+
name: 'stylus',
29+
ext: 'styl',
30+
},
31+
]
32+
33+
testCases.forEach(({ name, ext }) =>
34+
it(`${name}`, async () => {
35+
const userPaletteFile = path.resolve(
36+
__dirname,
37+
'../__fixtures__',
38+
name,
39+
`palette.${ext}`
40+
)
41+
const { tempPaletteFile, importCode } = presetOptions[name]
42+
const tempFile = await preparePaletteFile(app, {
43+
userPaletteFile,
44+
tempPaletteFile,
45+
importCode,
46+
})
47+
const result = (await fs.readFile(tempFile)).toString()
48+
expect(result).toEqual(importCode(userPaletteFile))
49+
})
50+
)
51+
})
52+
53+
it('should generate empty palette temp file', async () => {
54+
const userPaletteFile = path.resolve(
55+
__dirname,
56+
'../__fixtures__',
57+
'non-existent.css'
58+
)
59+
const tempFile = await preparePaletteFile(app, {
60+
userPaletteFile,
61+
tempPaletteFile: 'styles/non-existent-palette.css',
62+
importCode: presetOptions.css.importCode,
63+
})
64+
const result = (await fs.readFile(tempFile)).toString()
65+
expect(result).toEqual('')
66+
})
67+
})
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { createApp } from '@vuepress/core'
2+
import { prepareStyleFile, presetOptions } from '@vuepress/plugin-palette'
3+
import { fs, path } from '@vuepress/utils'
4+
5+
const source = path.resolve(__dirname, 'fake-source')
6+
const temp = path.resolve(__dirname, '../__fixtures__/.temp')
7+
const app = createApp({
8+
source,
9+
temp,
10+
})
11+
12+
describe('plugin-palette > node > prepareStyleFile', () => {
13+
describe('should generate style temp files correctly', () => {
14+
const testCases = [
15+
{
16+
name: 'css',
17+
ext: 'css',
18+
},
19+
{
20+
name: 'sass',
21+
ext: 'scss',
22+
},
23+
{
24+
name: 'less',
25+
ext: 'less',
26+
},
27+
{
28+
name: 'stylus',
29+
ext: 'styl',
30+
},
31+
]
32+
33+
testCases.forEach(({ name, ext }) =>
34+
it(`${name}`, async () => {
35+
const userStyleFile = path.resolve(
36+
__dirname,
37+
'../__fixtures__',
38+
name,
39+
`index.${ext}`
40+
)
41+
const { tempStyleFile, importCode } = presetOptions[name]
42+
const tempFile = await prepareStyleFile(app, {
43+
userStyleFile,
44+
tempStyleFile,
45+
importCode,
46+
})
47+
const result = (await fs.readFile(tempFile)).toString()
48+
expect(result).toEqual(importCode(userStyleFile))
49+
})
50+
)
51+
})
52+
53+
it('should generate empty style temp file', async () => {
54+
const userStyleFile = path.resolve(
55+
__dirname,
56+
'../__fixtures__',
57+
'non-existent.css'
58+
)
59+
const tempFile = await prepareStyleFile(app, {
60+
userStyleFile,
61+
tempStyleFile: 'styles/non-existent-style.css',
62+
importCode: presetOptions.css.importCode,
63+
})
64+
const result = (await fs.readFile(tempFile)).toString()
65+
expect(result).toEqual('')
66+
})
67+
})

0 commit comments

Comments
 (0)