]>
Commit | Line | Data |
---|---|---|
eb39fafa DC |
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 | ||
eb39fafa DC |
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 | }); |