Lines 145-169
Link Here
|
145 |
TokenSequence<SQLTokenId> seq = getTokenSequence("'incomplete"); |
145 |
TokenSequence<SQLTokenId> seq = getTokenSequence("'incomplete"); |
146 |
assertTokens(seq, SQLTokenId.INCOMPLETE_STRING); |
146 |
assertTokens(seq, SQLTokenId.INCOMPLETE_STRING); |
147 |
} |
147 |
} |
148 |
|
148 |
|
149 |
public void testEscapeSingleQuote() throws Exception { |
149 |
public void testSingleQuote() throws Exception { |
150 |
TokenSequence<SQLTokenId> seq = getTokenSequence("'Frank\\'s Book'"); |
150 |
// See bug #200479 - the fix introduced with this text reverts a "fix" |
151 |
assertTrue(seq.moveNext()); |
151 |
// for bug #152325 - the latter bug can't be fixed, as it is clear violation |
152 |
assertEquals(SQLTokenId.STRING, seq.token().id()); |
152 |
// to SQL Standard - as this is a SQL lexer, not a MySQL lexer, this should |
153 |
assertEquals("'Frank\\'s Book'", seq.token().text().toString()); |
153 |
// should follow the standard |
154 |
|
154 |
TokenSequence<SQLTokenId> seq = getTokenSequence("'\\'"); |
155 |
seq = getTokenSequence("'Frank\\s Book'"); |
155 |
assertTokens(seq, SQLTokenId.STRING, SQLTokenId.WHITESPACE); |
156 |
assertTrue(seq.moveNext()); |
|
|
157 |
assertEquals(SQLTokenId.STRING, seq.token().id()); |
158 |
assertEquals("'Frank\\s Book'", seq.token().text().toString()); |
159 |
|
160 |
seq = getTokenSequence("'Frank\\"); |
161 |
assertTokens(seq, SQLTokenId.INCOMPLETE_STRING); |
162 |
|
163 |
seq = getTokenSequence("'Frank\\'"); |
164 |
assertTokens(seq, SQLTokenId.INCOMPLETE_STRING); |
165 |
} |
156 |
} |
166 |
|
157 |
|
167 |
/** |
158 |
/** |
168 |
* Check correct handling of multiline comments (bug #) |
159 |
* Check correct handling of multiline comments (bug #) |
169 |
* |
160 |
* |