Exemplo n.º 1
0
    def test_unicode_internal_decode(self):
        import sys, _codecs, array
        if sys.maxunicode == 65535:  # UCS2 build
            if sys.byteorder == "big":
                bytes = b"\x00a"
            else:
                bytes = b"a\x00"
        else:  # UCS4 build
            if sys.byteorder == "big":
                bytes = b"\x00\x00\x00a"
                bytes2 = b"\x00\x01\x00\x98"
            else:
                bytes = b"a\x00\x00\x00"
                bytes2 = b"\x98\x00\x01\x00"
            assert bytes2.decode("unicode_internal") == "\U00010098"
        assert bytes.decode("unicode_internal") == "a"
        assert _codecs.unicode_internal_decode(array.array('b',
                                                           bytes))[0] == u"a"
        assert _codecs.unicode_internal_decode(memoryview(bytes))[0] == u"a"

        # This codec accepts bytes and unicode on both sides
        _codecs.unicode_internal_decode(u'\0\0\0\0')
        _codecs.unicode_internal_decode(b'\0\0\0\0')
        _codecs.unicode_internal_encode(u'\0\0\0\0')
        _codecs.unicode_internal_encode(b'\0\0\0\0')
Exemplo n.º 2
0
def test_unicode_internal_encode():
    '''
    '''
    # takes one or two parameters, not zero or three
    AssertError(TypeError, codecs.unicode_internal_encode)
    AssertError(TypeError, codecs.unicode_internal_encode, 'abc', 'def', 'qrt')
    if is_ironpython: #http://ironpython.codeplex.com/workitem/27899
        AreEqual(codecs.unicode_internal_encode(u'abc'), ('a\x00b\x00c\x00', 6))
    else:
        AreEqual(codecs.unicode_internal_encode(u'abc'), ('a\x00b\x00c\x00', 3))
Exemplo n.º 3
0
def test_unicode_internal_encode():
    '''
    '''
    # takes one or two parameters, not zero or three
    AssertError(TypeError, codecs.unicode_internal_encode)
    AssertError(TypeError, codecs.unicode_internal_encode, 'abc', 'def', 'qrt')
    if is_ironpython:  #http://ironpython.codeplex.com/workitem/27899
        AreEqual(codecs.unicode_internal_encode('abc'), ('a\x00b\x00c\x00', 6))
    else:
        AreEqual(codecs.unicode_internal_encode('abc'), ('a\x00b\x00c\x00', 3))
Exemplo n.º 4
0
def test_unicode_internal_encode():
    '''
    '''
    # takes one or two parameters, not zero or three
    AssertError(TypeError, codecs.unicode_internal_encode)
    AssertError(TypeError, codecs.unicode_internal_encode, 'abc', 'def', 'qrt')
    AreEqual(codecs.unicode_internal_encode(u'abc'), ('a\x00b\x00c\x00', 6))