anbt-sql-formatter 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/CHANGELOG.md +5 -0
- data/lib/anbt-sql-formatter/formatter.rb +6 -6
- data/lib/anbt-sql-formatter/version.rb +1 -1
- data/test/test_coarse-tokenizer.rb +67 -66
- data/test/test_formatter.rb +14 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 533c8ba946b0b41bb3e9b56631b9e4fcbf7fd8e643b6c0875c1a3d1b2f8f25c8
|
4
|
+
data.tar.gz: e74a08b3d979b1cab4d998533c8ed6167cfe703ee75288da4e45d31c25e91d41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfd6fdc3fc8621957778f559464c7ab863cc5665b0ec084cbf755010ee6fd1699e7f3ad1952bc85d43d6d1fb233eb1b49858935d3c67fe1a7f4b9c4b8c20e476
|
7
|
+
data.tar.gz: 9b8ddfe422d4fb89f381751c95517ab8252a9abd6a915df228886deffec4d478c95f9983a356d681ac12ea8eb035cdb21424816074d4980547897a03c5328e7d
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -57,13 +57,13 @@ class AnbtSql
|
|
57
57
|
|
58
58
|
statements = split_to_statements(tokens)
|
59
59
|
|
60
|
-
statements = statements.map{|
|
61
|
-
format_list(
|
60
|
+
statements = statements.map{|inner_tokens|
|
61
|
+
format_list(inner_tokens)
|
62
62
|
}
|
63
63
|
|
64
64
|
# 変換結果を文字列に戻す。
|
65
|
-
after = statements.map{|
|
66
|
-
|
65
|
+
after = statements.map{|inner_tokens|
|
66
|
+
inner_tokens.map{ |t| t.string }.join("")
|
67
67
|
}.join("\n;\n\n").sub( /\n\n\Z/, "" )
|
68
68
|
|
69
69
|
after += "\n" if is_sql_ends_with_new_line
|
@@ -175,6 +175,8 @@ class AnbtSql
|
|
175
175
|
prev = AnbtSql::Token.new(AnbtSql::TokenConstants::SPACE,
|
176
176
|
" ")
|
177
177
|
|
178
|
+
encounter_between = false
|
179
|
+
|
178
180
|
index = 0
|
179
181
|
# Length of tokens changes in loop!
|
180
182
|
while index < tokens.size
|
@@ -337,8 +339,6 @@ class AnbtSql
|
|
337
339
|
remove_symbol_side_space(tokens)
|
338
340
|
concat_operator_for_oracle(tokens)
|
339
341
|
|
340
|
-
encounter_between = false
|
341
|
-
|
342
342
|
format_list_main_loop(tokens)
|
343
343
|
|
344
344
|
special_treatment_for_parenthesis_with_one_element(tokens)
|
@@ -61,11 +61,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
61
61
|
end
|
62
62
|
|
63
63
|
|
64
|
-
def
|
65
|
-
msg = "tokenize - "
|
66
|
-
|
64
|
+
def test_tokenize_1
|
67
65
|
assert_equals(
|
68
|
-
|
66
|
+
"tokenize 1",
|
69
67
|
strip_indent(
|
70
68
|
<<-EOB
|
71
69
|
plain (aa)
|
@@ -77,10 +75,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
77
75
|
EOB
|
78
76
|
)))
|
79
77
|
)
|
80
|
-
|
81
|
-
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_tokenize_2
|
82
81
|
assert_equals(
|
83
|
-
|
82
|
+
"tokenize 2",
|
84
83
|
strip_indent(
|
85
84
|
<<-EOB
|
86
85
|
plain (aa )
|
@@ -93,10 +92,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
93
92
|
EOB
|
94
93
|
)))
|
95
94
|
)
|
95
|
+
end
|
96
96
|
|
97
|
-
|
97
|
+
def test_tokenize_3
|
98
98
|
assert_equals(
|
99
|
-
|
99
|
+
"tokenize 3",
|
100
100
|
strip_indent(
|
101
101
|
<<-EOB
|
102
102
|
plain (aa )
|
@@ -109,10 +109,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
109
109
|
EOB
|
110
110
|
)))
|
111
111
|
)
|
112
|
+
end
|
112
113
|
|
113
|
-
|
114
|
+
def test_tokenize_4
|
114
115
|
assert_equals(
|
115
|
-
|
116
|
+
"tokenize 4",
|
116
117
|
strip_indent(
|
117
118
|
<<-EOB
|
118
119
|
plain (aa )
|
@@ -127,10 +128,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
127
128
|
EOB
|
128
129
|
)))
|
129
130
|
)
|
131
|
+
end
|
130
132
|
|
131
|
-
|
133
|
+
def test_tokenize_5
|
132
134
|
assert_equals(
|
133
|
-
|
135
|
+
"tokenize 5",
|
134
136
|
strip_indent(
|
135
137
|
<<-EOB
|
136
138
|
plain (aa )
|
@@ -144,10 +146,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
144
146
|
EOB
|
145
147
|
)))
|
146
148
|
)
|
149
|
+
end
|
147
150
|
|
148
|
-
|
151
|
+
def test_tokenize_6
|
149
152
|
assert_equals(
|
150
|
-
|
153
|
+
"tokenize - begin with multiline comment",
|
151
154
|
strip_indent(
|
152
155
|
<<-EOB
|
153
156
|
comment_multi (/* bb */)
|
@@ -163,12 +166,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
163
166
|
end
|
164
167
|
|
165
168
|
|
166
|
-
def
|
167
|
-
msg = "string_in_string"
|
168
|
-
|
169
|
-
########
|
169
|
+
def test_string_in_string_1
|
170
170
|
assert_equals(
|
171
|
-
|
171
|
+
"string_in_string 1",
|
172
172
|
strip_indent(
|
173
173
|
<<-EOB
|
174
174
|
quote_double ("aa'bb'cc")
|
@@ -180,10 +180,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
180
180
|
EOB
|
181
181
|
)))
|
182
182
|
)
|
183
|
+
end
|
183
184
|
|
184
|
-
|
185
|
+
def test_string_in_string_2
|
185
186
|
assert_equals(
|
186
|
-
|
187
|
+
"string_in_string 2",
|
187
188
|
strip_indent(
|
188
189
|
<<-EOB
|
189
190
|
quote_single ('aa"bb"cc')
|
@@ -198,12 +199,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
198
199
|
end
|
199
200
|
|
200
201
|
|
201
|
-
def
|
202
|
-
msg = "comment_in_comment - "
|
203
|
-
|
204
|
-
########
|
202
|
+
def test_comment_in_comment_1
|
205
203
|
assert_equals(
|
206
|
-
|
204
|
+
"comment_in_comment 1",
|
207
205
|
strip_indent(
|
208
206
|
<<-EOB
|
209
207
|
comment_single (--a--b)
|
@@ -215,10 +213,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
215
213
|
EOB
|
216
214
|
)))
|
217
215
|
)
|
216
|
+
end
|
218
217
|
|
219
|
-
|
218
|
+
def test_comment_in_comment_2
|
220
219
|
assert_equals(
|
221
|
-
|
220
|
+
"comment_in_comment 2",
|
222
221
|
strip_indent(
|
223
222
|
<<-EOB
|
224
223
|
comment_single (-- aa /* bb */)
|
@@ -230,10 +229,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
230
229
|
EOB
|
231
230
|
)))
|
232
231
|
)
|
232
|
+
end
|
233
233
|
|
234
|
-
|
234
|
+
def test_comment_in_comment_3
|
235
235
|
assert_equals(
|
236
|
-
|
236
|
+
"comment_in_comment 3",
|
237
237
|
strip_indent(
|
238
238
|
<<-EOB
|
239
239
|
comment_multi (/* aa /* bb */)
|
@@ -245,10 +245,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
245
245
|
EOB
|
246
246
|
)))
|
247
247
|
)
|
248
|
+
end
|
248
249
|
|
249
|
-
|
250
|
+
def test_comment_in_comment_4
|
250
251
|
assert_equals(
|
251
|
-
|
252
|
+
"comment_in_comment 4",
|
252
253
|
strip_indent(
|
253
254
|
<<-EOB
|
254
255
|
comment_multi (/* aa -- bb */)
|
@@ -263,12 +264,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
263
264
|
end
|
264
265
|
|
265
266
|
|
266
|
-
def
|
267
|
-
msg = "string_in_comment - "
|
268
|
-
|
269
|
-
########
|
267
|
+
def test_string_in_comment_1
|
270
268
|
assert_equals(
|
271
|
-
|
269
|
+
"string_in_comment 1",
|
272
270
|
strip_indent(
|
273
271
|
<<-EOB
|
274
272
|
comment_single (-- aa "bb" cc)
|
@@ -280,10 +278,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
280
278
|
EOB
|
281
279
|
)))
|
282
280
|
)
|
281
|
+
end
|
283
282
|
|
284
|
-
|
283
|
+
def test_string_in_comment_2
|
285
284
|
assert_equals(
|
286
|
-
|
285
|
+
"string_in_comment 2",
|
287
286
|
strip_indent(
|
288
287
|
<<-EOB
|
289
288
|
comment_single (-- aa 'bb' cc)
|
@@ -295,10 +294,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
295
294
|
EOB
|
296
295
|
)))
|
297
296
|
)
|
297
|
+
end
|
298
298
|
|
299
|
-
|
299
|
+
def test_string_in_comment_3
|
300
300
|
assert_equals(
|
301
|
-
|
301
|
+
"string_in_comment 3",
|
302
302
|
strip_indent(
|
303
303
|
<<-EOB
|
304
304
|
comment_multi (/* aa "bb" cc */)
|
@@ -310,10 +310,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
310
310
|
EOB
|
311
311
|
)))
|
312
312
|
)
|
313
|
+
end
|
313
314
|
|
314
|
-
|
315
|
+
def test_string_in_comment_4
|
315
316
|
assert_equals(
|
316
|
-
|
317
|
+
"string_in_comment 4",
|
317
318
|
strip_indent(
|
318
319
|
<<-EOB
|
319
320
|
comment_multi (/* aa 'bb' cc */)
|
@@ -328,12 +329,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
328
329
|
end
|
329
330
|
|
330
331
|
|
331
|
-
def
|
332
|
-
msg = "comment_in_string - "
|
333
|
-
|
334
|
-
########
|
332
|
+
def test_comment_in_string_1
|
335
333
|
assert_equals(
|
336
|
-
|
334
|
+
"comment_in_string - comment_single in quote_single",
|
337
335
|
strip_indent(
|
338
336
|
<<-EOB
|
339
337
|
quote_single ('aa--bb')
|
@@ -345,10 +343,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
345
343
|
EOB
|
346
344
|
)))
|
347
345
|
)
|
346
|
+
end
|
348
347
|
|
349
|
-
|
348
|
+
def test_comment_in_string_2
|
350
349
|
assert_equals(
|
351
|
-
|
350
|
+
"comment_in_string - comment_single in quote_double",
|
352
351
|
strip_indent(
|
353
352
|
<<-EOB
|
354
353
|
quote_double ("aa--bb")
|
@@ -360,10 +359,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
360
359
|
EOB
|
361
360
|
)))
|
362
361
|
)
|
362
|
+
end
|
363
363
|
|
364
|
-
|
364
|
+
def test_comment_in_string_3
|
365
365
|
assert_equals(
|
366
|
-
|
366
|
+
"comment_in_string - comment_multi in quote_double",
|
367
367
|
strip_indent(
|
368
368
|
<<-EOB
|
369
369
|
quote_double ("aa /* bb */ cc")
|
@@ -375,10 +375,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
375
375
|
EOB
|
376
376
|
)))
|
377
377
|
)
|
378
|
+
end
|
378
379
|
|
379
|
-
|
380
|
+
def test_comment_in_string_4
|
380
381
|
assert_equals(
|
381
|
-
|
382
|
+
"comment_in_string - comment_multi in quote_double",
|
382
383
|
strip_indent(
|
383
384
|
<<-EOB
|
384
385
|
quote_single ('aa /* bb */ cc')
|
@@ -393,12 +394,9 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
393
394
|
end
|
394
395
|
|
395
396
|
|
396
|
-
def
|
397
|
-
msg = "string_escape"
|
398
|
-
|
399
|
-
########
|
397
|
+
def test_string_escape_1
|
400
398
|
assert_equals(
|
401
|
-
|
399
|
+
"string_escape 1",
|
402
400
|
strip_indent(
|
403
401
|
<<-EOB
|
404
402
|
quote_double ("_a_\\\\_b_\n_c_\\'_d_")
|
@@ -410,10 +408,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
410
408
|
EOB
|
411
409
|
)))
|
412
410
|
)
|
411
|
+
end
|
413
412
|
|
414
|
-
|
413
|
+
def test_string_escape_2
|
415
414
|
assert_equals(
|
416
|
-
|
415
|
+
"string_escape 2",
|
417
416
|
strip_indent(
|
418
417
|
<<-EOB
|
419
418
|
quote_single ('_a_\\\\_b_\n_c_\\'_d_')
|
@@ -425,10 +424,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
425
424
|
EOB
|
426
425
|
)))
|
427
426
|
)
|
427
|
+
end
|
428
428
|
|
429
|
-
|
429
|
+
def test_string_escape_3
|
430
430
|
assert_equals(
|
431
|
-
|
431
|
+
"string_escape 3",
|
432
432
|
strip_indent(
|
433
433
|
<<-EOB
|
434
434
|
quote_double ("_a_""_b_")
|
@@ -440,10 +440,11 @@ class TestCoarseTokenizer < Test::Unit::TestCase
|
|
440
440
|
EOB
|
441
441
|
)))
|
442
442
|
)
|
443
|
+
end
|
443
444
|
|
444
|
-
|
445
|
+
def test_string_escape_4
|
445
446
|
assert_equals(
|
446
|
-
|
447
|
+
"string_escape 4",
|
447
448
|
strip_indent(
|
448
449
|
<<-EOB
|
449
450
|
quote_single ('_a_''_b_')
|
data/test/test_formatter.rb
CHANGED
@@ -498,8 +498,20 @@ class TestAnbtSqlFormatter < Test::Unit::TestCase
|
|
498
498
|
@fmt.format("a;")
|
499
499
|
)
|
500
500
|
end
|
501
|
-
|
502
|
-
|
501
|
+
|
502
|
+
def test_format_between
|
503
|
+
assert_equals(
|
504
|
+
"should not add a new line to 'BETWEEN ... AND ...'",
|
505
|
+
strip_indent(
|
506
|
+
<<-EOB
|
507
|
+
BETWEEN 0 AND 1
|
508
|
+
EOB
|
509
|
+
),
|
510
|
+
@fmt.format("between 0 and 1")
|
511
|
+
)
|
512
|
+
end
|
513
|
+
|
514
|
+
|
503
515
|
def test_split_to_statements
|
504
516
|
msg = "split_to_statements - "
|
505
517
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anbt-sql-formatter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sonota88
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A tool for SQL formatting written in Ruby. Ruby port of Blanco SQL Formatter.
|
14
14
|
email:
|
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
66
|
version: '0'
|
67
67
|
requirements: []
|
68
68
|
rubyforge_project: anbt-sql-formatter
|
69
|
-
rubygems_version: 2.6
|
69
|
+
rubygems_version: 2.7.6
|
70
70
|
signing_key:
|
71
71
|
specification_version: 4
|
72
72
|
summary: A tool for SQL formatting written in Ruby.
|