diff --git a/parser/src/snapshots/rustpython_parser__string__tests__backspace_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__backspace_alias.snap new file mode 100644 index 0000000..eea9786 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__backspace_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 15, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 15, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{8}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__bell_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__bell_alias.snap new file mode 100644 index 0000000..cf04fd6 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__bell_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 9, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 9, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{7}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__carriage_return_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__carriage_return_alias.snap new file mode 100644 index 0000000..33a84d2 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__carriage_return_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 21, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 21, + }, + ), + custom: (), + node: Constant { + value: Str( + "\r", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__character_tabulation_with_justification_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__character_tabulation_with_justification_alias.snap new file mode 100644 index 0000000..282706f --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__character_tabulation_with_justification_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 45, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 45, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{89}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__delete_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__delete_alias.snap new file mode 100644 index 0000000..06e74d2 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__delete_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 12, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 12, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{7f}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__escape_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__escape_alias.snap new file mode 100644 index 0000000..751456d --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__escape_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 12, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 12, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{1b}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__form_feed_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__form_feed_alias.snap new file mode 100644 index 0000000..b91c10e --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__form_feed_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 15, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 15, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{c}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/snapshots/rustpython_parser__string__tests__hts_alias.snap b/parser/src/snapshots/rustpython_parser__string__tests__hts_alias.snap new file mode 100644 index 0000000..73f1207 --- /dev/null +++ b/parser/src/snapshots/rustpython_parser__string__tests__hts_alias.snap @@ -0,0 +1,40 @@ +--- +source: compiler/parser/src/string.rs +expression: parse_ast +--- +[ + Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 9, + }, + ), + custom: (), + node: Expr { + value: Located { + location: Location { + row: 1, + column: 0, + }, + end_location: Some( + Location { + row: 1, + column: 9, + }, + ), + custom: (), + node: Constant { + value: Str( + "\u{88}", + ), + kind: None, + }, + }, + }, + }, +] diff --git a/parser/src/string.rs b/parser/src/string.rs index a8be777..0cd03df 100644 --- a/parser/src/string.rs +++ b/parser/src/string.rs @@ -1048,4 +1048,28 @@ mod tests { let parse_ast = parse_program(source, "").unwrap(); insta::assert_debug_snapshot!(parse_ast); } + + macro_rules! test_aliases_parse { + ($($name:ident: $alias:expr,)*) => { + $( + #[test] + fn $name() { + let source = format!(r#""\N{{{0}}}""#, $alias); + let parse_ast = parse_program(&source, "").unwrap(); + insta::assert_debug_snapshot!(parse_ast); + } + )* + } + } + + test_aliases_parse! { + test_backspace_alias: "BACKSPACE", + test_bell_alias: "BEL", + test_carriage_return_alias: "CARRIAGE RETURN", + test_delete_alias: "DELETE", + test_escape_alias: "ESCAPE", + test_form_feed_alias: "FORM FEED", + test_hts_alias: "HTS", + test_character_tabulation_with_justification_alias: "CHARACTER TABULATION WITH JUSTIFICATION", + } }