canonical
Version:
Canonical code style linter and formatter for JavaScript, SCSS and CSS.
143 lines (129 loc) • 3.07 kB
JavaScript
import {
RuleTester
} from 'eslint';
import {
rules
} from './../../src/';
let ruleTester;
ruleTester = new RuleTester();
ruleTester.run('require-description-complete-sentence', rules['require-description-complete-sentence'], {
valid: [
{
code: `
/**
* @param {string} foo
*/
function quux (foo) {
}
`
},
{
code: `
/**
* Description.
*/
function quux () {
}
`
},
{
code: `
/**
* (Description).
*/
function quux () {
}
`
},
{
code: `
/**
* Description.
*
* @param {string} foo
*/
function quux (foo) {
}
`
}
],
invalid: [
{
code: `
/**
* Description
* @param {string} foo
*/
function quux (foo) {
}
`,
errors: [
{
message: 'Sentence must end with a period.'
}
]
},
{
code: `
/**
* description starting with a lower case letter.
* @param {string} foo
*/
function quux (foo) {
}
`,
errors: [
{
message: 'Description must start with an upper case letter.'
}
]
},
{
code: `
/**
* Description period is offset .
* @param {string} foo
*/
function quux (foo) {
}
`,
errors: [
{
message: 'Sentence must end with a period.'
}
]
},
{
code: `
/**
* Description!
* @param {string} foo
*/
function quux (foo) {
}
`,
errors: [
{
message: 'Sentence must end with a period.'
}
]
},
{
code: `
/**
* Description
* On multiple lines.
*
* @param {string} foo
*/
function quux (foo) {
}
`,
errors: [
{
message: 'You started a new line with an upper case letter but previous line does not end with a period.'
}
]
}
]
});