tools: remove fixer for non-ascii-character ESLint custom rule

The fixer for non-ascii-character does not typidally do the right thing.
It removes the entire node, not the offending character. I discovered
this when it removed the entire contents of a file and I wasn't sure
which auto-fix rule was doing it.

This commit adds a minimal test for the rule. The tests require that
auto-fix results be supplied, so if someone wants to re-add auto-fixing
to the rule, we'll have tests that it does the right thing.

PR-URL: https://github.com/nodejs/node/pull/38413
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Rich Trott committed 2021-04-28 10:35:32 -07:00
1 parent 346f0e99cd
commit 896e5af1fd
2 files changed
+26 -10

No files matched your search

@@ -0,0 +1,26 @@
'use strict';
const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
common.skipIfEslintMissing();
const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
const rule = require('../../tools/eslint-rules/non-ascii-character');
new RuleTester().run('non-ascii-characters', rule, {
valid: [
{
code: 'console.log("fhqwhgads")',
options: []
},
],
invalid: [
{
code: 'console.log("μ")',
options: [],
errors: [{ message: "Non-ASCII character 'μ' detected." }],
},
]
});
-10
View File
@@ -46,12 +46,6 @@ module.exports = (context) => {
node,
message,
loc: sourceCode.getLocFromIndex(offendingCharacterPosition),
fix: (fixer) => {
return fixer.replaceText(
node,
suggestion ? `${suggestion}` : ''
);
}
});
};
@@ -59,7 +53,3 @@ module.exports = (context) => {
Program: (node) => reportIfError(node, context.getSourceCode())
};
};
module.exports.meta = {
fixable: 'code'
};