// FILE: _St/IG_StYellow/test_ext_edit_folder_open_runtime_v318.js | ROLE: 수동 편집폴더 선택 후 Side 열기 버튼 runtime/session 복원 회귀
const fs = require('fs');
const assert = require('assert');
const bg = fs.readFileSync(__dirname + '/background.js', 'utf8');
const side = fs.readFileSync(__dirname + '/side.js', 'utf8');
const html = fs.readFileSync(__dirname + '/side.html', 'utf8');

assert.ok(html.includes('id="igblue_open_edit_folder"') && html.includes('disabled'), '편집폴더 열기 버튼 기본 비활성 기준 없음');
assert.ok(bg.includes('IGBLUE/edit_folder_runtime_v318'), 'Background runtime 편집폴더 session key 없음');
assert.ok(bg.includes('chrome.storage.session.set'), '선택 편집폴더를 chrome.storage.session에 저장하지 않음');
assert.ok(bg.includes('chrome.storage.session.remove'), '새 수동 다운로드 전 이전 편집폴더 runtime 값을 초기화하지 않음');
assert.ok(bg.includes('if(res && res.ok && String(res.target_folder || "").trim()) igbluePublishEditFolderRuntime(res.target_folder)'), 'picker 성공 target_folder publish 없음');
assert.ok(bg.includes('type:"IGBLUE_EDIT_FOLDER_RUNTIME"'), '열려 있는 Side 즉시 갱신 runtime 메시지 없음');
assert.ok(side.includes('chrome.storage.session.get(TE_EDIT_FOLDER_SESSION_KEY'), 'Side 재열기 시 runtime 편집폴더 복원 없음');
assert.ok(side.includes('"IGBLUE_EDIT_FOLDER_RUNTIME" === e.type'), 'Side가 선택 완료 runtime 메시지를 받지 않음');
assert.ok(side.includes('teEditCopySetLastFolder(e.path)'), 'runtime 경로로 버튼 상태 갱신 없음');
assert.ok(side.includes('btn.disabled = !String(teEditCopyLastFolder || "").trim()'), '폴더 선택 여부에 따른 활성/비활성 기준 없음');
assert.ok(side.includes('teAiwkWsRequest("ig_open_folder", { path }'), '편집폴더 열기 클릭이 WS 폴더 열기 요청으로 연결되지 않음');
assert.ok(!side.includes('localStorage.setItem("IGBLUE/edit_folder_runtime_v318"'), '편집폴더 runtime 경로를 Instagram localStorage에 저장하면 안 됨');
assert.ok(!side.includes('teEditCopyPromptAfterAutomaticEnd'), '자동 여러 파일 편집복사 dead code가 남아 있음');
assert.ok(!side.includes('teEditCopyRunFiles'), '자동 여러 파일 편집복사 누적 상태가 남아 있음');
console.log('test_ext_edit_folder_open_runtime_v318: OK');
