Пример #1
0
def test_receiving_events():
    vim.command('call send_event(%d, "test-event", 1, 2, 3)' % vim.channel_id)
    event = vim.next_message()
    eq(event[1], 'test-event')
    eq(event[2], [1, 2, 3])
    vim.command('au FileType python call send_event(%d, "py!", bufnr("$"))' %
                vim.channel_id)
    vim.command('set filetype=python')
    event = vim.next_message()
    eq(event[1], 'py!')
    eq(event[2], [vim.current.buffer.number])
Пример #2
0
def test_broadcast():
    vim.subscribe('event2')
    vim.command('call send_event(0, "event1", 1, 2, 3)')
    vim.command('call send_event(0, "event2", 4, 5, 6)')
    vim.command('call send_event(0, "event2", 7, 8, 9)')
    event = vim.next_message()
    eq(event[1], 'event2')
    eq(event[2], [4, 5, 6])
    event = vim.next_message()
    eq(event[1], 'event2')
    eq(event[2], [7, 8, 9])
    vim.unsubscribe('event2')
    vim.subscribe('event1')
    vim.command('call send_event(0, "event2", 10, 11, 12)')
    vim.command('call send_event(0, "event1", 13, 14, 15)')
    msg = vim.next_message()
    eq(msg[1], 'event1')
    eq(msg[2], [13, 14, 15])
Пример #3
0
def test_broadcast():
    vim.subscribe('event2')
    vim.command('call send_event(0, "event1", [1,2,3])')
    vim.command('call send_event(0, "event2", [4,5,6])')
    vim.command('call send_event(0, "event2", [7,8,9])')
    event = vim.next_message()
    eq(event.name, 'event2')
    eq(event.arg, [4, 5, 6])
    event = vim.next_message()
    eq(event.name, 'event2')
    eq(event.arg, [7, 8, 9])
    vim.unsubscribe('event2')
    vim.subscribe('event1')
    vim.command('call send_event(0, "event2", [10,11,12])')
    vim.command('call send_event(0, "event1", [13,14,15])')
    msg = vim.next_message()
    eq(msg.name, 'event1')
    eq(msg.arg, [13, 14, 15])
Пример #4
0
def test_custom_messages():
    def produce(i):
        vim.post('custom-message', None)
        sleep(0.05 * random())

    count = 50
    for i in xrange(count):
        t = Thread(target=produce, args=(i,))
        t.daemon = True
        t.start()

    custom_messages = []
    while len(custom_messages) < 50:
        custom_messages.append(vim.next_message())

    eq(len(custom_messages), 50)