pve-eslint/eslint/tests/lib/rules/no-buffer-constructor.js
Thomas Lamprecht 609c276fc2 import 8.3.0 source
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-12-01 13:39:06 +01:00

74 lines
1.7 KiB
JavaScript

/**
* @fileoverview disallow use of the Buffer() constructor
* @author Teddy Katz
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
const rule = require("../../../lib/rules/no-buffer-constructor");
const { RuleTester } = require("../../../lib/rule-tester");
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
const CALL_ERROR = {
messageId: "deprecated",
data: {
expr: "Buffer()"
},
type: "CallExpression"
};
const CONSTRUCT_ERROR = {
messageId: "deprecated",
data: {
expr: "new Buffer()"
},
type: "NewExpression"
};
const ruleTester = new RuleTester();
ruleTester.run("no-buffer-constructor", rule, {
valid: [
"Buffer.alloc(5)",
"Buffer.allocUnsafe(5)",
"new Buffer.Foo()",
"Buffer.from([1, 2, 3])",
"foo(Buffer)",
"Buffer.alloc(res.body.amount)",
"Buffer.from(res.body.values)"
],
invalid: [
{
code: "Buffer(5)",
errors: [CALL_ERROR]
},
{
code: "new Buffer(5)",
errors: [CONSTRUCT_ERROR]
},
{
code: "Buffer([1, 2, 3])",
errors: [CALL_ERROR]
},
{
code: "new Buffer([1, 2, 3])",
errors: [CONSTRUCT_ERROR]
},
{
code: "new Buffer(res.body.amount)",
errors: [CONSTRUCT_ERROR]
},
{
code: "new Buffer(res.body.values)",
errors: [CONSTRUCT_ERROR]
}
]
});