aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/tests
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/tests')
-rw-r--r--packages/meshbay-hub/tests/test_video_reconnect.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/meshbay-hub/tests/test_video_reconnect.py b/packages/meshbay-hub/tests/test_video_reconnect.py
index 91aa87b0..f888ec16 100644
--- a/packages/meshbay-hub/tests/test_video_reconnect.py
+++ b/packages/meshbay-hub/tests/test_video_reconnect.py
@@ -250,3 +250,18 @@ def test_a_new_stream_and_a_seek_both_clear_the_resume_flag(app):
assert "resumingRef.current = false" in seek, (
"a seek after an unlanded resume takes the resume branch and keeps the "
"buffer it was supposed to discard")
+
+
+def test_the_landings_are_the_functions_and_nothing_hides_them(app):
+ # `onStreamInit` picks its landing by name, inside `startStream`, and
+ # `startStream` once declared its own `resumeAt`: the position the film was
+ # left at, a number. That one was in scope, so a reconnection's landing
+ # called a number, threw where nothing reported it, and left the player
+ # waiting for a landing that never came: the read-ahead played out and the
+ # film froze at its end, every time (measured on a phone moving between
+ # mobile data and Wi-Fi, 2026-10-17).
+ player = _player(app)
+ for name in ("resumeAt", "reinitAt"):
+ found = re.findall(rf"\b(?:const|let|var|function)\s+{name}\b", player)
+ assert len(found) == 1, f"{name} is declared {len(found)} times in the player"
+ assert f"const {name} = async" in player