summaryrefslogtreecommitdiff
path: root/test/handler/test_shell_handler.vader
blob: c61cf37d377ce469da8232977563e12b0f0a5744 (plain)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Before:
  runtime ale_linters/sh/shell.vim

After:
  call ale#linter#Reset()

Execute(The shell handler should parse lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 13,
  \     'text': 'syntax error near unexpected token d',
  \   },
  \   {
  \     'lnum': 7,
  \     'text': 'line 42: line 36:',
  \   },
  \   {
  \     'lnum': 11,
  \     'text': 'Syntax error: "(" unexpected',
  \   },
  \   {
  \     'lnum': 95,
  \     'text': 'parse error near `out=$(( $1 / 1024. )...',
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \   {
  \     'lnum': 9,
  \     'text': '`done'' unexpected',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   'bash: line 13: syntax error near unexpected token d',
  \   'bash: line 7: line 42: line 36:',
  \   'sh: 11: Syntax error: "(" unexpected',
  \   'qfm:95: parse error near `out=$(( $1 / 1024. )...',
  \   'qfm:22: :11: :33: :44:',
  \   'foo.sh: syntax error at line 9: `done'' unexpected',
  \ ])

Execute(The shell handler should parse Simplified Chinese lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 0,
  \     'text': '未预期的符号“done”附近有语法错误',
  \   },
  \   {
  \     'lnum': 90,
  \     'text': '寻找匹配的“"”时遇到了未预期的文件结束符',
  \   },
  \   {
  \     'lnum': 111,
  \     'text': '语法错误: 未预期的文件结尾',
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   '/tmp/nvimWL5sOL/2/a.sh:行0: 未预期的符号“done”附近有语法错误',
  \   '/tmp/nvimWL5sOL/2/a.sh:行90: 寻找匹配的“"”时遇到了未预期的文件结束符',
  \   '/tmp/nvimWL5sOL/2/a.sh:行111: 语法错误: 未预期的文件结尾',
  \   '/tmp/nvimWL5sOL/2/a.sh:行22: :11: :33: :44:',
  \ ])

Execute(The shell handler should parse Traditional Chinese lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 0,
  \     'text': '未預期的字組「(」附近有語法錯誤',
  \   },
  \   {
  \     'lnum': 90,
  \     'text': '尋找匹配的「"」時遇到了未預期的檔案結束符',
  \   },
  \   {
  \     'lnum': 111,
  \     'text': '語法錯誤: 未預期的檔案結尾',
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   '/tmp/nvimWL5sOL/2/a.sh: 列 0: 未預期的字組「(」附近有語法錯誤',
  \   '/tmp/nvimWL5sOL/2/a.sh: 列 90: 尋找匹配的「"」時遇到了未預期的檔案結束符',
  \   '/tmp/nvimWL5sOL/2/a.sh: 列 111: 語法錯誤: 未預期的檔案結尾',
  \   '/tmp/nvimWL5sOL/2/a.sh: 列 22: :11: :33: :44:',
  \ ])

Execute(The shell handler should parse Japanese lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 0,
  \     'text': "予期しないトークン `(' 周辺に構文エラーがあります",
  \   },
  \   {
  \     'lnum': 90,
  \     'text': "予期しないトークン `done' 周辺に構文エラーがあります",
  \   },
  \   {
  \     'lnum': 111,
  \     'text': "対応する `\"' を探索中に予期しないファイル終了 (EOF) です",
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   "/tmp/nvimWL5sOL/2/a.sh: 行 0: 予期しないトークン `(' 周辺に構文エラーがあります",
  \   "/tmp/nvimWL5sOL/2/a.sh: 行 90: 予期しないトークン `done' 周辺に構文エラーがあります",
  \   "/tmp/nvimWL5sOL/2/a.sh: 行 111: 対応する `\"' を探索中に予期しないファイル終了 (EOF) です",
  \   "/tmp/nvimWL5sOL/2/a.sh: 行 22: :11: :33: :44:",
  \ ])

Execute(The shell handler should parse Greek lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 0,
  \     'text': 'συντακτικό σφάλμα κοντά στο μη αναμενόμενο σύμβολο «done»',
  \   },
  \   {
  \     'lnum': 90,
  \     'text': 'syntax error: μη αναμενόμενο τέλος αρχείου',
  \   },
  \   {
  \     'lnum': 111,
  \     'text': 'μη αναμενόμενο EOF κατά την αναζήτηση «"»',
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   '/tmp/nvimWL5sOL/2/a.sh: γραμμή 0: συντακτικό σφάλμα κοντά στο μη αναμενόμενο σύμβολο «done»',
  \   '/tmp/nvimWL5sOL/2/a.sh: γραμμή 90: syntax error: μη αναμενόμενο τέλος αρχείου',
  \   '/tmp/nvimWL5sOL/2/a.sh: γραμμή 111: μη αναμενόμενο EOF κατά την αναζήτηση «"»',
  \   "/tmp/nvimWL5sOL/2/a.sh: γραμμή 22: :11: :33: :44:",
  \ ])

Execute(The shell handler should parse Russian lines correctly):
  AssertEqual
  \ [
  \   {
  \     'lnum': 0,
  \     'text': 'синтаксическая ошибка рядом с неожиданным маркером «done»',
  \   },
  \   {
  \     'lnum': 90,
  \     'text': 'синтаксическая ошибка: неожиданный конец файла',
  \   },
  \   {
  \     'lnum': 111,
  \     'text': 'неожиданный конец файла во время поиска «"»',
  \   },
  \   {
  \     'lnum': 22,
  \     'text': ':11: :33: :44:',
  \   },
  \ ],
  \ ale_linters#sh#shell#Handle(347, [
  \   '/tmp/nvimWL5sOL/2/a.sh: строка 0: синтаксическая ошибка рядом с неожиданным маркером «done»',
  \   '/tmp/nvimWL5sOL/2/a.sh: строка 90: синтаксическая ошибка: неожиданный конец файла',
  \   '/tmp/nvimWL5sOL/2/a.sh: строка 111: неожиданный конец файла во время поиска «"»',
  \   '/tmp/nvimWL5sOL/2/a.sh: строка 22: :11: :33: :44:',
  \ ])