]> git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-buffer-constructor.js
import 8.3.0 source
[pve-eslint.git] / eslint / tests / lib / rules / no-buffer-constructor.js
1 /**
2 * @fileoverview disallow use of the Buffer() constructor
3 * @author Teddy Katz
4 */
5 "use strict";
6
7 //------------------------------------------------------------------------------
8 // Requirements
9 //------------------------------------------------------------------------------
10
11 const rule = require("../../../lib/rules/no-buffer-constructor");
12 const { RuleTester } = require("../../../lib/rule-tester");
13
14 //------------------------------------------------------------------------------
15 // Tests
16 //------------------------------------------------------------------------------
17
18 const CALL_ERROR = {
19 messageId: "deprecated",
20 data: {
21 expr: "Buffer()"
22 },
23 type: "CallExpression"
24 };
25 const CONSTRUCT_ERROR = {
26 messageId: "deprecated",
27 data: {
28 expr: "new Buffer()"
29 },
30 type: "NewExpression"
31 };
32
33 const ruleTester = new RuleTester();
34
35 ruleTester.run("no-buffer-constructor", rule, {
36
37 valid: [
38 "Buffer.alloc(5)",
39 "Buffer.allocUnsafe(5)",
40 "new Buffer.Foo()",
41 "Buffer.from([1, 2, 3])",
42 "foo(Buffer)",
43 "Buffer.alloc(res.body.amount)",
44 "Buffer.from(res.body.values)"
45 ],
46
47 invalid: [
48 {
49 code: "Buffer(5)",
50 errors: [CALL_ERROR]
51 },
52 {
53 code: "new Buffer(5)",
54 errors: [CONSTRUCT_ERROR]
55 },
56 {
57 code: "Buffer([1, 2, 3])",
58 errors: [CALL_ERROR]
59 },
60 {
61 code: "new Buffer([1, 2, 3])",
62 errors: [CONSTRUCT_ERROR]
63 },
64 {
65 code: "new Buffer(res.body.amount)",
66 errors: [CONSTRUCT_ERROR]
67 },
68 {
69 code: "new Buffer(res.body.values)",
70 errors: [CONSTRUCT_ERROR]
71 }
72 ]
73 });