mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-10-13 15:32:03 +00:00
National strings: check if dialect supports backslash escape (#1672)
This commit is contained in:
parent
c7c0de6551
commit
4f7154288e
2 changed files with 44 additions and 2 deletions
|
@ -33,7 +33,7 @@ use core::fmt::Debug;
|
|||
|
||||
use crate::dialect::*;
|
||||
use crate::parser::{Parser, ParserError};
|
||||
use crate::tokenizer::Tokenizer;
|
||||
use crate::tokenizer::{Token, Tokenizer};
|
||||
use crate::{ast::*, parser::ParserOptions};
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -237,6 +237,18 @@ impl TestedDialects {
|
|||
pub fn verified_expr(&self, sql: &str) -> Expr {
|
||||
self.expr_parses_to(sql, sql)
|
||||
}
|
||||
|
||||
/// Check that the tokenizer returns the expected tokens for the given SQL.
|
||||
pub fn tokenizes_to(&self, sql: &str, expected: Vec<Token>) {
|
||||
self.dialects.iter().for_each(|dialect| {
|
||||
let mut tokenizer = Tokenizer::new(&**dialect, sql);
|
||||
if let Some(options) = &self.options {
|
||||
tokenizer = tokenizer.with_unescape(options.unescape);
|
||||
}
|
||||
let tokens = tokenizer.tokenize().unwrap();
|
||||
assert_eq!(expected, tokens);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns all available dialects.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue