Sha256: 12e6cc008783055fb6f8bf9a0552c7931df86d5c44a30878015d6cd850c91a3a
Contents?: true
Size: 1.68 KB
Versions: 3
Compression:
Stored size: 1.68 KB
Contents
require File.dirname(__FILE__) + '/spec_helper' require 'xsd_explanation_provider' describe XsdExplanationProvider do let(:logger){ logger = Logger.new(STDOUT) logger.level = Logger::WARN logger } let(:populator){ XsdPopulator.new(:xsd_file => File.expand_path(File.join(File.dirname(__FILE__), 'examples', 'ddex-ern-v36.xsd')), :logger => logger) } let(:provider){ XsdExplanationProvider.new(:data => {:xsd_reader => populator.xsd_reader}, :logger => logger) } it "requires an xsd reader" do msg = expect{ XsdExplanationProvider.new(:logger => logger).take(:something) }.to raise_error(RuntimeError, 'XsdExplanationProvider needs an xsd reader') end it "gives itself for complex elements" do expect(provider.take('NewReleaseMessage')).to eq provider expect(provider.take(['NewReleaseMessage', 'MessageHeader'])).to eq provider end it "gives the element type for simple elements" do expect(provider.take(['NewReleaseMessage', 'MessageHeader', 'MessageId'])).to eq 'xs:string' end it "gives the attribute type for attributes" do expect(provider.take(['NewReleaseMessage', 'MessageHeader', '@LanguageAndScriptCode'])).to eq 'xs:string' end it "is the default fallback provider for XsdPopulators without a specified provider" do expect(populator.provider.class).to eq XsdExplanationProvider xml = populator.populate_element(['NewReleaseMessage', 'MessageHeader', 'MessageSender']) # puts xml doc = Nokogiri.XML(xml) expect(doc.at('/MessageSender/PartyId').text).to eq 'xs:string' expect(doc.at('/MessageSender').attributes['LanguageAndScriptCode'].value).to eq 'xs:string' end end # describe XsdExplanationProvider
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
xsd-populator-0.2.1 | spec/xsd_explanation_provider_spec.rb |
xsd-populator-0.2.0 | spec/xsd_explanation_provider_spec.rb |
xsd-populator-0.1.0 | spec/xsd_explanation_provider_spec.rb |