main
 1# frozen_string_literal: true
 2
 3require 'rspec/expectations'
 4
 5RSpec::Matchers.define :match_xsd do |expected|
 6  match do |actual|
 7    file = File.expand_path(File.join(__dir__, "../../fixtures/xsd/#{expected}.xsd"))
 8    xml = Nokogiri::XML(actual).document
 9    Dir.chdir(File.dirname(file)) do
10      xsd = Nokogiri::XML::Schema(IO.read(file))
11      errors = xsd.validate(xml)
12      @actual = errors
13      expect(errors).to be_empty
14    end
15  end
16
17  diffable
18end