Skip to content

Commit 442959f

Browse files
author
Uku Pattak
committed
Reorganise tests and add extra documentation
1 parent 177e21d commit 442959f

File tree

3 files changed

+30
-20
lines changed

3 files changed

+30
-20
lines changed

src/core/Tokenizer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default class Tokenizer {
77
* @param {String[]} cfg.reservedWords Reserved words in SQL
88
* @param {String[]} cfg.reservedToplevelWords Words that are set to new line separately
99
* @param {String[]} cfg.reservedNewlineWords Words that are set to newline
10-
* @param {String[]} cfg.stringTypes String types to enable: "", '', ``, []
10+
* @param {String[]} cfg.stringTypes String types to enable: "", '', ``, [], N''
1111
* @param {String[]} cfg.openParens Opening parentheses to enable, like (, [
1212
* @param {String[]} cfg.closeParens Closing parentheses to enable, like ), ]
1313
* @param {String[]} cfg.indexedPlaceholderTypes Prefixes for indexed placeholders, like ?

test/StandardSqlFormatterTest.js

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -203,32 +203,21 @@ describe("StandardSqlFormatter", function() {
203203
});
204204

205205
it("formats simple SELECT", function() {
206-
const result = sqlFormatter.format("SELECT 'value'", );
206+
const result = sqlFormatter.format("SELECT N, M FROM t");
207207
expect(result).toBe(
208208
"SELECT\n" +
209-
" 'value'\n"
209+
" N,\n" +
210+
" M\n" +
211+
"FROM\n" +
212+
" t\n"
210213
);
211214
});
212215

213-
it("formats SELECT with complex WHERE", function() {
214-
const result = sqlFormatter.format(
215-
"SELECT * FROM foo WHERE Column1 = N'testing' AND Column2 = 'testing'" +
216-
"AND ( (Column3 = Column4 OR Column5 >= NOW()) );"
217-
);
216+
it("formats simple SELECT with national characters (MSSQL)", function() {
217+
const result = sqlFormatter.format("SELECT N'value'");
218218
expect(result).toBe(
219219
"SELECT\n" +
220-
" *\n" +
221-
"FROM\n" +
222-
" foo\n" +
223-
"WHERE\n" +
224-
" Column1 = N'testing'\n" +
225-
" AND Column2 = 'testing'\n" +
226-
" AND (\n" +
227-
" (\n" +
228-
" Column3 = Column4\n" +
229-
" OR Column5 >= NOW()\n" +
230-
" )\n" +
231-
" );\n"
220+
" N'value'\n"
232221
);
233222
});
234223

test/behavesLikeSqlFormatter.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,27 @@ export default function behavesLikeSqlFormatter(language) {
6060
);
6161
});
6262

63+
it("formats SELECT with complex WHERE", function() {
64+
const result = sqlFormatter.format(
65+
"SELECT * FROM foo WHERE Column1 = 'testing'" +
66+
"AND ( (Column2 = Column3 OR Column4 >= NOW()) );"
67+
);
68+
expect(result).toBe(
69+
"SELECT\n" +
70+
" *\n" +
71+
"FROM\n" +
72+
" foo\n" +
73+
"WHERE\n" +
74+
" Column1 = 'testing'\n" +
75+
" AND (\n" +
76+
" (\n" +
77+
" Column2 = Column3\n" +
78+
" OR Column4 >= NOW()\n" +
79+
" )\n" +
80+
" );\n"
81+
);
82+
});
83+
6384
it("formats SELECT with toplevel reserved words", function() {
6485
const result = format(
6586
"SELECT * FROM foo WHERE name = 'John' GROUP BY some_column " +

0 commit comments

Comments
 (0)