Add test for clickhouse: tokenize == as Token::DoubleEq (#981)

This commit is contained in:
Lukasz Stefaniak 2023-10-02 13:39:44 +02:00 committed by GitHub
parent e718ce6c42
commit 4903bd4b8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 36 additions and 3 deletions

View file

@ -1368,7 +1368,7 @@ fn peeking_take_while(chars: &mut State, mut predicate: impl FnMut(char) -> bool
#[cfg(test)]
mod tests {
use super::*;
use crate::dialect::{GenericDialect, MsSqlDialect};
use crate::dialect::{ClickHouseDialect, GenericDialect, MsSqlDialect};
#[test]
fn tokenizer_error_impl() {
@ -1414,6 +1414,28 @@ mod tests {
compare(expected, tokens);
}
#[test]
fn tokenize_clickhouse_double_equal() {
let sql = String::from("SELECT foo=='1'");
let dialect = ClickHouseDialect {};
let mut tokenizer = Tokenizer::new(&dialect, &sql);
let tokens = tokenizer.tokenize().unwrap();
let expected = vec![
Token::make_keyword("SELECT"),
Token::Whitespace(Whitespace::Space),
Token::Word(Word {
value: "foo".to_string(),
quote_style: None,
keyword: Keyword::NoKeyword,
}),
Token::DoubleEq,
Token::SingleQuotedString("1".to_string()),
];
compare(expected, tokens);
}
#[test]
fn tokenize_select_exponent() {
let sql = String::from("SELECT 1e10, 1e-10, 1e+10, 1ea, 1e-10a, 1e-10-10");