Sha256: 699e27e4418759cc2b339488a5efc30f172fc8f9e5d28c21c2bb303b8e49d3a5

Contents?: true

Size: 896 Bytes

Versions: 3

Compression:

Stored size: 896 Bytes

Contents

require 'pathname'
require 'yaml'
require Pathname(__FILE__).dirname.expand_path.parent + 'spec_helper'

describe DataMapper::Serialize, '#to_yaml' do
  #
  # ==== yummy YAML
  #

  before(:all) do
    @harness = Class.new(SerializerTestHarness) do
      def method_name
        :to_yaml
      end

      protected

      def deserialize(result)
        stringify_keys = lambda {|hash| hash.inject({}) {|a, (key, value)| a.update(key.to_s => value) }}
        result = YAML.load(result)
        (process = lambda {|object|
          if object.is_a?(Array)
            object.collect(&process)
          elsif object.is_a?(Hash)
            stringify_keys[object]
          else
            object
          end
        })[result]
      end
    end.new
  end

  it_should_behave_like 'A serialization method'
  it_should_behave_like 'A serialization method that also serializes core classes'

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dm-serializer-0.9.11 spec/public/to_yaml_spec.rb
dm-serializer-0.9.10 spec/public/to_yaml_spec.rb
dm-serializer-0.9.9 spec/public/to_yaml_spec.rb