spec/json_spec.rb in bubble-wrap-0.1.2 vs spec/json_spec.rb in bubble-wrap-0.2.0
- old
+ new
@@ -91,11 +91,11 @@
before do
@obj = { foo: 'bar',
'bar' => 'baz',
baz: 123,
foobar: [1,2,3],
- foobaz: {a: 1, b: 2}
+ foobaz: {'a' => 1, 'b' => 2}
}
end
it "should generate from a hash" do
json = BubbleWrap::JSON.generate(@obj)
@@ -104,11 +104,21 @@
end
it "should encode and decode and object losslessly" do
json = BubbleWrap::JSON.generate(@obj)
obj = BubbleWrap::JSON.parse(json)
- obj.keys.sort.should == @obj.keys.sort
- obj.values.sort.should == @obj.values.sort
+
+ obj["foo"].should == 'bar'
+ obj["bar"].should == 'baz'
+ obj["baz"].should == 123
+ obj["foobar"].should == [1,2,3]
+ obj["foobaz"].should == {"a" => 1, "b" => 2}
+
+ # TODO Find out why following line cause runtime error
+ # obj.keys.sort.should == @obj.keys.sort
+ # obj.values.sort.should == @obj.values.sort
+ obj.keys.sort { |a, b| a.to_s <=> b.to_s }.should == @obj.keys.sort { |a, b| a.to_s <=> b.to_s }
+ obj.values.sort { |a, b| a.to_s <=> b.to_s }.should == @obj.values.sort { |a, b| a.to_s <=> b.to_s }
end
end
end