test(est): cover original text style boundary

This commit is contained in:
2026-11-07 02:41:05 +09:00
parent 19097b7255
commit 042d574fee
@@ -112,6 +112,24 @@ def test_quantity_document_edit_across_styles_and_separate_marker():
assert result == {"same": True, "tags": True}
def test_quantity_document_edit_across_actual_style_boundary_when_sample_exists():
sample = Path("C:/Dasansoft/Est Plus 2/Data/ProjectData/main.estx")
if not sample.exists():
pytest.skip("installed EST main sample unavailable")
script = """const fs=require('fs'),z=require('zlib'),m=require('./tools/est-test/import-estx.cjs'),w=require('./tools/est-test/export-quantity.cjs'),q=require('./tools/est-test/native-quantity.cjs');
const p=m.importEstx(fs.readFileSync(process.argv[1])),old=p.quantitySheets.find(s=>s.Code==='N0000000113');
const r=p.tables.MulMainDat.find(x=>x.Code===old.Code),b=Buffer.from(r.Editor.binary,'base64');
const text=new TextDecoder('euc-kr').decode(b[0]===120?z.inflateSync(b):b),edited=structuredClone(old);
const i=edited.rows.findIndex(r=>r.LineData.includes('27.22 ='));if(i<0)throw Error('sample line missing');
edited.rows[i].LineData=edited.rows[i].LineData.replace('27.22 =','27.22XY');
const out=w.editDocument(text,old,edited),tags=x=>x.match(/<[^>]*>/g);
process.stdout.write(JSON.stringify({same:JSON.stringify(q.fromWpt(edited.Code,edited.Name,out,edited.items,edited.options))===JSON.stringify(edited),tags:JSON.stringify(tags(text))===JSON.stringify(tags(out))}));"""
result = json.loads(
subprocess.check_output(["node", "-e", script, str(sample)], cwd=ROOT).decode("utf-8")
)
assert result == {"same": True, "tags": True}
def test_multiple_quantity_text_segments_preserve_original_tags_when_sample_exists():
sample = Path("C:/Dasansoft/Est Plus 2/Data/ProjectData/main.estx")
if not sample.exists():