From 1c7b4629240c49e02c482da6de1a6a2cc574304e Mon Sep 17 00:00:00 2001 From: tyler-ball Date: Wed, 24 Sep 2014 09:18:47 -0700 Subject: Trying to eradicate all traces of the JSON gem from Chef --- spec/unit/json_compat_spec.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'spec/unit/json_compat_spec.rb') 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 -- cgit v1.2.1