spec/flydata/json/json_ext_spec.rb in flydata-0.6.0 vs spec/flydata/json/json_ext_spec.rb in flydata-0.6.1

- old
+ new

@@ -63,7 +63,31 @@ let(:value) { "\x1c" } let(:expected_value) { "\\u001c" } it_behaves_like "producing the expected result" end end + + context 'testing memory' do + let(:keys) { ['id', 'user_id', 'name', 'timestamp'] } + let(:values) { ['29388381012', '192938439', 'Muy Fiel y Reconquistadora Ciudad de San Felipe y Santiago de Montevideo', '2015-12-01 12:34:56' ] } + let(:expected_result) { %Q|{"id":"29388381012","user_id":"192938439","name":"Muy Fiel y Reconquistadora Ciudad de San Felipe y Santiago de Montevideo","timestamp":"2015-12-01 12:34:56"}| } + xcontext 'when run many many times' do + thread = nil + before do + GC.stress = true + thread = Thread.new { loop {rand(9).to_s * rand(9)} } + end + it do + 6000.times do + result = described_class.generate_kv_pairs(keys, values) + rand(9).to_s * rand(9) + expect(result).to eq expected_result + end + end + after do + GC.stress = false + thread.kill + end + end + end end end