Exemple #1
0
def test_message_serializer_enqueue_dequeue():
    serializer = MessageSerializer()

    serializer.enque_data(serializer.serialize(CompletionResponse(1, 2, False, (), 'token')))
    serializer.enque_data(serializer.serialize(CompletionResponse(3, 4, True, (), 'token2')))

    assert serializer.buffer

    msg1 = serializer.dequeue_message()
    msg2 = serializer.dequeue_message()
    msg3 = serializer.dequeue_message()
    msg4 = serializer.dequeue_message()

    assert isinstance(msg1, CompletionResponse)
    assert msg1.token == 'token'
    assert msg1.start == 1
    assert msg1.end == 2
    assert not msg1.limitExceeded

    assert isinstance(msg2, CompletionResponse)
    assert msg2.token == 'token2'
    assert msg2.start == 3
    assert msg2.end == 4
    assert msg2.limitExceeded

    assert not msg3
    assert not msg4
Exemple #2
0
def test_descode_static_syntax_request():
    serialized = b'\x82\xa6format\xa8textmate\xa8_message\xb3StaticSyntaxRequest'

    serializer = MessageSerializer()
    serializer.enque_data(serialized)

    message = next(iter(serializer))
    assert isinstance(message, StaticSyntaxRequest)
Exemple #3
0
def test_regression_009_string_argument_without_encoding():
    serialized = b'\x83\xa8_message\xabContentSync\xa4file\xd9!D:\\Work\\jep\\test\\my.requestlogger\xa4data\xa40sdf,smndfsdf M s df jhsdkashdk  sjhdjhsjdkakdhsj'

    serializer = MessageSerializer()
    serializer.enque_data(serialized)

    message = next(iter(serializer))
    assert isinstance(message, ContentSync)
Exemple #4
0
def test_deserialize_problem_update_ruby_backend():
    serialized = b'\x82\xacfileProblems\x91\x82\xa4file\xda\x001C:\\Users\\mthiede\\gitrepos\\jep-ruby\\demo\\test.demo\xa8problems\x91\x83\xa7message\xb5unexpected token kEND\xa8severity\xa5error\xa4line\x04\xa8_message\xadProblemUpdate'

    serializer = MessageSerializer()
    serializer.enque_data(serialized)

    message = next(iter(serializer))
    assert isinstance(message, ProblemUpdate)
    assert message.fileProblems[0].problems[0].severity is Severity.error
Exemple #5
0
def test_message_serializer_enqueue_dequeue_incomplete():
    serializer = MessageSerializer()
    packed = serializer.serialize(CompletionResponse(1, 2, False))
    assert len(packed) > 1

    for b in packed:
        assert not serializer.dequeue_message()
        serializer.enque_data([b])

    assert isinstance(serializer.dequeue_message(), CompletionResponse)
    assert not serializer.dequeue_message()
Exemple #6
0
def test_message_serializer_message_iterator():
    serializer = MessageSerializer()

    serializer.enque_data(serializer.serialize(CompletionResponse(1, 2, False)))
    serializer.enque_data(serializer.serialize(CompletionResponse(3, 4, True)))

    count = 0
    for msg in serializer:
        assert isinstance(msg, CompletionResponse)
        count += 1

    assert count == 2