diff options
Diffstat (limited to 'spec/ffi_yajl/encoder_spec.rb')
-rw-r--r-- | spec/ffi_yajl/encoder_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/ffi_yajl/encoder_spec.rb b/spec/ffi_yajl/encoder_spec.rb index 02bc020..41587e2 100644 --- a/spec/ffi_yajl/encoder_spec.rb +++ b/spec/ffi_yajl/encoder_spec.rb @@ -7,6 +7,31 @@ describe "FFI_Yajl::Encoder" do let(:encoder) { FFI_Yajl::Encoder.new } + it "encodes hashes in keys as strings" do + ruby = { {'a' => 'b'} => 2 } + expect(encoder.encode(ruby)).to eq('{"{\"a\"=>\"b\"}":2}') + end + + it "encodes arrays in keys as strings" do + ruby = { [0,1] => 2 } + expect(encoder.encode(ruby)).to eq('{"[0, 1]":2}') + end + + it "encodes nil in keys as strings" do + ruby = { nil => 2 } + expect(encoder.encode(ruby)).to eq('{"":2}') + end + + it "encodes true in keys as strings" do + ruby = { true => 2 } + expect(encoder.encode(ruby)).to eq('{"true":2}') + end + + it "encodes false in keys as strings" do + ruby = { false => 2 } + expect(encoder.encode(ruby)).to eq('{"false":2}') + end + it "encodes fixnums in keys as strings" do ruby = { 1 => 2 } expect(encoder.encode(ruby)).to eq('{"1":2}') |