public
Rubygem
Description: Merb Core: All you need. None you don't.
Homepage: http://www.merbivore.com
Clone URL: git://github.com/wycats/merb-core.git
benburkert (author)
Tue Feb 12 20:43:18 -0800 2008
ivey (committer)
Wed Feb 13 20:33:01 -0800 2008
commit  7f76614569ea94348364384ac02db4c3dba2709d
tree    65ff946b7fdfd0d447e6b1eba98e66a92feff0f6
parent  f32b4cbf96c307cf913102b676fb379c847daa80
merb-core / spec / private / plugins / plugin_spec.rb
100644 79 lines (63 sloc) 2.355 kb
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
 
describe "Plugins", "default GENERATOR_SCOPE" do
  it "should have :merb_default first" do
    Merb.generator_scope.first.should == :merb_default
  end
 
  it "should have :merb" do
    Merb.generator_scope.should include(:merb)
  end
 
  it "should have :rspec last" do
    Merb.generator_scope.last.should == :rspec
  end
end
 
describe "Plugins","use_orm" do
  before(:each) do
    Merb.generator_scope.replace [:merb_default, :merb, :rspec]
    Kernel.stub!(:dependency)
  end
  
  it "should raise an error if use_orm is called twice" do
    use_orm(:activerecord)
    lambda { use_orm(:datamapper) }.should raise_error
  end
 
  it "should not have :merb_default in GENERATOR_SCOPE with use_orm(:activerecord)" do
    use_orm(:activerecord)
    Merb.generator_scope.should_not include(:merb_default)
  end
 
  it "should have :activerecord in GENERATOR_SCOPE with use_orm(:activerecord)" do
    use_orm(:activerecord)
    Merb.generator_scope.should include(:activerecord)
  end
 
  it "should have :activerecord first in GENERATOR_SCOPE with use_orm(:activerecord)" do
    use_orm(:activerecord)
    Merb.generator_scope.first.should == :activerecord
  end
  
  it "should call dependency :merb_activerecord with use_orm(:activerecord)" do
    Kernel.should_receive(:dependency).with("merb_activerecord").once.
      and_return(true)
    use_orm(:activerecord)
  end
  
end
 
describe "Plugins","use_test" do
  before(:each) do
    Merb.generator_scope.replace [:merb_default, :merb, :rspec]
    Kernel.stub!(:dependency)
  end
  
  it "should have :rspec in GENERATOR_SCOPE by default" do
    Merb.generator_scope.should include(:rspec)
  end
 
  it "should not have :rspec in GENERATOR_SCOPE with use_test(:test_unit)" do
    use_test(:test_unit)
    Merb.generator_scope.should_not include(:rspec)
  end
 
  it "should have :test_unit in GENERATOR_SCOPE with use_test(:test_unit)" do
    use_test(:test_unit)
    Merb.generator_scope.should include(:test_unit)
  end
 
  it "should have :test_unit last in GENERATOR_SCOPE with use_test(:test_unit)" do
    use_test(:test_unit)
    Merb.generator_scope.last.should == :test_unit
  end
  
  it "should raise an error if called with an unsupported test framework" do
    lambda { use_test(:fiddlefaddle) }.should raise_error
  end
end