(copy_env)
| 251 | # E. Picker |
| 252 | # --------------------------------------------------------------------------- # |
| 253 | async def test_picker_options_shape(copy_env): |
| 254 | ui = FakeUIHost(pick="full") |
| 255 | await COPY_COMMAND.run("", _ctx(copy_env.tmp, [_msg("assistant", _BLOCKY)], ui=ui)) |
| 256 | call = ui.select_calls[0] |
| 257 | assert call["values"] == ["full", "0", "always"] |
| 258 | assert call["labels"][0] == "Full response" |
| 259 | # Full desc format: "{chars} chars, {lines} lines" over the whole message text. |
| 260 | assert call["descriptions"][0] == f"{len(_BLOCKY)} chars, {_BLOCKY.count(chr(10)) + 1} lines" |
| 261 | assert call["labels"][1] == "code_here" |
| 262 | assert call["descriptions"][1] == "python" # 1-line block: no "N lines" part |
| 263 | assert call["labels"][2] == "Always copy full response" |
| 264 | assert call["descriptions"][2] == "Skip this picker in the future (revert via /config)" |
| 265 | |
| 266 | |
| 267 | async def test_picker_block_description_matrix(copy_env): |
nothing calls this directly
no test coverage detected