mirror of
https://github.com/pybricks/pybricks-api.git
synced 2026-07-27 19:57:02 +00:00
62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
# SPDX-License-Identifier: MIT
|
|
# Copyright (c) 2026 The Pybricks Authors
|
|
|
|
"""
|
|
Tests for correct code completion of the messaging module.
|
|
"""
|
|
|
|
import json
|
|
|
|
import pytest
|
|
from pybricks_jedi import CompletionItem, complete
|
|
|
|
|
|
def test_from_pybricks_messaging_import():
|
|
code = "from pybricks.messaging import "
|
|
completions: list[CompletionItem] = json.loads(complete(code, 1, len(code) + 1))
|
|
assert [c["insertText"] for c in completions] == [
|
|
"AppData",
|
|
"BLERadio",
|
|
"BluetoothMailboxClient",
|
|
"BluetoothMailboxServer",
|
|
"Connection",
|
|
"LogicMailbox",
|
|
"Mailbox",
|
|
"NumericMailbox",
|
|
"TextMailbox",
|
|
]
|
|
|
|
|
|
def test_ble_radio_dot():
|
|
code = "\n".join(
|
|
[
|
|
"from pybricks.messaging import BLERadio",
|
|
"ble = BLERadio()",
|
|
"ble.",
|
|
]
|
|
)
|
|
completions: list[CompletionItem] = json.loads(complete(code, 3, 5))
|
|
assert [c["insertText"] for c in completions] == [
|
|
"broadcast",
|
|
"observe",
|
|
"signal_strength",
|
|
"version",
|
|
]
|
|
|
|
|
|
def test_app_data_dot():
|
|
code = "\n".join(
|
|
[
|
|
"from pybricks.messaging import AppData",
|
|
"app = AppData([(0, 4)])",
|
|
"app.",
|
|
]
|
|
)
|
|
completions: list[CompletionItem] = json.loads(complete(code, 3, 5))
|
|
assert [c["insertText"] for c in completions] == [
|
|
"close",
|
|
"configure",
|
|
"get_bytes",
|
|
"write_bytes",
|
|
]
|