|
8 | 8 | end |
9 | 9 | end |
10 | 10 |
|
11 | | - describe '.encode' do |
| 11 | + describe '.dump' do |
12 | 12 | it 'writes decodable JSON' do |
13 | 13 | [ |
14 | 14 | {'abc' => 'def'}, |
15 | 15 | [1, 2, 3, "4"], |
16 | 16 | ].each do |example| |
17 | | - MultiJson.decode(MultiJson.encode(example)).should == example |
| 17 | + MultiJson.load(MultiJson.dump(example)).should == example |
18 | 18 | end |
19 | 19 | end |
20 | 20 |
|
21 | | - it 'encodes symbol keys as strings' do |
| 21 | + it 'dumps symbol keys as strings' do |
22 | 22 | [ |
23 | 23 | [ |
24 | 24 | {:foo => {:bar => 'baz'}}, |
|
33 | 33 | {'foo' => [{'bar' => 'baz'}]}, |
34 | 34 | ] |
35 | 35 | ].each do |example, expected| |
36 | | - encoded_json = MultiJson.encode(example) |
37 | | - MultiJson.decode(encoded_json).should == expected |
| 36 | + dumped_json = MultiJson.dump(example) |
| 37 | + MultiJson.load(dumped_json).should == expected |
38 | 38 | end |
39 | 39 | end |
40 | 40 |
|
41 | | - it 'encodes rootless JSON' do |
42 | | - MultiJson.encode("random rootless string").should == "\"random rootless string\"" |
43 | | - MultiJson.encode(123).should == "123" |
| 41 | + it 'dumps rootless JSON' do |
| 42 | + MultiJson.dump("random rootless string").should == "\"random rootless string\"" |
| 43 | + MultiJson.dump(123).should == "123" |
44 | 44 | end |
45 | 45 |
|
46 | 46 | it 'passes options to the engine' do |
47 | | - MultiJson.engine.should_receive(:encode).with('foo', {:bar => :baz}) |
48 | | - MultiJson.encode('foo', :bar => :baz) |
| 47 | + MultiJson.engine.should_receive(:dump).with('foo', {:bar => :baz}) |
| 48 | + MultiJson.dump('foo', :bar => :baz) |
49 | 49 | end |
50 | 50 |
|
51 | 51 | if engine == 'json_gem' || engine == 'json_pure' |
52 | 52 | describe 'with :pretty option set to true' do |
53 | 53 | it 'passes default pretty options' do |
54 | 54 | object = 'foo' |
55 | 55 | object.should_receive(:to_json).with(JSON::PRETTY_STATE_PROTOTYPE.to_h) |
56 | | - MultiJson.encode(object,:pretty => true) |
| 56 | + MultiJson.dump(object,:pretty => true) |
57 | 57 | end |
58 | 58 | end |
59 | 59 | end |
60 | 60 |
|
61 | | - it "encodes custom objects which implement as_json" do |
62 | | - MultiJson.encode(TimeWithZone.new).should == "\"2005-02-01T15:15:10Z\"" |
| 61 | + it 'dumps custom objects which implement as_json' do |
| 62 | + MultiJson.dump(TimeWithZone.new).should == "\"2005-02-01T15:15:10Z\"" |
63 | 63 | end |
64 | 64 | end |
65 | 65 |
|
66 | | - describe '.decode' do |
67 | | - it 'properly decodes valid JSON' do |
68 | | - MultiJson.decode('{"abc":"def"}').should == {'abc' => 'def'} |
| 66 | + describe '.load' do |
| 67 | + it 'properly loads valid JSON' do |
| 68 | + MultiJson.load('{"abc":"def"}').should == {'abc' => 'def'} |
69 | 69 | end |
70 | 70 |
|
71 | 71 | it 'raises MultiJson::DecodeError on invalid JSON' do |
72 | 72 | lambda do |
73 | | - MultiJson.decode('{"abc"}') |
| 73 | + MultiJson.load('{"abc"}') |
74 | 74 | end.should raise_error(MultiJson::DecodeError) |
75 | 75 | end |
76 | 76 |
|
77 | 77 | it 'raises MultiJson::DecodeError with data on invalid JSON' do |
78 | 78 | data = '{invalid}' |
79 | 79 | begin |
80 | | - MultiJson.decode(data) |
| 80 | + MultiJson.load(data) |
81 | 81 | rescue MultiJson::DecodeError => de |
82 | 82 | de.data.should == data |
83 | 83 | end |
84 | 84 | end |
85 | 85 |
|
86 | 86 | it 'stringifys symbol keys when encoding' do |
87 | | - encoded_json = MultiJson.encode(:a => 1, :b => {:c => 2}) |
88 | | - MultiJson.decode(encoded_json).should == {"a" => 1, "b" => {"c" => 2}} |
| 87 | + dumped_json = MultiJson.dump(:a => 1, :b => {:c => 2}) |
| 88 | + MultiJson.load(dumped_json).should == {"a" => 1, "b" => {"c" => 2}} |
89 | 89 | end |
90 | 90 |
|
91 | | - it "properly decodes valid JSON in StringIOs" do |
| 91 | + it 'properly loads valid JSON in StringIOs' do |
92 | 92 | json = StringIO.new('{"abc":"def"}') |
93 | | - MultiJson.decode(json).should == {'abc' => 'def'} |
| 93 | + MultiJson.load(json).should == {'abc' => 'def'} |
94 | 94 | end |
95 | 95 |
|
96 | 96 | it 'allows for symbolization of keys' do |
|
108 | 108 | {:abc => [{:def => 'hgi'}]}, |
109 | 109 | ], |
110 | 110 | ].each do |example, expected| |
111 | | - MultiJson.decode(example, :symbolize_keys => true).should == expected |
| 111 | + MultiJson.load(example, :symbolize_keys => true).should == expected |
112 | 112 | end |
113 | 113 | end |
114 | 114 | end |
|
0 commit comments