require "simplecov" SimpleCov.start do add_filter "/spec/" end require "bundler/setup" require "isodoc" require "rspec/matchers" require "equivalent-xml" require "rexml/document" RSpec.configure do |config| # Enable flags like --only-failures and --next-failure config.example_status_persistence_file_path = ".rspec_status" # Disable RSpec exposing methods globally on `Module` and `main` config.disable_monkey_patching! config.expect_with :rspec do |c| c.syntax = :expect end end def xmlpp(x) s = "" f = REXML::Formatters::Pretty.new(2) f.compact = true f.write(REXML::Document.new(x),s) s end def strip_guid(x) x.gsub(%r{ id="_[^"]+"}, ' id="_"').gsub(%r{ target="_[^"]+"}, ' target="_"'). gsub(%r( href="#[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{13}"), ' href="#_"'). gsub(%r( id="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{13}"), ' id="_"'). gsub(%r( id="ftn[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{13}"), ' id="ftn_"'). gsub(%r( id="fn:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{13}"), ' id="fn:_"'). gsub(%r[ src="([^/]+)/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\.], ' src="\\1/_.') end HTML_HDR = <<~END <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en"> <head/> <body lang="en"> <div class="title-section"> <p> </p> </div> <br/> <div class="prefatory-section"> <p> </p> </div> <br/> <div class="main-section"> END WORD_HDR = <<~END <html xmlns:epub="http://www.idpf.org/2007/ops" lang="en"> <head> <style> <!-- --> </style> </head> <body lang="EN-US" link="blue" vlink="#954F72"> <div class="WordSection1"> <p> </p> </div> <p><br clear="all" class="section"/></p> <div class="WordSection2"> <p> </p> </div> <p><br clear="all" class="section"/></p> <div class="WordSection3"> END