Sha256: 34d6f353eb5fc25c3d9a26072aed80f58803cbbcf2f984d5376df3a611b1d431
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true ################################################ # © Alexander Semyonov, 2011—2013, MIT License # # Author: Alexander Semyonov <al@semyonov.us> # ################################################ require 'spec_helper' RSpec.describe Xommelier::Atom::Feed do describe '.new(Hash)' do let(:hash) do { title: 'Xommelier nest elements', subtitle: 'Xommelier is able to build complex objects from very nested hash', author: { name: 'Alexander', email: 'al@semyonov.us' }, updated: Time.utc(2012, 4, 4, 4, 4), contributors: [ { name: 'Artyom', email: 'sevenov@gmail.com' }, { name: 'Sergey', email: 'sergey@ukstv.me' } ], entries: [ { title: 'First article', updated: Time.utc(2012, 1, 1, 1, 1) }, { title: 'Second article', updated: Time.utc(2012, 2, 2, 2, 2) }, { title: 'Third article', updated: Time.utc(2012, 3, 3, 3, 3) } ] } end subject(:doc) { described_class.new(hash) } its('authors.size') { should == 1 } its('contributors.size') { should == 2 } its('entries.size') { should == 3 } it { expect(doc.author).to be_an(Xommelier::Atom::Person) } it { expect(doc.contributors[1]).to be_an(Xommelier::Atom::Person) } it { expect(doc.entries[1]).to be_an(Xommelier::Atom::Entry) } its(:to_hash) { should == hash } its(:to_xml) { should == load_xml_file('nested_atom') } it_behaves_like 'Valid XML Document' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xommelier-0.1.35 | spec/functional/xommelier/atom/feed/building_hash_spec.rb |