From 5bfa4cec7c42fc3699c8a7d4110b58511d33bc91 Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Wed, 31 Jul 2019 16:34:00 +0900 Subject: [PATCH] ascii: Improve test --- tests/snippets/builtin_ascii.py | 4 +++- vm/src/builtins.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/snippets/builtin_ascii.py b/tests/snippets/builtin_ascii.py index 7610dd5af2..2132723c6b 100644 --- a/tests/snippets/builtin_ascii.py +++ b/tests/snippets/builtin_ascii.py @@ -2,4 +2,6 @@ assert ascii('hello world') == "'hello world'" assert ascii('안녕 세상') == "'\\uc548\\ub155 \\uc138\\uc0c1'" assert ascii('안녕 RustPython') == "'\\uc548\\ub155 RustPython'" assert ascii(5) == '5' -assert ascii(chr(0x10001)) == "'\\U00010001'" \ No newline at end of file +assert ascii(chr(0x10001)) == "'\\U00010001'" +assert ascii(chr(0x9999)) == "'\\u9999'" +assert ascii(chr(0x0A)) == "'\\n'" \ No newline at end of file diff --git a/vm/src/builtins.rs b/vm/src/builtins.rs index 48f0408f1b..0ac6946a7b 100644 --- a/vm/src/builtins.rs +++ b/vm/src/builtins.rs @@ -66,7 +66,7 @@ fn builtin_ascii(obj: PyObjectRef, vm: &VirtualMachine) -> PyResult { if c.is_ascii() { ascii.push(c); } else if (c as i64) < 0x10000 { - let hex = format!("\\u{:x}", c as i64); + let hex = format!("\\u{:04x}", c as i64); ascii.push_str(&hex); } else { let hex = format!("\\U{:08x}", c as i64);