diff --git a/A00_Common/b_project_switch.ts b/A00_Common/b_project_switch.ts index 616cd37d4..91f3fd032 100644 --- a/A00_Common/b_project_switch.ts +++ b/A00_Common/b_project_switch.ts @@ -140,7 +140,8 @@ export async function wipeAccountCache(): Promise { } /** 로그인 확인 때 — 앞서 자료를 남긴 계정과 다르면 지우고 true(부른 쪽이 새로고침). */ -export async function wipeIfOwnerChanged(userId: string): Promise { +export async function wipeIfOwnerChanged(user: string | number): Promise { + const userId = String(user); // 서버 id 가 수로 옴 — 저장값(글)과 같은 꼴로 견줌 let previous: string | null = null; try { previous = window.localStorage.getItem(OWNER_KEY); diff --git a/resources/tester/helper_384_s_session.cjs b/resources/tester/helper_384_s_session.cjs index 8f988a40e..3ac1a5d05 100644 --- a/resources/tester/helper_384_s_session.cjs +++ b/resources/tester/helper_384_s_session.cjs @@ -100,6 +100,9 @@ const tick = () => new Promise((r) => setTimeout(r, 0)); out.owner.otherKeys = sessionKeys().length; out.owner.otherProject = local("frd_current_project_id"); out.owner.stored = local("aislo:owner"); + // 서버 id 가 수로 옴 — 같은 계정 수 id 는 두 번째에 안 지움(새로고침 되풀이 막음) + await sw.wipeIfOwnerChanged(3); + out.owner.numericAgain = await sw.wipeIfOwnerChanged(3); // 세션 넘침 — 결과 칸 비우고 다시 · 그래도 넘치면 안내 global.window.sessionStorage = fakeStorage(400); diff --git a/resources/tester/test_384_s_logout_wipe.py b/resources/tester/test_384_s_logout_wipe.py index 1d29b37c6..9f6d53d95 100644 --- a/resources/tester/test_384_s_logout_wipe.py +++ b/resources/tester/test_384_s_logout_wipe.py @@ -44,6 +44,7 @@ def test_계정_바뀜_지움(out): assert owner["same"] is False and owner["sameKeys"] == 4 assert owner["other"] is True and owner["otherKeys"] == 0 assert owner["otherProject"] is None and owner["stored"] == "u2" + assert owner["numericAgain"] is False # 수 id 3 == 저장 "3" def test_세션_넘침_결과_비우고_다시(out):