Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
nexedi
cython
Commits
67d97208
Commit
67d97208
authored
Apr 19, 2019
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update test_unicode.py from Py3.8.
parent
c6d4e57b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
21 deletions
+25
-21
tests/run/test_unicode.pyx
tests/run/test_unicode.pyx
+25
-21
No files found.
tests/run/test_unicode.pyx
View file @
67d97208
...
@@ -1666,6 +1666,11 @@ class UnicodeTest(CommonTest,
...
@@ -1666,6 +1666,11 @@ class UnicodeTest(CommonTest,
for
c
in
set_o
:
for
c
in
set_o
:
self
.
assertEqual
(
c
.
encode
(
'ascii'
).
decode
(
'utf7'
),
c
)
self
.
assertEqual
(
c
.
encode
(
'ascii'
).
decode
(
'utf7'
),
c
)
if
sys
.
version_info
>=
(
3
,
8
):
with
self
.
assertRaisesRegex
(
UnicodeDecodeError
,
'ill-formed sequence'
):
b'+@'
.
decode
(
'utf-7'
)
def
test_codecs_utf8
(
self
):
def
test_codecs_utf8
(
self
):
self
.
assertEqual
(
''
.
encode
(
'utf-8'
),
b''
)
self
.
assertEqual
(
''
.
encode
(
'utf-8'
),
b''
)
self
.
assertEqual
(
'
\
u20ac
'
.
encode
(
'utf-8'
),
b'
\
xe2
\
x82
\
xac
'
)
self
.
assertEqual
(
'
\
u20ac
'
.
encode
(
'utf-8'
),
b'
\
xe2
\
x82
\
xac
'
)
...
@@ -2136,12 +2141,8 @@ class UnicodeTest(CommonTest,
...
@@ -2136,12 +2141,8 @@ class UnicodeTest(CommonTest,
u
=
chr
(
c
)
u
=
chr
(
c
)
for
encoding
in
(
'utf-7'
,
'utf-8'
,
'utf-16'
,
'utf-16-le'
,
for
encoding
in
(
'utf-7'
,
'utf-8'
,
'utf-16'
,
'utf-16-le'
,
'utf-16-be'
,
'raw_unicode_escape'
,
'utf-16-be'
,
'raw_unicode_escape'
,
'unicode_escape'
,
'unicode_internal'
):
'unicode_escape'
):
with
warnings
.
catch_warnings
():
self
.
assertEqual
(
str
(
u
.
encode
(
encoding
),
encoding
),
u
)
# unicode-internal has been deprecated
warnings
.
simplefilter
(
"ignore"
,
DeprecationWarning
)
self
.
assertEqual
(
str
(
u
.
encode
(
encoding
),
encoding
),
u
)
# Roundtrip safety for BMP (just the first 256 chars)
# Roundtrip safety for BMP (just the first 256 chars)
for
c
in
range
(
256
):
for
c
in
range
(
256
):
...
@@ -2157,13 +2158,9 @@ class UnicodeTest(CommonTest,
...
@@ -2157,13 +2158,9 @@ class UnicodeTest(CommonTest,
# Roundtrip safety for non-BMP (just a few chars)
# Roundtrip safety for non-BMP (just a few chars)
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
# unicode-internal has been deprecated
warnings
.
simplefilter
(
"ignore"
,
DeprecationWarning
)
u
=
'
\
U00010001
\
U00020002
\
U00030003
\
U00040004
\
U00050005
'
u
=
'
\
U00010001
\
U00020002
\
U00030003
\
U00040004
\
U00050005
'
for
encoding
in
(
'utf-8'
,
'utf-16'
,
'utf-16-le'
,
'utf-16-be'
,
for
encoding
in
(
'utf-8'
,
'utf-16'
,
'utf-16-le'
,
'utf-16-be'
,
'raw_unicode_escape'
,
'raw_unicode_escape'
,
'unicode_escape'
):
'unicode_escape'
,
'unicode_internal'
):
self
.
assertEqual
(
str
(
u
.
encode
(
encoding
),
encoding
),
u
)
self
.
assertEqual
(
str
(
u
.
encode
(
encoding
),
encoding
),
u
)
# UTF-8 must be roundtrip safe for all code points
# UTF-8 must be roundtrip safe for all code points
...
@@ -2382,22 +2379,23 @@ class UnicodeTest(CommonTest,
...
@@ -2382,22 +2379,23 @@ class UnicodeTest(CommonTest,
self
.
assertEqual
(
args
[
0
],
text
)
self
.
assertEqual
(
args
[
0
],
text
)
self
.
assertEqual
(
len
(
args
),
1
)
self
.
assertEqual
(
len
(
args
),
1
)
@
unittest
.
skipIf
(
sys
.
version_info
<
(
3
,
8
),
'resize test requires Py3.8+'
)
@
support
.
cpython_only
def
test_resize
(
self
):
def
test_resize
(
self
):
from
_testcapi
import
getargs_u
for
length
in
range
(
1
,
100
,
7
):
for
length
in
range
(
1
,
100
,
7
):
# generate a fresh string (refcount=1)
# generate a fresh string (refcount=1)
text
=
'a'
*
length
+
'b'
text
=
'a'
*
length
+
'b'
with
support
.
check_warnings
((
'unicode_internal codec has been '
# fill wstr internal field
'deprecated'
,
DeprecationWarning
)):
abc
=
getargs_u
(
text
)
# fill wstr internal field
self
.
assertEqual
(
abc
,
text
)
abc
=
text
.
encode
(
'unicode_internal'
)
self
.
assertEqual
(
abc
.
decode
(
'unicode_internal'
),
text
)
# resize text: wstr field must be cleared and then recomputed
# resize text: wstr field must be cleared and then recomputed
text
+=
'c'
text
+=
'c'
abcdef
=
text
.
encode
(
'unicode_internal'
)
abcdef
=
getargs_u
(
text
)
self
.
assertNotEqual
(
abc
,
abcdef
)
self
.
assertNotEqual
(
abc
,
abcdef
)
self
.
assertEqual
(
abcdef
.
decode
(
'unicode_internal'
)
,
text
)
self
.
assertEqual
(
abcdef
,
text
)
def
test_compare
(
self
):
def
test_compare
(
self
):
# Issue #17615
# Issue #17615
...
@@ -2714,6 +2712,12 @@ class CAPITest(unittest.TestCase):
...
@@ -2714,6 +2712,12 @@ class CAPITest(unittest.TestCase):
check_format('%.%s',
check_format('%.%s',
b'%.%s', b'abc')
b'%.%s', b'abc')
# Issue #33817: empty strings
check_format('',
b'')
check_format('',
b'%s', b'')
# Test PyUnicode_AsWideChar()
# Test PyUnicode_AsWideChar()
@support.cpython_only
@support.cpython_only
def test_aswidechar(self):
def test_aswidechar(self):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment