Add Node 20 to CI matrix, update test cases to handle new error strings in Node 20.

This commit is contained in:
David Anson 2023-04-18 19:55:56 -07:00 committed by GitHub
parent 2cef1d1b3f
commit 0cf81e4ef4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 7 deletions

View file

@ -18,7 +18,7 @@ jobs:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
node-version: [ 14, 16, 18 ]
node-version: [ 14, 16, 18, 20 ]
steps:
- uses: actions/checkout@v3

View file

@ -252,7 +252,7 @@ test("configBadHybrid", (t) => new Promise((resolve) => {
t.true(err instanceof Error, "Error not instance of Error.");
t.truthy(err.message.match(
// eslint-disable-next-line max-len
/^Unable to parse '[^']*'; Parser \d+: Unexpected token \S+ in JSON at position \d+;/
/^Unable to parse '[^']*'; Parser \d+: (Unexpected token|Expected property name)/
), "Error message unexpected.");
t.true(!result, "Got result for bad child JSON.");
resolve();
@ -333,7 +333,7 @@ test("configBadJsonSync", (t) => {
{
"message":
// eslint-disable-next-line max-len
/Unable to parse '[^']*'; Parser \d+: Unexpected token \S+ in JSON at position \d+/
/Unable to parse '[^']*'; Parser \d+: (Unexpected token|Expected property name)/
},
"Did not get correct exception for bad JSON."
);
@ -348,7 +348,7 @@ test("configBadChildJsonSync", (t) => {
{
"message":
// eslint-disable-next-line max-len
/Unable to parse '[^']*'; Parser \d+: Unexpected token \S+ in JSON at position \d+/
/Unable to parse '[^']*'; Parser \d+: (Unexpected token|Expected property name)/
},
"Did not get correct exception for bad child JSON."
);
@ -442,7 +442,7 @@ test("configBadHybridSync", (t) => {
},
{
// eslint-disable-next-line max-len
"message": /^Unable to parse '[^']*'; Parser \d+: Unexpected token \S+ in JSON at position \d+;/
"message": /^Unable to parse '[^']*'; Parser \d+: (Unexpected token|Expected property name)/
},
"Did not get correct exception for bad content."
);

View file

@ -1158,7 +1158,7 @@ test("customRulesLintJavaScript", (t) => new Promise((resolve) => {
}));
test("customRulesValidateJson", (t) => new Promise((resolve) => {
t.plan(2);
t.plan(3);
const options = {
"customRules": customRules.validateJson,
"files": "test/validate-json.md"
@ -1172,13 +1172,18 @@ test("customRulesValidateJson", (t) => new Promise((resolve) => {
"ruleNames": [ "validate-json" ],
"ruleDescription": "Rule that validates JSON code",
"ruleInformation": null,
"errorDetail": "Unexpected end of JSON input",
"errorContext": null,
"errorRange": null,
"fixInfo": null
}
]
};
t.true(
actual && (actual["test/validate-json.md"][0].errorDetail.length > 0),
"Missing errorDetail"
);
// @ts-ignore
delete actual["test/validate-json.md"][0].errorDetail;
t.deepEqual(actual, expected, "Unexpected issues.");
resolve();
});