-
Notifications
You must be signed in to change notification settings - Fork 2
/
sugar_spec.rb
39 lines (31 loc) · 904 Bytes
/
sugar_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
require File.expand_path(__FILE__ + "/../../spec_helper.rb")
describe Sinatra::Sugar do
before { app :Sugar }
it_should_behave_like 'sinatra'
describe "set" do
it "adds hooks to Sinatra::Base#set" do
extension = Module.new
extension.should_receive(:set_foo).with(app)
extension.should_receive(:set_value).with(app, :foo)
app.register extension
app.set :foo, 42
end
it "allows passing a block" do
app.set(:foo) { 42 }
app.foo.should == 42
end
it "merges hash values" do
app.set :foo, :bar => 42
app.set :foo, :baz => 23
app.foo[:bar].should == 42
app.foo[:baz].should == 23
end
end
describe "register" do
it "registers an extension only once" do
extension = Module.new
extension.should_receive(:registered).once.with(app)
10.times { app.register extension }
end
end
end