- 상세 가게 forgetSectionMemory — 페이지 dispose 에서 메모리 · 받는 중 약속만 비움(세션 정본 그대로) · 다시 열기 = 새로고침 길 - 묶음 열 때 관 · 구조물 · 추가 측점 초안이 있으면 측점을 냄 — 새로고침 · 다시 열기 = 초안 측점(옛: 새로고침 뒤 관 초안 측점 빠짐) - 버린 노선 초안 차례 끝 · 조용히 연 차례 끝 = 가게 측점 · 종단 = 지금 상세 측점 · 저장 기준(갈아끼움 없음) - 화면 선만 바뀜(비정규 측점 도착) = 상세가 그 선 대비 낡았으면 cross 한 번 더(recrossIfStale) - 시험 test_272_detail_memory · test_272_drop_store_stations Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
57 lines
2.2 KiB
Python
57 lines
2.2 KiB
Python
"""PLAN 466 (요구 272 · 분석 4장 (A2)) — 조용한 차례(열 때 · 버린 노선 초안)도 가게 측점 = 상세 측점.
|
|
|
|
못박는 것
|
|
- 조용한 차례 = 묶음 측점을 바로 안 냄 · 열고 맞춤 끝(`opened`) = 가게 측점 · 종단 = 지금 상세 측점 · 그 차례
|
|
종단(지난 페이지 초안 측점이 안 남음) · 그 목록으로 갈아끼움 = 없음(같은 목록).
|
|
- 메아리(같은 묶음 목록) = 안 냄(349-0q) · 새 목록 = 냄 · 그 뒤 opened 는 안 덮음.
|
|
- 버린 차례 끝(`shown`) = 묶음 측점(초안)과 상세가 달라도 상세 측점 · 열쇠 · 갈아끼움 없음(349-0o) ·
|
|
노선 초안이 다시 섬 · 상세 없음(떠남) = 안 냄.
|
|
짝: `test_272_detail_memory.run_helper`(같은 헬퍼).
|
|
|
|
./venv/Scripts/python.exe -m pytest resources/tester/test_272_drop_store_stations.py -q
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
HERE = Path(__file__).resolve().parent
|
|
if str(HERE) not in sys.path:
|
|
sys.path.insert(0, str(HERE))
|
|
|
|
import test_272_detail_memory as base # noqa: E402
|
|
|
|
pytestmark = base.pytestmark
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
def got(tmp_path_factory) -> dict:
|
|
return base.run_helper(tmp_path_factory.mktemp("b272d"))["store"]
|
|
|
|
|
|
def test_조용히_연_차례_가게_상세_측점(got) -> None:
|
|
assert got["quietSets"] == 0
|
|
assert got["opened"] == [0, 20, 40, 60]
|
|
assert got["openedStore"] == [0, 20, 40, 60] # 지난 페이지 초안(30) 안 남음
|
|
assert got["openedProfile"] == "saved-profile"
|
|
assert got["openedSwap"] is None # 같은 목록 = 갈아끼움 없음
|
|
|
|
|
|
def test_메아리는_안_내고_새_목록은_냄(got) -> None:
|
|
assert got["echoSets"] == 0
|
|
assert got["newSets"] == 1
|
|
assert got["openedAfterPublish"] == [0, 20, 30, 40, 60] # 낸 차례가 더 새로움 — 안 덮음
|
|
|
|
|
|
def test_버린_차례_끝_가게_상세_측점(got) -> None:
|
|
assert got["dropped"] == [0, 20, 40, 60] and got["droppedDetail"] == [0, 20, 40, 60]
|
|
assert "pipe:p1" not in got["droppedKeys"]
|
|
assert got["droppedSwap"] is None
|
|
|
|
|
|
def test_초안_다시_섬_떠남은_안_냄(got) -> None:
|
|
assert got["routeSkip"] == 5 and got["goneSkip"] == 5
|