rename auto encoding tests and add tests for c_string_type=unicode
authorStefan Behnel <stefan_ml@behnel.de>
Mon, 15 Apr 2013 17:05:47 +0000 (19:05 +0200)
committerStefan Behnel <stefan_ml@behnel.de>
Mon, 15 Apr 2013 17:05:47 +0000 (19:05 +0200)
--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 [new file with mode: 0644]
tests/run/str_default_auto_encoding.pyx [moved from tests/run/unicode_default_encoding.pyx with 87% similarity]
tests/run/unicode_ascii_auto_encoding.pyx [moved from tests/run/unicode_ascii_encoding.pyx with 73% similarity]
tests/run/unicode_default_auto_encoding.pyx [new file with mode: 0644]

diff --git a/tests/run/str_ascii_auto_encoding.pyx b/tests/run/str_ascii_auto_encoding.pyx
new file mode 100644 (file)
index 0000000..756cd51
--- /dev/null
@@ -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
similarity index 87%
rename from tests/run/unicode_default_encoding.pyx
rename to tests/run/str_default_auto_encoding.pyx
index 93b1b5e..6ecb433 100644 (file)
@@ -10,4 +10,4 @@ if sys.version_info[0] >= 3:
         True
         """
 
-include "unicode_ascii_encoding.pyx"
+include "str_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 (file)
@@ -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(<object>ascii_data, str)
+    assert isinstance(<object>ascii_data, auto_string_type)
     assert isinstance(<bytes>ascii_data, bytes)
     assert isinstance(<str>ascii_data, str)
     assert isinstance(<unicode>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(<object>ascii_data[start:end], str)
+    assert isinstance(<object>ascii_data[start:end], auto_string_type)
     assert isinstance(<bytes>ascii_data[start:end], bytes)
     assert isinstance(<str>ascii_data[start:end], str)
     assert isinstance(<unicode>ascii_data[start:end], unicode)
-    
-    assert isinstance(<object>ascii_data[start:], str)
+
+    assert isinstance(<object>ascii_data[start:], auto_string_type)
     assert isinstance(<bytes>ascii_data[start:], bytes)
     assert isinstance(<str>ascii_data[start:], str)
     assert isinstance(<unicode>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 (file)
index 0000000..02c7a30
--- /dev/null
@@ -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"