=== Parser error tests ===
Empty expr: SyntaxError - malformed f-string
Whitespace: Template(strings=('', ''), interpolations=(Interpolation(42, ' 42', None, ''),))

=== Error cases ===
Invalid syntax: SyntaxError
Long expr: Error
Mixed concat: SyntaxError
bt prefix: SyntaxError

=== Escape sequence coverage tests ===
Template(strings=('\\8',), interpolations=())
Template(strings=('\\9',), interpolations=())
Template(strings=('\\z',), interpolations=())
Template(strings=('\\k',), interpolations=())
Invalid \x escape: SyntaxError
Invalid \u escape: SyntaxError
Invalid \U escape: SyntaxError
Template(strings=('\x00\x01\xff',), interpolations=())
Template(strings=('A',), interpolations=())
Template(strings=('\u03b1',), interpolations=())
Template(strings=('\u2764',), interpolations=())
Template(strings=('A',), interpolations=())
Template(strings=('\U0001f600',), interpolations=())
Template(strings=('ABC',), interpolations=())
Unicode: Template(strings=('Unicode test:\nEmoji: ', '\nSpecial: ', ''), interpolations=(Interpolation('\U0001f40d', "'\\U0001f40d'", None, ''), Interpolation('\u03b1 \u03b2 \u03b3', "'\\u03b1 \\u03b2 \\u03b3'", None, '')))

=== Trailing whitespace preservation (PEP 750) ===
Expression with trailing spaces: |x|
Expression with both spaces: |   x|
Expression with leading spaces: |   x|
Trailing whitespace: PASS

=== Error message tests ===
Lone }} rejected (correct)
Unterminated {{ rejected (correct)

=== Triple quote empty interpolation ===
Empty interpolation error: SyntaxError: malformed f-string

Incompatible tests completed!
