Sha256: 9d95131f965bd0a37b5c473a70b036a49e028c59268602484488fa521262fe9d

Contents?: true

Size: 856 Bytes

Versions: 6

Compression:

Stored size: 856 Bytes

Contents

require 'spec_helper'

module XML
  module MappingExtensions

    class SomeMappingClass
      include ::XML::Mapping
    end

    describe NodeBase do
      before :each do
        @node = NodeBase.new(SomeMappingClass, :attr_name, 'attr_name')
      end

      describe '#extract_attr_value' do
        it 'forwards to #to_value'
      end

      describe '#set_attr_value' do
        it 'forwards to #to_xml_text'
      end

      describe '#xml_text' do
        it 'should be abstract' do
          expect { @node.to_value('some text') }.to raise_error(NoMethodError)
        end
      end

      describe '#to_xml_text' do
        it 'should call to_s by default' do
          values = ['elvis', 123, Object.new]
          values.each do |v|
            expect(@node.to_xml_text(v)).to eq(v.to_s)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
xml-mapping_extensions-0.3.1 spec/unit/xml/mapping_extensions/node_base_spec.rb
xml-mapping_extensions-0.3.0 spec/unit/xml/mapping_extensions/node_base_spec.rb
xml-mapping_extensions-0.2.1 spec/unit/xml/mapping_extensions/node_base_spec.rb
xml-mapping_extensions-0.2.0 spec/unit/xml/mapping_extensions/node_base_spec.rb
xml-mapping_extensions-0.1.1 spec/unit/xml/mapping_extensions/node_base_spec.rb
xml-mapping_extensions-0.1.0 spec/unit/xml/mapping_extensions/node_base_spec.rb