From d0765682bfc70bae6526707c04ab8c1f64c335e4 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Mon, 15 Apr 2013 19:05:47 +0200 Subject: [PATCH] rename auto encoding tests and add tests for c_string_type=unicode --HG-- rename : tests/run/unicode_ascii_encoding.pyx => tests/run/str_ascii_auto_encoding.pyx rename : tests/run/unicode_default_encoding.pyx => tests/run/str_default_auto_encoding.pyx rename : tests/run/unicode_ascii_encoding.pyx => tests/run/unicode_ascii_auto_encoding.pyx rename : tests/run/unicode_default_encoding.pyx => tests/run/unicode_default_auto_encoding.pyx --- tests/run/str_ascii_auto_encoding.pyx | 14 +++++++++++++ ..._encoding.pyx => str_default_auto_encoding.pyx} | 2 +- ...ncoding.pyx => unicode_ascii_auto_encoding.pyx} | 23 ++++++++++++---------- tests/run/unicode_default_auto_encoding.pyx | 13 ++++++++++++ 4 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 tests/run/str_ascii_auto_encoding.pyx rename tests/run/{unicode_default_encoding.pyx => str_default_auto_encoding.pyx} (87%) rename tests/run/{unicode_ascii_encoding.pyx => unicode_ascii_auto_encoding.pyx} (73%) create mode 100644 tests/run/unicode_default_auto_encoding.pyx diff --git a/tests/run/str_ascii_auto_encoding.pyx b/tests/run/str_ascii_auto_encoding.pyx new file mode 100644 index 0000000..756cd51 --- /dev/null +++ b/tests/run/str_ascii_auto_encoding.pyx @@ -0,0 +1,14 @@ +#cython: c_string_type = str +#cython: c_string_encoding = ascii + +"End of first directives" + +include "unicode_ascii_auto_encoding.pyx" + +auto_string_type = str + +def check_auto_string_type(): + """ + >>> check_auto_string_type() + """ + assert auto_string_type is str diff --git a/tests/run/unicode_default_encoding.pyx b/tests/run/str_default_auto_encoding.pyx similarity index 87% rename from tests/run/unicode_default_encoding.pyx rename to tests/run/str_default_auto_encoding.pyx index 93b1b5e..6ecb433 100644 --- a/tests/run/unicode_default_encoding.pyx +++ b/tests/run/str_default_auto_encoding.pyx @@ -10,4 +10,4 @@ if sys.version_info[0] >= 3: True """ -include "unicode_ascii_encoding.pyx" +include "str_ascii_auto_encoding.pyx" diff --git a/tests/run/unicode_ascii_encoding.pyx b/tests/run/unicode_ascii_auto_encoding.pyx similarity index 73% rename from tests/run/unicode_ascii_encoding.pyx rename to tests/run/unicode_ascii_auto_encoding.pyx index fdb3cf0..aaa89d9 100644 --- a/tests/run/unicode_ascii_encoding.pyx +++ b/tests/run/unicode_ascii_auto_encoding.pyx @@ -1,14 +1,17 @@ -#cython: c_string_type = str +#cython: c_string_type = unicode #cython: c_string_encoding = ascii +auto_string_type = unicode + from libc.string cimport strcmp + def as_objects(char* ascii_data): """ - >>> as_objects('abc') - 'abc' + >>> print(as_objects('abc')) + abc """ - assert isinstance(ascii_data, str) + assert isinstance(ascii_data, auto_string_type) assert isinstance(ascii_data, bytes) assert isinstance(ascii_data, str) assert isinstance(ascii_data, unicode) @@ -27,17 +30,17 @@ def from_object(): def slice_as_objects(char* ascii_data, int start, int end): """ - >>> slice_as_objects('grok', 1, 3) - 'ro' + >>> print(slice_as_objects('grok', 1, 3)) + ro """ - assert isinstance(ascii_data[start:end], str) + assert isinstance(ascii_data[start:end], auto_string_type) assert isinstance(ascii_data[start:end], bytes) assert isinstance(ascii_data[start:end], str) assert isinstance(ascii_data[start:end], unicode) - - assert isinstance(ascii_data[start:], str) + + assert isinstance(ascii_data[start:], auto_string_type) assert isinstance(ascii_data[start:], bytes) assert isinstance(ascii_data[start:], str) assert isinstance(ascii_data[start:], unicode) - + return ascii_data[start:end] diff --git a/tests/run/unicode_default_auto_encoding.pyx b/tests/run/unicode_default_auto_encoding.pyx new file mode 100644 index 0000000..02c7a30 --- /dev/null +++ b/tests/run/unicode_default_auto_encoding.pyx @@ -0,0 +1,13 @@ +# cython: c_string_type = unicode +# cython: c_string_encoding = default + +import sys +if sys.version_info[0] >= 3: + __doc__ = r""" + >>> as_objects("ab\xff") == "ab\xff" + True + >>> slice_as_objects("ab\xffd", 1, 4) == "b\xff" + True + """ + +include "unicode_ascii_auto_encoding.pyx" -- 2.7.4