new (partial) test case for ticket #582
authorStefan Behnel <scoder@users.berlios.de>
Sat, 30 Oct 2010 20:01:55 +0000 (22:01 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Sat, 30 Oct 2010 20:01:55 +0000 (22:01 +0200)
tests/run/charptr_comparison_T582.pyx [new file with mode: 0644]

diff --git a/tests/run/charptr_comparison_T582.pyx b/tests/run/charptr_comparison_T582.pyx
new file mode 100644 (file)
index 0000000..c30a431
--- /dev/null
@@ -0,0 +1,75 @@
+
+cimport cython
+
+@cython.test_assert_path_exists('//SingleAssignmentNode')
+#FIXME: optimise me!
+#@cython.test_fail_if_path_exists('//SingleAssignmentNode//CoerceFromPyTypeNode')
+def slice_equals_literal(char* s):
+    """
+    >>> slice_equals_literal('abc'.encode('ASCII'))
+    True
+    >>> slice_equals_literal('aabc'.encode('ASCII'))
+    False
+    >>> slice_equals_literal('abcx'.encode('ASCII'))
+    True
+    >>> slice_equals_literal('bcx'.encode('ASCII'))
+    False
+    """
+    cdef bint result = (s[:3] == b"abc")
+    return result
+
+def slice_gt_literal(char* s):
+    """
+    >>> slice_gt_literal('abc'.encode('ASCII'))
+    False
+    >>> slice_gt_literal('aabc'.encode('ASCII'))
+    False
+    >>> slice_gt_literal('abcx'.encode('ASCII'))
+    False
+    >>> slice_gt_literal('bcx'.encode('ASCII'))
+    True
+    """
+    cdef bint result = (s[:3] > b"abc")
+    return result
+
+def slice_lt_literal(char* s):
+    """
+    >>> slice_lt_literal('abc'.encode('ASCII'))
+    False
+    >>> slice_lt_literal('aabc'.encode('ASCII'))
+    True
+    >>> slice_lt_literal('abcx'.encode('ASCII'))
+    False
+    >>> slice_lt_literal('bcx'.encode('ASCII'))
+    False
+    """
+    cdef bint result = (s[:3] < b"abc")
+    return result
+
+def slice_ge_literal(char* s):
+    """
+    >>> slice_ge_literal('abc'.encode('ASCII'))
+    True
+    >>> slice_ge_literal('aabc'.encode('ASCII'))
+    False
+    >>> slice_ge_literal('abcx'.encode('ASCII'))
+    True
+    >>> slice_ge_literal('bcx'.encode('ASCII'))
+    True
+    """
+    cdef bint result = (s[:3] >= b"abc")
+    return result
+
+def slice_le_literal(char* s):
+    """
+    >>> slice_le_literal('abc'.encode('ASCII'))
+    True
+    >>> slice_le_literal('aabc'.encode('ASCII'))
+    True
+    >>> slice_le_literal('abcx'.encode('ASCII'))
+    True
+    >>> slice_le_literal('bcx'.encode('ASCII'))
+    False
+    """
+    cdef bint result = (s[:3] <= b"abc")
+    return result