Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / radiant_specs / spec / lib / radiant / .svn / text-base / extension_spec.rb.svn-base
blobb87ea390d11a1cf85ffc4db379fe2cbf00f6825c
1 require File.dirname(__FILE__) + "/../../spec_helper"
3 describe Radiant::Extension do
5   it "should be a Simpleton" do
6     Radiant::Extension.included_modules.should include(Simpleton)
7     Radiant::Extension.should respond_to(:instance)
8   end
9   
10   it "should annotate version, description, url, root and extension_name" do
11     Radiant::Extension.included_modules.should include(Annotatable)
12     %w{version description url root extension_name}.each do |attribute|
13       Radiant::Extension.should respond_to(attribute)
14     end
15   end
16   
17   it "should have access to the Radiant::AdminUI instance" do
18     BasicExtension.instance.should respond_to(:admin)
19     BasicExtension.admin.should == Radiant::AdminUI.instance
20   end
21   
22   it "should have a migrator" do
23     BasicExtension.instance.should respond_to(:migrator)
24     BasicExtension.migrator.should be_instance_of(Radiant::ExtensionMigrator)
25   end
26   
27   it "should set the extension_name in subclasses" do
28     Kernel.module_eval { class SuperExtension < Radiant::Extension; end }
29     SuperExtension.extension_name.should == "Super"
30   end
31   
32   it "should store route definitions defined in a block" do
33     Radiant::Extension.should respond_to(:define_routes)
34     my_block = proc {|map| map.stuff "stuff", :controller => "admin/pages" }
35     Radiant::Extension.define_routes(&my_block)
36     Radiant::Extension.route_definitions.should be_instance_of(Array)
37     Radiant::Extension.route_definitions.first.should == my_block
38   end
40 end
42 describe Radiant::Extension, "when inactive" do
44   before :each do
45     BasicExtension.deactivate
46     Radiant::AdminUI.tabs.clear
47   end
49   it "should become active when activated" do
50     BasicExtension.activate
51     BasicExtension.active?.should == true
52   end
53   
54 end
56 describe Radiant::Extension, "when active" do
58   it "should become deactive when deactivated" do
59     BasicExtension.deactivate
60     BasicExtension.active?.should == false
61   end
63   # This example needs revisiting and more detail
64   it "should have loaded plugins stored in vendor/plugins" do
65     defined?(Multiple).should_not be_nil
66     defined?(NormalPlugin).should_not be_nil
67   end
68   
69 end