From 3c420a2fa054a5adb88ea7249adfe31dc5336b8d Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Thu, 5 Jun 2025 22:42:14 +0900 Subject: [PATCH] Add UTF-32 functions --- Lib/test/string_tests.py | 2 -- Lib/test/test_array.py | 2 -- vm/src/stdlib/codecs.rs | 29 ++++++++++++++++++++++++++++- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index 6f402513fd..1dfb73779b 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -1201,8 +1201,6 @@ def test___contains__(self): self.checkequal(False, '', '__contains__', 'asdf') - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_subscript(self): self.checkequal('a', 'abc', '__getitem__', 0) self.checkequal('c', 'abc', '__getitem__', -1) diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py index c3250ef72e..2f76a688fc 100644 --- a/Lib/test/test_array.py +++ b/Lib/test/test_array.py @@ -357,8 +357,6 @@ def test_reverse_iterator(self): self.assertEqual(list(a), list(self.example)) self.assertEqual(list(reversed(a)), list(iter(a))[::-1]) - # TODO: RUSTPYTHON - @unittest.expectedFailure def test_reverse_iterator_picking(self): orig = array.array(self.typecode, self.example) data = list(orig) diff --git a/vm/src/stdlib/codecs.rs b/vm/src/stdlib/codecs.rs index c0a091bcf8..2299cd2b7a 100644 --- a/vm/src/stdlib/codecs.rs +++ b/vm/src/stdlib/codecs.rs @@ -305,5 +305,32 @@ mod _codecs { fn utf_16_ex_decode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { delegate_pycodecs!(utf_16_ex_decode, args, vm) } - // TODO: utf-32 functions + #[pyfunction] + fn utf_32_encode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_encode, args, vm) + } + #[pyfunction] + fn utf_32_decode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_decode, args, vm) + } + #[pyfunction] + fn utf_32_le_encode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_le_encode, args, vm) + } + #[pyfunction] + fn utf_32_le_decode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_le_decode, args, vm) + } + #[pyfunction] + fn utf_32_be_encode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_be_encode, args, vm) + } + #[pyfunction] + fn utf_32_be_decode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_be_decode, args, vm) + } + #[pyfunction] + fn utf_32_ex_decode(args: FuncArgs, vm: &VirtualMachine) -> PyResult { + delegate_pycodecs!(utf_32_ex_decode, args, vm) + } }