mirror of
https://github.com/NCBM/plyngent.git
synced 2026-07-23 14:06:27 +08:00
26 lines
774 B
Python
26 lines
774 B
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import TYPE_CHECKING
|
||
|
|
|
||
|
|
from plyngent.cli.interrupt import allow_task_cancel, pause_task_cancel_for_prompt
|
||
|
|
from plyngent.cli.limits import prompt_continue_limit
|
||
|
|
|
||
|
|
if TYPE_CHECKING:
|
||
|
|
import pytest
|
||
|
|
|
||
|
|
|
||
|
|
def test_pause_task_cancel_for_prompt() -> None:
|
||
|
|
assert allow_task_cancel() is True
|
||
|
|
with pause_task_cancel_for_prompt():
|
||
|
|
assert allow_task_cancel() is False
|
||
|
|
assert allow_task_cancel() is True
|
||
|
|
|
||
|
|
|
||
|
|
def test_prompt_continue_limit_under_pause(monkeypatch: pytest.MonkeyPatch) -> None:
|
||
|
|
def _confirm(*_a: object, **_k: object) -> bool:
|
||
|
|
assert allow_task_cancel() is False
|
||
|
|
return True
|
||
|
|
|
||
|
|
monkeypatch.setattr("click.confirm", _confirm)
|
||
|
|
assert prompt_continue_limit("too many rounds") is True
|