Skip to content

Commit e370510

Browse files
committed
test(check-examples): add TypeScript examples
1 parent c0171c7 commit e370510

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,17 @@ function f () {
743743
*/
744744
// Options: [{"captionRequired":true,"eslintrcForExamples":false}]
745745
// Message: Caption is expected for examples.
746+
747+
/**
748+
* @example
749+
* const list: number[] = [1, 2, 3]
750+
* quux(list);
751+
*/
752+
function quux () {
753+
754+
}
755+
// Options: [{"baseConfig":{"parser":"/Users/brett/eslint-plugin-jsdoc/node_modules/@typescript-eslint/parser/dist/parser.js","parserOptions":{"ecmaVersion":6},"rules":{"semi":["error","always"]}},"eslintrcForExamples":false}]
756+
// Message: @example error (semi): Missing semicolon.
746757
````
747758

748759
The following patterns are not considered problems:
@@ -827,6 +838,16 @@ var quux = {
827838
*/
828839
function quux () {}
829840
// Options: [{"baseConfig":{"rules":{"indent":["error"]}},"eslintrcForExamples":false,"noDefaultExampleRules":false}]
841+
842+
/**
843+
* @example
844+
* const list: number[] = [1, 2, 3];
845+
* quux(list);
846+
*/
847+
function quux () {
848+
849+
}
850+
// Options: [{"baseConfig":{"parser":"/Users/brett/eslint-plugin-jsdoc/node_modules/@typescript-eslint/parser/dist/parser.js","parserOptions":{"ecmaVersion":6},"rules":{"semi":["error","always"]}},"eslintrcForExamples":false}]
830851
````
831852

832853

test/rules/assertions/checkExamples.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,35 @@ export default {
486486
eslintrcForExamples: false,
487487
}],
488488
},
489+
{
490+
code: `
491+
/**
492+
* @example
493+
* const list: number[] = [1, 2, 3]
494+
* quux(list);
495+
*/
496+
function quux () {
497+
498+
}
499+
`,
500+
errors: [
501+
{
502+
message: '@example error (semi): Missing semicolon.',
503+
},
504+
],
505+
options: [{
506+
baseConfig: {
507+
parser: require.resolve('@typescript-eslint/parser'),
508+
parserOptions: {
509+
ecmaVersion: 6,
510+
},
511+
rules: {
512+
semi: ['error', 'always'],
513+
},
514+
},
515+
eslintrcForExamples: false,
516+
}],
517+
},
489518
],
490519
valid: [
491520
{
@@ -653,5 +682,29 @@ export default {
653682
noDefaultExampleRules: false,
654683
}],
655684
},
685+
{
686+
code: `
687+
/**
688+
* @example
689+
* const list: number[] = [1, 2, 3];
690+
* quux(list);
691+
*/
692+
function quux () {
693+
694+
}
695+
`,
696+
options: [{
697+
baseConfig: {
698+
parser: require.resolve('@typescript-eslint/parser'),
699+
parserOptions: {
700+
ecmaVersion: 6,
701+
},
702+
rules: {
703+
semi: ['error', 'always'],
704+
},
705+
},
706+
eslintrcForExamples: false,
707+
}],
708+
},
656709
],
657710
};

0 commit comments

Comments
 (0)