()
| 582 | |
| 583 | |
| 584 | def test_configurable_regex(): |
| 585 | lex = Lexer.get_default_instance() |
| 586 | lex.clear() |
| 587 | |
| 588 | my_regex = (r"ZORDER\s+BY\b", sqlparse.tokens.Keyword) |
| 589 | |
| 590 | lex.set_SQL_REGEX( |
| 591 | keywords.SQL_REGEX[:38] |
| 592 | + [my_regex] |
| 593 | + keywords.SQL_REGEX[38:] |
| 594 | ) |
| 595 | lex.add_keywords(keywords.KEYWORDS_COMMON) |
| 596 | lex.add_keywords(keywords.KEYWORDS_ORACLE) |
| 597 | lex.add_keywords(keywords.KEYWORDS_PLPGSQL) |
| 598 | lex.add_keywords(keywords.KEYWORDS_HQL) |
| 599 | lex.add_keywords(keywords.KEYWORDS_MSACCESS) |
| 600 | lex.add_keywords(keywords.KEYWORDS) |
| 601 | |
| 602 | tokens = sqlparse.parse("select * from foo zorder by bar;")[0] |
| 603 | |
| 604 | # reset the syntax for later tests. |
| 605 | Lexer.get_default_instance().default_initialization() |
| 606 | |
| 607 | assert list( |
| 608 | (t.ttype, t.value) |
| 609 | for t in tokens |
| 610 | if t.ttype not in sqlparse.tokens.Whitespace |
| 611 | )[4] == (sqlparse.tokens.Keyword, "zorder by") |
| 612 | |
| 613 | |
| 614 | @pytest.mark.parametrize('sql', [ |
nothing calls this directly
no test coverage detected
searching dependent graphs…