add moveing of tabs and groups, multi browser support, auto complite into terminal, extract html and adding testing

This commit is contained in:
2026-04-09 01:41:01 +02:00
parent 0cb2f1cb3f
commit ab4ba97886
19 changed files with 1069 additions and 57 deletions
+47
View File
@@ -0,0 +1,47 @@
"""Tests for session.* commands."""
import pytest
from browser_cli.client import send_command
SESSION_NAME = "_pytest_session"
def test_session_save_and_list(browser):
browser("session.save", {"name": SESSION_NAME})
sessions = browser("session.list")
assert isinstance(sessions, list)
names = [s["name"] for s in sessions]
assert SESSION_NAME in names
def test_session_list_has_tab_count(browser):
sessions = browser("session.list")
for s in sessions:
assert "name" in s
assert "tabs" in s
assert isinstance(s["tabs"], int)
def test_session_diff(browser):
browser("session.save", {"name": SESSION_NAME + "_a"})
browser("session.save", {"name": SESSION_NAME + "_b"})
diff = browser("session.diff", {"nameA": SESSION_NAME + "_a", "nameB": SESSION_NAME + "_b"})
assert "added" in diff
assert "removed" in diff
def test_session_remove(browser):
browser("session.save", {"name": SESSION_NAME + "_remove"})
browser("session.remove", {"name": SESSION_NAME + "_remove"})
sessions = browser("session.list")
names = [s["name"] for s in sessions]
assert SESSION_NAME + "_remove" not in names
def teardown_module(module):
"""Clean up test sessions after all tests run."""
for name in [SESSION_NAME, SESSION_NAME + "_a", SESSION_NAME + "_b"]:
try:
send_command("session.remove", {"name": name})
except Exception:
pass