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