Skip to content

Commit 1cac496

Browse files
committed
Coverage
1 parent 7964b05 commit 1cac496

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

tests/test_comm_awareness.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from unittest.mock import patch
44

55
import pytest
6+
from anyio import sleep
67
from pycrdt import Doc, YMessageType, create_awareness_message
78

89
from ypywidgets.comm import CommProvider, CommWidget
@@ -67,3 +68,27 @@ def test_comm_widget_awareness_observe_and_unobserve(mock_create_comm):
6768
events.clear()
6869
widget.awareness.set_local_state({"ping": 2})
6970
assert events == []
71+
72+
73+
async def test_remote_manager_applies_awareness_messages(synced_widgets, context):
74+
async with context:
75+
local_widget = await synced_widgets.get_local_widget()
76+
await synced_widgets.get_remote_widget()
77+
78+
local_widget.awareness.set_local_state({"role": "local"})
79+
payload = local_widget.awareness.encode_awareness_update(
80+
[local_widget.awareness.client_id]
81+
)
82+
frame = create_awareness_message(payload)
83+
84+
synced_widgets.comm.send_send_stream.send_nowait(
85+
("comm_msg", {}, None, [frame], None, None)
86+
)
87+
await sleep(0.01)
88+
89+
assert synced_widgets._remote_awareness is not None
90+
remote_state = synced_widgets._remote_awareness.states.get(
91+
local_widget.awareness.client_id
92+
)
93+
assert remote_state is not None
94+
assert remote_state.get("role") == "local"

0 commit comments

Comments
 (0)