From 6f1c3a892aaca81bf0f0180c38fdf880aa3f6b24 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Sat, 30 Oct 2010 22:01:55 +0200 Subject: [PATCH] new (partial) test case for ticket #582 --- tests/run/charptr_comparison_T582.pyx | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 tests/run/charptr_comparison_T582.pyx diff --git a/tests/run/charptr_comparison_T582.pyx b/tests/run/charptr_comparison_T582.pyx new file mode 100644 index 00000000..c30a431c --- /dev/null +++ b/tests/run/charptr_comparison_T582.pyx @@ -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 -- 2.26.2