| 104 | |
| 105 | @pytest.mark.skipif(OLD_PYGMENTS, reason="Pygments changed their tokenizer") |
| 106 | def test_python_render_simple_indent_guides() -> None: |
| 107 | syntax = Syntax( |
| 108 | CODE, |
| 109 | lexer="python", |
| 110 | line_numbers=False, |
| 111 | theme="ansi_light", |
| 112 | code_width=60, |
| 113 | word_wrap=False, |
| 114 | indent_guides=True, |
| 115 | ) |
| 116 | rendered_syntax = render(syntax) |
| 117 | print(repr(rendered_syntax)) |
| 118 | expected = '\x1b[34mdef\x1b[0m\x1b[37m \x1b[0m\x1b[32mloop_first_last\x1b[0m(values: Iterable[T]) -> Iterable[Tuple[\x1b[36mb\x1b[0m\n\x1b[2;37m│ \x1b[0m\x1b[33m"""Iterate and generate a tuple with a flag for first an\x1b[0m\n\x1b[2m│ \x1b[0miter_values = \x1b[36miter\x1b[0m(values)\n\x1b[2m│ \x1b[0m\x1b[34mtry\x1b[0m:\n\x1b[2m│ │ \x1b[0mprevious_value = \x1b[36mnext\x1b[0m(iter_values)\n\x1b[2m│ \x1b[0m\x1b[34mexcept\x1b[0m \x1b[36mStopIteration\x1b[0m:\n\x1b[2m│ │ \x1b[0m\x1b[34mreturn\x1b[0m\n\x1b[2m│ \x1b[0mfirst = \x1b[34mTrue\x1b[0m\n\x1b[2m│ \x1b[0m\x1b[34mfor\x1b[0m value \x1b[35min\x1b[0m iter_values:\n\x1b[2m│ │ \x1b[0m\x1b[34myield\x1b[0m first, \x1b[34mFalse\x1b[0m, previous_value\n\x1b[2m│ │ \x1b[0mfirst = \x1b[34mFalse\x1b[0m\n\x1b[2m│ │ \x1b[0mprevious_value = value\n\x1b[2m│ \x1b[0m\x1b[34myield\x1b[0m first, \x1b[34mTrue\x1b[0m, previous_value\n' |
| 119 | assert rendered_syntax == expected |
| 120 | |
| 121 | |
| 122 | @pytest.mark.skipif(OLD_PYGMENTS, reason="Pygments changed their tokenizer") |