aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/tests/test_downloads.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/tests/test_downloads.py')
-rw-r--r--packages/meshbay-hub/tests/test_downloads.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/packages/meshbay-hub/tests/test_downloads.py b/packages/meshbay-hub/tests/test_downloads.py
index 32d3e11..fc69fac 100644
--- a/packages/meshbay-hub/tests/test_downloads.py
+++ b/packages/meshbay-hub/tests/test_downloads.py
@@ -149,8 +149,12 @@ def test_a_length_is_only_promised_when_it_is_known(tmp_path):
# and was lifted into file-utils.js's downloadDirectory (docs/photos.md
# §3) so photos-app.js's own "zip this album" button calls the same
# implementation rather than a second one.
+ # Anchored on the call, not on how its result is bound: the assignment
+ # became a bare `target = ...` inside a try when _openDownloadTarget gained
+ # the ability to refuse an oversized download (test_memory_ceiling.py).
+ # What this test is about -- the `0` -- did not move.
app = (STATIC / "file-utils.js").read_text()
- zip_call = app[app.index("const target = await _openDownloadTarget(suggested"):]
+ zip_call = app[app.index("_openDownloadTarget(suggested"):]
zip_call = zip_call[:zip_call.index(");") + 2]
assert zip_call.rstrip().endswith(", 0);"), (
"the zip download announces a Content-Length it will not match")
@@ -201,9 +205,15 @@ def test_the_streamed_path_gives_up_rather_than_blocking_for_ever():
def test_an_uncontrolled_page_is_not_treated_as_ready():
"""`registration.active` says a worker exists, not that it will see our fetch."""
+ # Anchored on the streaming section rather than on one function: waiting
+ # for control moved into `_awaitControl`/`_claimController` when the budget
+ # became a parameter, and `serviceWorker()` no longer contains the words.
+ # The behaviour itself is executed in test_streamed_download_reliability.py;
+ # this stays as the cheap guard on the module's shape.
src = DOWNLOADS.read_text()
- fn = src[src.index("async function serviceWorker()"):]
- fn = fn[:fn.index("\n}")]
- assert "navigator.serviceWorker.controller" in fn
- assert "controllerchange" in fn, (
+ section = src[src.index("// ── Streaming to disk"):]
+ assert "navigator.serviceWorker.controller" in section
+ assert "controllerchange" in section, (
"control can arrive a tick after registration; waiting beats refusing")
+ assert "mbdl-claim" in section, (
+ "an active-but-uncontrolled page must ask for a claim, not give up")