feat(est): show existing quantity links

This commit is contained in:
2026-11-06 23:04:58 +09:00
parent a138efa5f4
commit b14c4fccaf
4 changed files with 68 additions and 1 deletions
@@ -8,6 +8,21 @@ from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def test_existing_quantity_links_respect_native_mode_and_avoid_ambiguous_targets():
script = """const {existingTargets}=require('./tools/est-test/native-links.cjs');
const sheet={Code:'N1',items:[{Code:'r1'},{Code:'r2'},{Code:'r3'},{Code:'r4'}]};
const blob=(v,enc='utf8')=>({binary:Buffer.from(v,enc).toString('base64')});
const rows=[{Code:'E1',MullangIndex:1,MulCode:blob('N1\\tr1')},
{Code:'E2',MullangIndex:1,MulCode:blob('N1\\tr2','utf16le')},
{Code:'E3',MullangIndex:2,MulCode:blob('N1\\tr3')},
{Code:'E4',MullangIndex:1,MulCode:blob('N1\\tr4')},{Code:'E4'}];
const warnings=new Set();existingTargets({EstMainDat:rows},[sheet],warnings);
process.stdout.write(JSON.stringify({items:sheet.items,warnings:[...warnings]}));"""
result = json.loads(subprocess.check_output(["node", "-e", script], cwd=ROOT).decode("utf-8"))
assert [item.get("TargetCode") for item in result["items"]] == ["E1", "E2", None, None]
assert len(result["warnings"]) == 2
def test_estx_print_catalog_uses_project_options_when_sample_exists():
sample = Path("C:/Dasansoft/Est Plus 2/Data/ProjectData/sample.estx")
if not sample.exists():