spec/lib/loader_spec.rb in picky-4.0.0pre1 vs spec/lib/loader_spec.rb in picky-4.0.0pre2
- old
+ new
@@ -1,64 +1,104 @@
require 'spec_helper'
describe Picky::Loader do
before(:each) do
+ described_class.stub! :exclaim
@loader_path = File.absolute_path("#{File.dirname(__FILE__)}/../../lib/picky/loader.rb")
end
-
+
+ describe 'load self and framework' do
+ it 'it is quick' do
+ performance_of do
+ described_class.load_self
+ described_class.load_framework
+ end.should < 0.025
+ end
+ end
+
describe 'load_application' do
- before(:each) do
- Picky::Application.stub! :reload
+ it 'does ok' do
+ Kernel.should_receive(:load).once.with 'spec/test_directory/app.rb'
+
+ lambda { described_class.load_application }.should_not raise_error
end
- it "does ok" do
- lambda { Picky::Loader.load_application }.should_not raise_error
+ it 'loads correctly' do
+ described_class.should_receive(:load_user).once.with 'app'
+
+ described_class.load_application
end
+ it 'loads correctly' do
+ described_class.should_receive(:load_user).once.with 'special_app'
+
+ described_class.load_application 'special_app'
+ end
end
-
+
describe 'load_framework' do
before(:each) do
- Picky::Loader.stub! :load_relative
+ described_class.stub! :load_relative
end
- it "does ok" do
- lambda { Picky::Loader.load_framework }.should_not raise_error
+ it 'does ok' do
+ lambda { described_class.load_framework }.should_not raise_error
end
end
-
+
describe 'load_self' do
before(:each) do
- Picky::Loader.stub! :load
- Picky::Loader.stub! :exclaim
+ described_class.stub! :load
end
after(:each) do
- Picky::Loader.load_self
+ described_class.load_self
end
it 'should load __SELF__' do
- Picky::Loader.should_receive(:load).once.with @loader_path
+ Kernel.should_receive(:load).once.with @loader_path
end
end
describe 'reload' do
before(:each) do
load @loader_path
- Picky::Loader.stub! :exclaim
- Picky::Loader.stub! :load_framework
- Picky::Loader.stub! :load_application
+ described_class.stub! :load_framework
+ described_class.stub! :load_application
Dir.stub! :chdir
end
+ it 'should call the right methods in order' do
+ described_class.should_receive(:load_self).ordered
+ described_class.should_receive(:load_framework).ordered
+ described_class.should_receive(:load_application).ordered
+
+ described_class.reload
+ end
+ it 'should load itself only once' do
+ described_class.should_receive(:load_self).once
+
+ described_class.reload
+ end
+ # it 'can load a specific app' do
+ # described_class.should_receive(:load_application).once.with 'special_app'
+ #
+ # described_class.reload 'special_app'
+ # end
+ end
+
+ describe 'load' do
+ before(:each) do
+ load @loader_path
+ described_class.stub! :load_framework
+ described_class.stub! :load_application
+ Dir.stub! :chdir
+ end
after(:each) do
- Picky::Loader.reload
+ described_class.load
end
it 'should call the right methods in order' do
- Picky::Loader.should_receive(:load_self).ordered
- Picky::Loader.should_receive(:load_framework).ordered
- Picky::Loader.should_receive(:load_application).ordered
+ described_class.should_receive(:load_self).ordered
+ described_class.should_receive(:load_framework).ordered
+ described_class.should_receive(:load_application).ordered
end
it 'should load itself only once' do
- Picky::Loader.should_receive(:load_self).once
+ described_class.should_receive(:load_self).once
end
- # it 'should load the app only once' do
- # Loader.should_receive(:load_framework).once
- # end
end
end
\ No newline at end of file