Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: fix error assertions #264

Merged
merged 3 commits into from
Jun 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 28 additions & 26 deletions test/Errors.test.js
Original file line number Diff line number Diff line change
@@ -1,68 +1,70 @@
const { describe, test } = require('node:test')
const { match } = require('node:assert')
const { rejects } = require('node:assert')

const postcssrc = require('../src/index.js')

test('Loading Config - {Error}', () => {
return postcssrc({}, 'test/err').catch(err => {
match(err.message, /^No PostCSS Config found in: (.*)$/)
describe('Loading Config - {Error}', () => {
test('Missing Directory', () => {
return rejects(() => postcssrc({}, 'ghostDir'), {
message: /^No PostCSS Config found in: (.*)$/
})
})

test('TS - Syntax', () => {
return rejects(() => postcssrc({}, 'test/err/ts'), {
message: /^(Transform failed|ParseError)/
})
})
})

describe('Loading Plugins - {Error}', () => {
test('Plugin - {Type} - Invalid', () => {
return postcssrc({}, 'test/err/plugins').catch(err => {
match(err.message, /^Invalid PostCSS Plugin found at: (.*)\n\n\(@.*\)$/)
return rejects(() => postcssrc({}, 'test/err/plugins'), {
message: /^Invalid PostCSS Plugin found at: (.*)\n\n\(@.*\)$/
})
})

test('Plugin - {Object}', () => {
return postcssrc({}, 'test/err/plugins/object').catch(err => {
match(err.message, /^Loading PostCSS Plugin failed: .*$/m)
return rejects(() => postcssrc({}, 'test/err/plugins/object'), {
message: /^Loading PostCSS Plugin failed: .*$/m
})
})

test('Plugin - {Object} - Options', () => {
return postcssrc({}, 'test/err/plugins/object/options').catch(err => {
match(err.message, /^Loading PostCSS Plugin failed: .*$/m)
return rejects(() => postcssrc({}, 'test/err/plugins/object/options'), {
message: /^Loading PostCSS Plugin failed: .*$/m
})
})

test('Plugin - {Array}', () => {
return postcssrc({}, 'test/err/plugins/array').catch(err => {
match(err.message, /^Cannot find (.*)$/m)
return rejects(() => postcssrc({}, 'test/err/plugins/array'), {
message: /^Cannot find (.*)$/m
})
})

test('Plugin - {Array} - Options', () => {
return postcssrc({}, 'test/err/plugins/array/options').catch(err => {
match(err.message, /^Cannot find (.*)$/m)
return rejects(() => postcssrc({}, 'test/err/plugins/array/options'), {
message: /^Cannot find (.*)$/m
})
})
})

describe('Loading Options - {Error}', () => {
test('Parser - {String}', () => {
return postcssrc({}, 'test/err/options/parser').catch(err => {
match(err.message, /^Loading PostCSS Parser failed: .*$/m)
return rejects(() => postcssrc({}, 'test/err/options/parser'), {
message: /^Loading PostCSS Parser failed: .*$/m
})
})

test('Syntax - {String}', () => {
return postcssrc({}, 'test/err/options/syntax').catch(err => {
match(err.message, /^Loading PostCSS Syntax failed: .*$/m)
return rejects(() => postcssrc({}, 'test/err/options/syntax'), {
message: /^Loading PostCSS Syntax failed: .*$/m
})
})

test('Stringifier - {String}', () => {
return postcssrc({}, 'test/err/options/stringifier').catch(err => {
match(err.message, /^Loading PostCSS Stringifier failed: .*$/m)
return rejects(() => postcssrc({}, 'test/err/options/stringifier'), {
message: /^Loading PostCSS Stringifier failed: .*$/m
})
})
})

test('Loading TS Config - {Error} - Syntax', () => {
return postcssrc({}, 'test/err/ts').catch(err => {
match(err.message, /^(Transform failed|ParseError)/)
})
})
9 changes: 0 additions & 9 deletions test/rc.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,3 @@ test('.postcssrc - {Object} - Process SSS', () => {
})
})
})

describe('Load Config Error', () => {
ai marked this conversation as resolved.
Show resolved Hide resolved
test('no config found error', () => {
return postcssrc({}, 'ghostDir')
.catch(error => {
equal(error.message.startsWith("No PostCSS Config found in:"), true)
})
})
})