diff options
Diffstat (limited to 'spec/unit/json_compat_spec.rb')
-rw-r--r-- | spec/unit/json_compat_spec.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/spec/unit/json_compat_spec.rb b/spec/unit/json_compat_spec.rb index e355a47faa..5951f0cc47 100644 --- a/spec/unit/json_compat_spec.rb +++ b/spec/unit/json_compat_spec.rb @@ -58,13 +58,17 @@ describe Chef::JSONCompat do describe "when pretty printing an object that defines #to_json" do class Foo def to_json(*a) - {'foo' => 1234}.to_json(*a) + Chef::JSONCompat.to_json({'foo' => 1234, 'bar' => {'baz' => 5678}}, *a) end end it "should work" do f = Foo.new - expect(Chef::JSONCompat.to_json_pretty(f)).to eql("{\n \"foo\": 1234\n}\n") + expect(Chef::JSONCompat.to_json_pretty(f)).to eql("{\n \"foo\": 1234,\n \"bar\": {\n \"baz\": 5678\n }\n}\n") + end + + include_examples "to_json equalivent to Chef::JSONCompat.to_json" do + let(:subject) { Foo.new } end end @@ -97,4 +101,9 @@ describe Chef::JSONCompat do end end end + + it "should not allow the json gem to be required because of the spec_helper" do + # We want to prevent ourselves from writing code that requires 'json' + expect { require 'json' }.to raise_error(LoadError) + end end |