\input regression-test.tex \documentclass{article} \begin{document} \START \directlua{ local reader=require('tagpax-ir') local compare=require('tagpax-compare') local source=reader.read('subdocument.tagpax') local target=reader.read('roundtrip-master.tagpax') texio.write_nl('log','pages='..tostring(target.source.pages)) local ok,errors=compare.semantic(source,target) texio.write_nl('log','roundtrip='..tostring(ok)) local precise=false for _,annotation in ipairs(target.annotations or {}) do if annotation.action=='GoTo' then local destination=target.destinations[annotation.destination] precise=destination and destination.view=='XYZ' and tonumber(destination.arg1)~=nil and tonumber(destination.arg2)~=nil break end end texio.write_nl('log','precise-destination='..tostring(not not precise)) for _,e in ipairs(errors) do texio.write_nl('log','error='..e) end local function rolemap_report(label, ir) for _, rolemap in ipairs(ir.rolemaps or {}) do texio.write_nl('log', label..'-rolemap='..tostring(rolemap.tag)..'->'..tostring(rolemap.role)) end end rolemap_report('source', source) rolemap_report('target', target) } \END \end{document}