Skip to content

Commit

Permalink
test: add test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
chouchouji committed Jan 9, 2025
1 parent 1cb201f commit 95b089f
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 12 deletions.
16 changes: 10 additions & 6 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,16 @@ export function defineConfig(options: DefineConfigOptions = {}): Config {
: undefined,
plugins: [...builtinPlugins, ...normalizeToArray(plugins)],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder,
},
},
...(sortPackageJson
? [
{
files: '**/package.json',
options: {
packageSortOrder,
},
},
]
: []),
...normalizeToArray(overrides),
],
...rest,
Expand Down
96 changes: 90 additions & 6 deletions tests/index.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,15 @@ describe('test config', () => {
singleQuote: true,
semi: false,
importOrder: ['<BUILTIN_MODULES>', '^vue$', '^react$', '<THIRD_PARTY_MODULES>', '^@/(.*)$', '^~/(.*)$', '^[.]'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss', 'prettier-plugin-packagejson'],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder: [],
},
},
],
})
})

Expand All @@ -18,29 +26,105 @@ describe('test config', () => {
singleQuote: true,
semi: false,
importOrder: undefined,
plugins: ['prettier-plugin-tailwindcss'],
plugins: ['prettier-plugin-tailwindcss', 'prettier-plugin-packagejson'],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder: [],
},
},
],
})
})

it('sortImports is false', () => {
it('sortAtomicClass is false', () => {
expect(defineConfig({ sortAtomicClass: false })).toStrictEqual({
printWidth: 120,
singleQuote: true,
semi: false,
importOrder: ['<BUILTIN_MODULES>', '^vue$', '^react$', '<THIRD_PARTY_MODULES>', '^@/(.*)$', '^~/(.*)$', '^[.]'],
plugins: ['@ianvs/prettier-plugin-sort-imports'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-packagejson'],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder: [],
},
},
],
})
})

it('sortPackageJson is false', () => {
expect(defineConfig({ sortPackageJson: false })).toStrictEqual({
printWidth: 120,
singleQuote: true,
semi: false,
importOrder: ['<BUILTIN_MODULES>', '^vue$', '^react$', '<THIRD_PARTY_MODULES>', '^@/(.*)$', '^~/(.*)$', '^[.]'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss'],
overrides: [],
})
})

it('custom packageSortOrder', () => {
expect(defineConfig({ packageSortOrder: ['name', 'version', 'description', 'scripts'] })).toStrictEqual({
printWidth: 120,
singleQuote: true,
semi: false,
importOrder: ['<BUILTIN_MODULES>', '^vue$', '^react$', '<THIRD_PARTY_MODULES>', '^@/(.*)$', '^~/(.*)$', '^[.]'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss', 'prettier-plugin-packagejson'],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder: ['name', 'version', 'description', 'scripts'],
},
},
],
})
})

it('custom config', () => {
expect(
defineConfig({ semi: true, plugins: ['prettier-plugin-test'], vueIndentScriptAndStyle: true }),
defineConfig({
semi: true,
plugins: ['prettier-plugin-test'],
vueIndentScriptAndStyle: true,
overrides: [
{
files: '*.md',
options: {
organizeImportsSkipDestructiveCodeActions: true,
},
},
],
}),
).toStrictEqual({
printWidth: 120,
singleQuote: true,
semi: true,
importOrder: ['<BUILTIN_MODULES>', '^vue$', '^react$', '<THIRD_PARTY_MODULES>', '^@/(.*)$', '^~/(.*)$', '^[.]'],
plugins: ['@ianvs/prettier-plugin-sort-imports', 'prettier-plugin-tailwindcss', 'prettier-plugin-test'],
plugins: [
'@ianvs/prettier-plugin-sort-imports',
'prettier-plugin-tailwindcss',
'prettier-plugin-packagejson',
'prettier-plugin-test',
],
overrides: [
{
files: '**/package.json',
options: {
packageSortOrder: [],
},
},
{
files: '*.md',
options: {
organizeImportsSkipDestructiveCodeActions: true,
},
},
],
vueIndentScriptAndStyle: true,
})
})
Expand Down

0 comments on commit 95b089f

Please sign in to comment.