()
| 506 | |
| 507 | |
| 508 | def test_configurable_keywords(): |
| 509 | sql = """select * from foo BACON SPAM EGGS;""" |
| 510 | tokens = sqlparse.parse(sql)[0] |
| 511 | |
| 512 | assert list( |
| 513 | (t.ttype, t.value) |
| 514 | for t in tokens |
| 515 | if t.ttype not in sqlparse.tokens.Whitespace |
| 516 | ) == [ |
| 517 | (sqlparse.tokens.Keyword.DML, "select"), |
| 518 | (sqlparse.tokens.Wildcard, "*"), |
| 519 | (sqlparse.tokens.Keyword, "from"), |
| 520 | (None, "foo BACON"), |
| 521 | (None, "SPAM EGGS"), |
| 522 | (sqlparse.tokens.Punctuation, ";"), |
| 523 | ] |
| 524 | |
| 525 | Lexer.get_default_instance().add_keywords( |
| 526 | { |
| 527 | "BACON": sqlparse.tokens.Name.Builtin, |
| 528 | "SPAM": sqlparse.tokens.Keyword, |
| 529 | "EGGS": sqlparse.tokens.Keyword, |
| 530 | } |
| 531 | ) |
| 532 | |
| 533 | tokens = sqlparse.parse(sql)[0] |
| 534 | |
| 535 | # reset the syntax for later tests. |
| 536 | Lexer.get_default_instance().default_initialization() |
| 537 | |
| 538 | assert list( |
| 539 | (t.ttype, t.value) |
| 540 | for t in tokens |
| 541 | if t.ttype not in sqlparse.tokens.Whitespace |
| 542 | ) == [ |
| 543 | (sqlparse.tokens.Keyword.DML, "select"), |
| 544 | (sqlparse.tokens.Wildcard, "*"), |
| 545 | (sqlparse.tokens.Keyword, "from"), |
| 546 | (None, "foo"), |
| 547 | (sqlparse.tokens.Name.Builtin, "BACON"), |
| 548 | (sqlparse.tokens.Keyword, "SPAM"), |
| 549 | (sqlparse.tokens.Keyword, "EGGS"), |
| 550 | (sqlparse.tokens.Punctuation, ";"), |
| 551 | ] |
| 552 | |
| 553 | |
| 554 | def test_regexp(): |
nothing calls this directly
no test coverage detected
searching dependent graphs…