You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat!: rule tester require suggestion matchers
* feat!: rule tester require message or messageId
* feat!: rule tester require output for suggestions
* feat!: rule tester only allow desc or messageId in suggestion matchers
* feat!: rule tester require suggestion output differs from original source code
* feat!: rule tester typecheck only and filename test case properties
* feat!: rule tester check whether code and output is equal
* docs: update rule tester documentation to reflect additional assertions
* fix: fix invalid test cases of builtin rules
* fix: remove unnecessary space for the suggestion prefix
* chore: fixing merge diversions
* fix: remove incorrect claim that data is required if messageId with placeholders is used
* chore: remove potentially confusing differentation between missing and failing fixer
* fix: better explanation for missing suggestions
* feat: support specifying an suggestion amount
* fix: ecmaVersion should be a languageOptions property (not parserOptions)
* chore: tweak message for omitting output if there is no autofix
* chore: fixup using old error message for the output property and update its docs
* fix: fixup reported error messages
* fix: refine more assertion messages
* docs: document suggestion can also be a number
* chore: simplify suggestion existence checks
* feat: check string and regexp error matchers for missing suggestion matchers
* chore: cleanup message for missing suggestions when testing only the message
Copy file name to clipboardExpand all lines: docs/src/integrate/nodejs-api.md
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -735,19 +735,19 @@ A test case is an object with the following properties:
735
735
736
736
In addition to the properties above, invalid test cases can also have the following properties:
737
737
738
-
*`errors` (number or array, required): Asserts some properties of the errors that the rule is expected to produce when run on this code. If this is a number, asserts the number of errors produced. Otherwise, this should be a list of objects, each containing information about a single reported error. The following properties can be used for an error (all are optional):
739
-
*`message` (string/regexp): The message for the error
740
-
*`messageId` (string): The Id for the error. See [testing errors with messageId](#testing-errors-with-messageid) for details
738
+
*`errors` (number or array, required): Asserts some properties of the errors that the rule is expected to produce when run on this code. If this is a number, asserts the number of errors produced. Otherwise, this should be a list of objects, each containing information about a single reported error. The following properties can be used for an error (all are optional unless otherwise noted):
739
+
*`message` (string/regexp): The message for the error. Must provide this or `messageId`
740
+
*`messageId` (string): The Id for the error. Must provide this or `message`. See [testing errors with messageId](#testing-errors-with-messageid) for details
741
741
*`data` (object): Placeholder data which can be used in combination with `messageId`
742
742
*`type` (string): The type of the reported AST node
743
743
*`line` (number): The 1-based line number of the reported location
744
744
*`column` (number): The 1-based column number of the reported location
745
745
*`endLine` (number): The 1-based line number of the end of the reported location
746
746
*`endColumn` (number): The 1-based column number of the end of the reported location
747
-
*`suggestions` (array): An array of objects with suggestion details to check. See [Testing Suggestions](#testing-suggestions) for details
747
+
*`suggestions` (array): An array of objects with suggestion details to check. Required if the rule produces suggestions. See [Testing Suggestions](#testing-suggestions) for details
748
748
749
749
If a string is provided as an error instead of an object, the string is used to assert the `message` of the error.
750
-
*`output` (string, required if the rule fixes code): Asserts the output that will be produced when using this rule for a single pass of autofixing (e.g. with the `--fix` command line flag). If this is `null`, asserts that none of the reported problems suggest autofixes.
750
+
*`output` (string, required if the rule fixes code): Asserts the output that will be produced when using this rule for a single pass of autofixing (e.g. with the `--fix` command line flag). If this is `null` or omitted, asserts that none of the reported problems suggest autofixes.
751
751
752
752
Any additional properties of a test case will be passed directly to the linter as config options. For example, a test case can have a `languageOptions` property to configure parser behavior:
753
753
@@ -784,12 +784,12 @@ Please note that `data` in a test case does not assert `data` passed to `context
784
784
785
785
### Testing Suggestions
786
786
787
-
Suggestions can be tested by defining a `suggestions` key on an errors object. The options to check for the suggestions are the following (all are optional):
787
+
Suggestions can be tested by defining a `suggestions` key on an errors object. If this is a number, it asserts the number of suggestions provided for the error. Otherwise, this should be an array of objects, each containing information about a single provided suggestion. The following properties can be used:
788
788
789
-
*`desc` (string): The suggestion `desc` value
790
-
*`messageId` (string): The suggestion `messageId` value for suggestions that use `messageId`s
791
-
*`data` (object): Placeholder data which can be used in combination with `messageId`
792
-
*`output` (string): A code string representing the result of applying the suggestion fix to the input code
789
+
*`desc` (string): The suggestion `desc` value. Must provide this or `messageId`
790
+
*`messageId` (string): The suggestion `messageId` value for suggestions that use `messageId`s. Must provide this or `desc`
791
+
*`data` (object): Placeholder data which can be used in combination with `messageId`.
792
+
*`output` (string, required): A code string representing the result of applying the suggestion fix to the input code
0 commit comments