1 require File.dirname(__FILE__) + "/../../spec_helper"
3 describe Radiant::Configuration do
5 @configuration = Radiant::Configuration.new
8 it "should be a Rails configuration" do
9 @configuration.should be_kind_of(Rails::Configuration)
12 it "should have view_paths, extensions and extension_paths accessible" do
13 %w{view_paths extensions extension_paths}.each do |m|
14 @configuration.should respond_to(m)
15 @configuration.should respond_to("#{m}=")
19 it "should initialize the view paths to an array" do
20 @configuration.view_paths.should_not be_nil
21 @configuration.view_paths.should be_kind_of(Array)
24 it "should initialize the extension paths" do
25 @configuration.extension_paths.should_not be_nil
26 @configuration.extension_paths.should be_kind_of(Array)
27 @configuration.extension_paths.should include("#{RADIANT_ROOT}/vendor/extensions")
30 it "should have access to the AdminUI" do
31 @configuration.admin.should == Radiant::AdminUI.instance
35 describe Radiant::Initializer do
38 @initializer = Radiant::Initializer.new(Radiant::Configuration.new)
39 @loader = Radiant::ExtensionLoader.instance
42 it "should be a Rails initializer" do
43 @initializer.should be_kind_of(Rails::Initializer)
46 it "should have an extension loader" do
47 @loader.should_receive(:initializer=).with(@initializer)
48 @initializer.send(:extension_loader).should == @loader
51 it "should not add extension paths before set_load_path" do
52 @loader.should_receive(:add_plugin_paths).never
53 @loader.should_receive(:add_extension_paths).never
54 @initializer.set_load_path
57 it "should load and initialize extensions after plugins are loaded" do
58 @loader.should_receive(:load_extensions)
59 @initializer.load_plugins
62 it "should add extension controller paths before initializing routing" do
63 @loader.should_receive(:add_controller_paths)
64 @initializer.initialize_routing
67 it "should activate extensions after initialization" do
68 @initializer.extension_loader.should_receive(:activate_extensions)
69 @initializer.after_initialize
72 it "should initialize admin tabs" do
73 @initializer.initialize_default_admin_tabs
74 Radiant::AdminUI.instance.tabs.size.should == 3
77 it "should have access to the AdminUI" do
78 @initializer.admin.should == Radiant::AdminUI.instance