コード例 #1
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_blob():
    length = 10
    data = tuple(range(length))
    pad = padded(length, 8)
    fmt = '>i%iQ' % pad
    s = struct.pack(fmt, length, *(data + (pad - length) * (0, )))
    result = parse(b'b', s)[0]
    assert result == data
コード例 #2
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_string_encoded():
    assert parse(b's',
                 struct.pack('%is' % padded(len('t')), u'é'.encode('utf8')),
                 encoding='utf8')[0] == u'é'

    s = u'aééééààààa'
    s_ = s.encode('utf8')
    assert parse(b's',
                 struct.pack('%is' % padded(len(s_) + 1), s_ + b'\0'),
                 encoding='utf8')[0] == s

    with raises(UnicodeDecodeError):
        parse(b's',
              struct.pack('%is' % padded(len(s_) + 1), s_ + b'\0'),
              encoding='ascii')[0] == s

    assert parse(b's',
                 struct.pack('%is' % padded(len(s_) + 1), s_ + b'\0'),
                 encoding='ascii',
                 encoding_errors='replace')[0] == u'a����������������a'

    assert parse(b's',
                 struct.pack('%is' % padded(len(s_) + 1), s_ + b'\0'),
                 encoding='ascii',
                 encoding_errors='ignore')[0] == 'aa'
コード例 #3
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_unknown():
    with raises(ValueError):
        parse(b'H', struct.pack('>f', 1.5))
コード例 #4
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_inf():
    result = parse(b'I', '')[0]
    assert result == float('inf')
コード例 #5
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_false():
    result = parse(b'F', '')[0]
    assert result == False
コード例 #6
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_true():
    result = parse(b'T', '')[0]
    assert result == True
コード例 #7
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_nil():
    result = parse(b'N', '')[0]
    assert result == None
コード例 #8
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_midi():
    data = MidiTuple(0, 144, 72, 64)
    result = parse(b'm', struct.pack('>I', format_midi(data)))[0]
    assert result == data
コード例 #9
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_string():
    assert parse(b's', struct.pack('%is' % padded(len('t')), b't'))[0] == b't'
    s = b'test'
    # XXX should we need to add the null byte ourselves?
    assert parse(b's', struct.pack('%is' % padded(len(s) + 1),
                                   s + b'\0'))[0] == s
コード例 #10
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_float():
    assert parse(b'f', struct.pack('>f', 1.5))[0] == 1.5
コード例 #11
0
ファイル: test_parser.py プロジェクト: trrnt/oscpy
def test_parse_int():
    assert parse(b'i', struct.pack('>i', 1))[0] == 1