Blame tests/run/constant_folding_cy.pyx

Packit Service 99d393
# coding=utf8
Packit Service 99d393
# mode: run
Packit Service 99d393
# tag: constant_folding
Packit Service 99d393
Packit Service 99d393
cimport cython
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
bstring = b'abc\xE9def'
Packit Service 99d393
ustring = u'abc\xE9def'
Packit Service 99d393
surrogates_ustring = u'abc\U00010000def'
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_fail_if_path_exists(
Packit Service 99d393
    "//SliceIndexNode",
Packit Service 99d393
    )
Packit Service 99d393
def bytes_slicing2():
Packit Service 99d393
    """
Packit Service 99d393
    >>> a,b,c,d = bytes_slicing2()
Packit Service 99d393
    >>> a == bstring[:]
Packit Service 99d393
    True
Packit Service 99d393
    >>> b == bstring[2:]
Packit Service 99d393
    True
Packit Service 99d393
    >>> c == bstring[:4]
Packit Service 99d393
    True
Packit Service 99d393
    >>> d == bstring[2:4]
Packit Service 99d393
    True
Packit Service 99d393
    """
Packit Service 99d393
    str0 = b'abc\xE9def'[:]
Packit Service 99d393
    str1 = b'abc\xE9def'[2:]
Packit Service 99d393
    str2 = b'abc\xE9def'[:4]
Packit Service 99d393
    str3 = b'abc\xE9def'[2:4]
Packit Service 99d393
Packit Service 99d393
    return str0, str1, str2, str3
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_fail_if_path_exists(
Packit Service 99d393
    "//SliceIndexNode",
Packit Service 99d393
    )
Packit Service 99d393
def unicode_slicing2():
Packit Service 99d393
    """
Packit Service 99d393
    >>> a,b,c,d = unicode_slicing2()
Packit Service 99d393
    >>> a == ustring[:]
Packit Service 99d393
    True
Packit Service 99d393
    >>> b == ustring[2:]
Packit Service 99d393
    True
Packit Service 99d393
    >>> c == ustring[:4]
Packit Service 99d393
    True
Packit Service 99d393
    >>> d == ustring[2:4]
Packit Service 99d393
    True
Packit Service 99d393
    """
Packit Service 99d393
    str0 = u'abc\xE9def'[:]
Packit Service 99d393
    str1 = u'abc\xE9def'[2:]
Packit Service 99d393
    str2 = u'abc\xE9def'[:4]
Packit Service 99d393
    str3 = u'abc\xE9def'[2:4]
Packit Service 99d393
Packit Service 99d393
    return str0, str1, str2, str3
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_assert_path_exists(
Packit Service 99d393
    "//SliceIndexNode",
Packit Service 99d393
    )
Packit Service 99d393
def unicode_slicing_unsafe_surrogates2():
Packit Service 99d393
    """
Packit Service 99d393
    >>> unicode_slicing_unsafe_surrogates2() == surrogates_ustring[2:]
Packit Service 99d393
    True
Packit Service 99d393
    """
Packit Service 99d393
    ustring = u'abc\U00010000def'[2:]
Packit Service 99d393
    return ustring
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_fail_if_path_exists(
Packit Service 99d393
    "//SliceIndexNode",
Packit Service 99d393
    )
Packit Service 99d393
def unicode_slicing_safe_surrogates2():
Packit Service 99d393
    """
Packit Service 99d393
    >>> unicode_slicing_safe_surrogates2() == surrogates_ustring[:2]
Packit Service 99d393
    True
Packit Service 99d393
    >>> print(unicode_slicing_safe_surrogates2())
Packit Service 99d393
    ab
Packit Service 99d393
    """
Packit Service 99d393
    ustring = u'abc\U00010000def'[:2]
Packit Service 99d393
    return ustring
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_fail_if_path_exists(
Packit Service 99d393
    "//ComprehensionNode",
Packit Service 99d393
    "//ForInStatNode",
Packit Service 99d393
)
Packit Service 99d393
@cython.test_assert_path_exists(
Packit Service 99d393
    "//SetNode",
Packit Service 99d393
)
Packit Service 99d393
def for_in_empty_setcomp():
Packit Service 99d393
    """
Packit Service 99d393
    >>> s = for_in_empty_setcomp()
Packit Service 99d393
    >>> isinstance(s, set)
Packit Service 99d393
    True
Packit Service 99d393
    >>> len(s)
Packit Service 99d393
    0
Packit Service 99d393
    """
Packit Service 99d393
    return {i for i in []}
Packit Service 99d393
Packit Service 99d393
Packit Service 99d393
@cython.test_fail_if_path_exists(
Packit Service 99d393
    "//ReturnStatNode//AddNode",
Packit Service 99d393
)
Packit Service 99d393
@cython.test_assert_path_exists(
Packit Service 99d393
    "//ListNode//AddNode",
Packit Service 99d393
)
Packit Service 99d393
def add_strings():
Packit Service 99d393
    """
Packit Service 99d393
    >>> u, b, rest = add_strings()
Packit Service 99d393
    >>> u == 'abcdef' or u
Packit Service 99d393
    True
Packit Service 99d393
    >>> b == b'abcdef' or b
Packit Service 99d393
    True
Packit Service 99d393
    >>> rest
Packit Service 99d393
    1
Packit Service 99d393
    """
Packit Service 99d393
    a = ["abc" + "def"]  # not currently optimised
Packit Service 99d393
    # FIXME: test encodings and unicode escapes
Packit Service 99d393
    return u"abc" + u"def", b"abc" + b"def", a[0] and 1