Files
libadalang/testsuite/python_support/unicode_utils.py

32 lines
758 B
Python

# The following sources do not contain the same string literals so that
# testcases can check the reparsing actually worked.
src_buffer_iso_8859_1 = b"""with Ada.Text_IO; use Ada.Text_IO;
procedure Test is
begin
Put_Line("H\xe9llo w\xf6rld!");
end Test;
"""
src_buffer_utf_8 = b"""with Ada.Text_IO; use Ada.Text_IO;
procedure Test is
begin
Put_Line("H\xc3\xa8llo w\xc3\xb5rld!");
end Test;
"""
def get_string_literal(unit):
"""
Assuming UNIT is one of the above source that is parsed successfuly, return
the text associated to the string literal in the Put_Line call.
"""
node = unit.root
subp = node.f_body.f_item
call = subp.f_stmts.f_stmts[0]
str_lit = call.f_call.f_suffix[0].f_r_expr
return str_lit.text