Skip to content

Commit ddc8b4c

Browse files
Preserve operation-name length budget after prefix whitespace trimming
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 5d25ed8 commit ddc8b4c

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

hyperbrowser/client/polling.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def build_operation_name(prefix: object, identifier: object) -> str:
8282
"?" if ord(character) < 32 or ord(character) == 127 else character
8383
for character in normalized_prefix
8484
)
85+
normalized_prefix = normalized_prefix.lstrip()
8586
raw_identifier = _coerce_operation_name_component(identifier, fallback="unknown")
8687
normalized_identifier = raw_identifier.strip()
8788
if not normalized_identifier:

tests/test_polling.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@ def test_build_operation_name_trims_leading_whitespace_from_prefix_text():
136136
assert operation_name == "crawl job 123"
137137

138138

139+
def test_build_operation_name_uses_full_length_budget_after_prefix_lstrip():
140+
operation_name = build_operation_name(
141+
" crawl job ",
142+
"x" * 400,
143+
)
144+
145+
assert operation_name.startswith("crawl job ")
146+
assert operation_name.endswith("...")
147+
assert len(operation_name) == 200
148+
149+
139150
def test_build_operation_name_avoids_trailing_whitespace_in_prefix_only_truncation():
140151
overlong_prefix = ("a" * 199) + " "
141152

0 commit comments

Comments
 (0)