Sha256: fd29270a146a91706aa1e6104e0a5e032f9eb899d427a0e9bd7d49d4eacff428

Contents?: true

Size: 680 Bytes

Versions: 2

Compression:

Stored size: 680 Bytes

Contents

require "spec_helper_lite"

describe Undo::Serializer::Primitive do
  primitives = [nil, {}, [], [nil, nil], true, false, 1, 1.0, "hello", :world]

  primitives .each do |input|
    input_name = input.inspect
    specify "restore #{input_name}" do
      expect(subject.deserialize subject.serialize(input)).to eq input
    end
  end

  describe "json storage" do
    require "json"
    primitives.each do |input|
      input_name = input.inspect

      specify "restore #{input_name}" do
        storage = -> object { JSON.load(object.to_json) }
        data = storage.call subject.serialize(input)
        expect(subject.deserialize data).to eq input
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
undo-serializer-primitive-0.0.2 spec/undo/serializer/primitive_spec.rb
undo-serializer-primitive-0.0.1 spec/undo/serializer/primitive_spec.rb