@@ -45,68 +45,68 @@ describe('Test 489 - ASCII with backslash character', function () {
4545 // Testing single quotes, double quotes, and backslashes
4646
4747 // Basic single quote in double quotes
48- assert . equal ( alasql ( " VALUE OF SELECT \"'\"" ) , "'" ) ;
49-
48+ assert . equal ( alasql ( ' VALUE OF SELECT "\'"' ) , "'" ) ;
49+
5050 // SQL quote doubling - '' becomes '
5151 assert . equal ( alasql ( "VALUE OF SELECT ''''" ) , "'" ) ;
52-
52+
5353 // Double quote inside single quotes
54- assert . equal ( alasql ( " VALUE OF SELECT '\"\"'" ) , '""' ) ;
55-
54+ assert . equal ( alasql ( ' VALUE OF SELECT \'""\'' ) , '""' ) ;
55+
5656 // Backslash escaping - \\ becomes \
57- assert . equal ( alasql ( "VALUE OF SELECT '\\\\'" ) , "\\" ) ;
58-
57+ assert . equal ( alasql ( "VALUE OF SELECT '\\\\'" ) , '\\' ) ;
58+
5959 // Two backslashes - \\\\ becomes \\
60- assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\'" ) , " \\\\" ) ;
61-
60+ assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\'" ) , ' \\\\' ) ;
61+
6262 // Three backslashes - \\\\\\ becomes \\\
63- assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\'" ) , " \\\\\\" ) ;
64-
63+ assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\'" ) , ' \\\\\\' ) ;
64+
6565 // Four backslashes - \\\\\\\\ becomes \\\\
66- assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\'" ) , " \\\\\\\\" ) ;
67-
66+ assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\'" ) , ' \\\\\\\\' ) ;
67+
6868 // Five backslashes - \\\\\\\\\\ becomes \\\\\
69- assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\\\\\'" ) , " \\\\\\\\\\" ) ;
70-
69+ assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\\\\\'" ) , ' \\\\\\\\\\' ) ;
70+
7171 // Backslash followed by doubled quote - \\'' becomes \'
7272 assert . equal ( alasql ( "VALUE OF SELECT '\\\\'''" ) , "\\'" ) ;
73-
73+
7474 // Two backslashes followed by doubled quote - \\\\'' becomes \\'
7575 assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\'''" ) , "\\\\'" ) ;
76-
76+
7777 // Three backslashes followed by doubled quote - \\\\\\'' becomes \\\'
7878 assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\'''" ) , "\\\\\\'" ) ;
79-
79+
8080 // Four backslashes followed by doubled quote - \\\\\\\\'' becomes \\\\'
8181 assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\'''" ) , "\\\\\\\\'" ) ;
82-
82+
8383 // Five backslashes followed by doubled quote - \\\\\\\\\\'' becomes \\\\\'
8484 assert . equal ( alasql ( "VALUE OF SELECT '\\\\\\\\\\\\\\\\\\\\'''" ) , "\\\\\\\\\\'" ) ;
85-
85+
8686 // Doubled quote with text - ''a'' becomes 'a'
8787 assert . equal ( alasql ( "VALUE OF SELECT '''a'''" ) , "'a'" ) ;
88-
88+
8989 // Text with doubled quote in middle - a''b becomes a'b
9090 assert . equal ( alasql ( "VALUE OF SELECT 'a''b'" ) , "a'b" ) ;
91-
91+
9292 // Backslash before doubled quote in text - a\\'' becomes a\'
9393 assert . equal ( alasql ( "VALUE OF SELECT 'a\\\\'''" ) , "a\\'" ) ;
94-
94+
9595 // Multiple doubled quotes - '''' becomes '
9696 assert . equal ( alasql ( "VALUE OF SELECT ''''" ) , "'" ) ;
97-
97+
9898 // Two sets of doubled quotes - '''''' becomes ''
9999 assert . equal ( alasql ( "VALUE OF SELECT ''''''" ) , "''" ) ;
100-
100+
101101 // Three sets of doubled quotes - '''''''' becomes '''
102102 assert . equal ( alasql ( "VALUE OF SELECT ''''''''" ) , "'''" ) ;
103-
103+
104104 // Double quotes with backslash inside
105- assert . equal ( alasql ( " VALUE OF SELECT \ "\\\\\"" ) , "\\" ) ;
106-
105+ assert . equal ( alasql ( ' VALUE OF SELECT "\\\\"' ) , '\\' ) ;
106+
107107 // Complex: backslash, quote, backslash, quote in one string - \\''\\'
108108 assert . equal ( alasql ( "VALUE OF SELECT '\\\\''\\\\'''" ) , "\\'\\'" ) ;
109-
109+
110110 // Very complex: multiple backslashes and quotes
111111 var result = alasql ( "VALUE OF SELECT '\\\\\\\\''\\\\'''" ) ;
112112 assert . equal ( result , "\\\\'\\'" ) ;
@@ -117,79 +117,79 @@ describe('Test 489 - ASCII with backslash character', function () {
117117 // AlaSQL allows both single and double quotes for strings, but only single quote
118118 // doubling works as an escape sequence. Double quotes inside double-quoted strings
119119 // are treated as literal characters, not escape sequences.
120-
120+
121121 // Double-quoted string with literal double quotes (no escaping)
122122 assert . equal ( alasql ( 'VALUE OF SELECT """"' ) , '""' ) ;
123-
123+
124124 // Double-quoted string (alternative syntax, no escaping needed)
125- assert . equal ( alasql ( " VALUE OF SELECT \"\"\"\"" ) , '""' ) ;
126-
125+ assert . equal ( alasql ( ' VALUE OF SELECT """"' ) , '""' ) ;
126+
127127 // Double quote inside single quotes (no escaping, just literal characters)
128- assert . equal ( alasql ( " VALUE OF SELECT '\"\"'" ) , '""' ) ;
129-
128+ assert . equal ( alasql ( ' VALUE OF SELECT \'""\'' ) , '""' ) ;
129+
130130 // Single double quote in double-quoted string
131131 assert . equal ( alasql ( 'VALUE OF SELECT "x"' ) , 'x' ) ;
132-
132+
133133 // Multiple double quotes are literal in double-quoted strings
134134 assert . equal ( alasql ( 'VALUE OF SELECT "a""b"' ) , 'a""b' ) ;
135135 } ) ;
136136
137137 it ( 'H) Parameterized queries with escaped data' , function ( ) {
138138 // Test how the parser handles escaped characters when data is passed in
139-
139+
140140 // Single quote in parameter
141- var res1 = alasql ( " VALUE OF SELECT ?" , [ "'" ] ) ;
141+ var res1 = alasql ( ' VALUE OF SELECT ?' , [ "'" ] ) ;
142142 assert . equal ( res1 , "'" ) ;
143-
143+
144144 // Double single quotes in parameter
145- var res2 = alasql ( " VALUE OF SELECT ?" , [ "''" ] ) ;
145+ var res2 = alasql ( ' VALUE OF SELECT ?' , [ "''" ] ) ;
146146 assert . equal ( res2 , "''" ) ;
147-
147+
148148 // Backslash in parameter
149- var res3 = alasql ( " VALUE OF SELECT ?" , [ "\\" ] ) ;
150- assert . equal ( res3 , "\\" ) ;
151-
149+ var res3 = alasql ( ' VALUE OF SELECT ?' , [ '\\' ] ) ;
150+ assert . equal ( res3 , '\\' ) ;
151+
152152 // Multiple backslashes in parameter
153- var res4 = alasql ( " VALUE OF SELECT ?" , [ " \\\\" ] ) ;
154- assert . equal ( res4 , " \\\\" ) ;
155-
153+ var res4 = alasql ( ' VALUE OF SELECT ?' , [ ' \\\\' ] ) ;
154+ assert . equal ( res4 , ' \\\\' ) ;
155+
156156 // Backslash followed by quote in parameter
157- var res5 = alasql ( " VALUE OF SELECT ?" , [ "\\'" ] ) ;
157+ var res5 = alasql ( ' VALUE OF SELECT ?' , [ "\\'" ] ) ;
158158 assert . equal ( res5 , "\\'" ) ;
159-
159+
160160 // Double quote in parameter
161- var res6 = alasql ( " VALUE OF SELECT ?" , [ '"' ] ) ;
161+ var res6 = alasql ( ' VALUE OF SELECT ?' , [ '"' ] ) ;
162162 assert . equal ( res6 , '"' ) ;
163-
163+
164164 // Double quotes in parameter
165- var res7 = alasql ( " VALUE OF SELECT ?" , [ '""' ] ) ;
165+ var res7 = alasql ( ' VALUE OF SELECT ?' , [ '""' ] ) ;
166166 assert . equal ( res7 , '""' ) ;
167-
167+
168168 // Complex: backslash, quote, backslash in parameter
169- var res8 = alasql ( " VALUE OF SELECT ?" , [ "\\'\\" ] ) ;
169+ var res8 = alasql ( ' VALUE OF SELECT ?' , [ "\\'\\" ] ) ;
170170 assert . equal ( res8 , "\\'\\" ) ;
171-
171+
172172 // Test round-trip: insert and select with escaped characters
173- alasql ( " CREATE TABLE test_escape (val STRING)" ) ;
174-
173+ alasql ( ' CREATE TABLE test_escape (val STRING)' ) ;
174+
175175 // Insert single quote
176- alasql ( " INSERT INTO test_escape VALUES (?)" , [ "'" ] ) ;
177- var result1 = alasql ( " SELECT val FROM test_escape" ) ;
176+ alasql ( ' INSERT INTO test_escape VALUES (?)' , [ "'" ] ) ;
177+ var result1 = alasql ( ' SELECT val FROM test_escape' ) ;
178178 assert . equal ( result1 [ 0 ] . val , "'" ) ;
179-
179+
180180 // Clear and insert backslash
181- alasql ( " DELETE FROM test_escape" ) ;
182- alasql ( " INSERT INTO test_escape VALUES (?)" , [ "\\" ] ) ;
183- var result2 = alasql ( " SELECT val FROM test_escape" ) ;
184- assert . equal ( result2 [ 0 ] . val , "\\" ) ;
185-
181+ alasql ( ' DELETE FROM test_escape' ) ;
182+ alasql ( ' INSERT INTO test_escape VALUES (?)' , [ '\\' ] ) ;
183+ var result2 = alasql ( ' SELECT val FROM test_escape' ) ;
184+ assert . equal ( result2 [ 0 ] . val , '\\' ) ;
185+
186186 // Clear and insert backslash + quote
187- alasql ( " DELETE FROM test_escape" ) ;
188- alasql ( " INSERT INTO test_escape VALUES (?)" , [ "\\'" ] ) ;
189- var result3 = alasql ( " SELECT val FROM test_escape" ) ;
187+ alasql ( ' DELETE FROM test_escape' ) ;
188+ alasql ( ' INSERT INTO test_escape VALUES (?)' , [ "\\'" ] ) ;
189+ var result3 = alasql ( ' SELECT val FROM test_escape' ) ;
190190 assert . equal ( result3 [ 0 ] . val , "\\'" ) ;
191-
191+
192192 // Clean up
193- alasql ( " DROP TABLE test_escape" ) ;
193+ alasql ( ' DROP TABLE test_escape' ) ;
194194 } ) ;
195195} ) ;
0 commit comments