spec/monetaspecs.rb in moneta-0.7.13 vs spec/monetaspecs.rb in moneta-0.7.14
- old
+ new
@@ -16870,10 +16870,26 @@
@store = nil
store[{"hashkey3"=>"hashkey4"}].should == Value.new(:objval2)
end
end
+#################### store_large ####################
+
+shared_examples_for 'store_large' do
+ it 'should store values up to 32k' do
+ value = 'x' * (32 * 1024)
+ store['large'] = value
+ store['large'].should == value
+ end
+
+ it 'should store keys up to 128 bytes' do
+ key = 'x' * 128
+ store[key] = 'value'
+ store[key].should == 'value'
+ end
+end
+
#################### not_persist ####################
shared_examples_for 'not_persist' do
it 'does not persist values' do
store['key'] = 'val'
@@ -17158,25 +17174,28 @@
end
it 'have atomic increment across multiple processes' do
a = increment_thread('a')
b = increment_thread('b')
+ c = increment_thread('c')
a.join
b.join
+ c.join
1000.times do |i|
store["a#{i}"].should == i.to_s
store["b#{i}"].should == i.to_s
+ store["c#{i}"].should == i.to_s
end
- store.raw['counter'].should == 2000.to_s
+ store.raw['counter'].should == 3000.to_s
end
end
#################### concurrent_create ####################
shared_examples_for 'concurrent_create' do
def create_thread(name)
- a = Thread.new do
+ Thread.new do
s = new_store
1000.times do |i|
s[i.to_s].should == name if s.create(i.to_s, name, :expires => false)
sleep 0.01 if i % 100 == 0
end
@@ -17185,11 +17204,13 @@
end
it 'have atomic create across multiple processes' do
a = create_thread('a')
b = create_thread('b')
+ c = create_thread('c')
a.join
b.join
+ c.join
end
end
#################### increment ####################