-
Notifications
You must be signed in to change notification settings - Fork 7
/
brace-style.test.js
96 lines (89 loc) · 2.63 KB
/
brace-style.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/**
* @fileoverview Check indentation at the beginning and end of a function call
*/
'use strict';
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require('../../../lib/rules/brace-style'),
formatCode = require('../../code-helper'),
ruleTester = require('../../ruleTesters').es6(),
invalidExamples, validExample;
invalidExamples = [
{
code: formatCode(
'if (a === b) { doSomething() }',
'if (a === b) {',
' doSomething(); }',
'if (a === b )',
'{',
' doSomething();',
'}',
'let badArrow = (b) => ',
'{',
' doSomething(b);',
'};'
),
errors: [
{
message: 'Statement inside of curly braces should be on next line.',
type: 'Punctuator',
},
{
message: 'Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.',
type: 'Punctuator',
},
{
message: 'Closing curly brace should be on the same line as opening curly brace or on the line after the previous block.',
type: 'Punctuator',
},
{
message: 'Opening curly brace does not appear on the same line as controlling statement.',
type: 'Punctuator',
},
{
message: 'Opening curly brace does not appear on the same line as controlling statement.',
type: 'Punctuator',
},
],
options: [ '1tbs', { allowSingleLine: false, allowSingleLineArrow: true } ],
},
];
validExample = formatCode(
'if (a === b) {',
' doSomething();',
'}',
'if (a === b) {',
' doSomething();',
'} else {',
' doSomethingElse();',
'}',
'while (a === b) {',
' doSomething();',
'}',
'function myFunc(a) {',
' doSomething(a);',
'}',
'let func = (a) => {',
' doSomething(a);',
'};',
'try {',
' doSomething(a);',
'} catch(e) {',
' console.log(e);',
'}',
'myOtherFunc((a) => { doSomething(); });',
'let func2 = (b) => { doSomething(); };'
);
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
ruleTester.run('brace-style', rule, {
valid: [
{
code: validExample,
options: [ '1tbs', { allowSingleLine: false, allowSingleLineArrow: true } ],
},
],
invalid: invalidExamples,
});