77 lines
2.8 KiB
Ruby
77 lines
2.8 KiB
Ruby
require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper"))
|
|
|
|
describe Jasmine::Config do
|
|
before(:each) do
|
|
@template_dir = File.expand_path(File.join(File.dirname(__FILE__), "../generators/jasmine/templates"))
|
|
@config = Jasmine::Config.new
|
|
@config.stub!(:src_dir).and_return(File.join(@template_dir, "public"))
|
|
@config.stub!(:spec_dir).and_return(File.join(@template_dir, "spec"))
|
|
end
|
|
|
|
describe "simple_config" do
|
|
it "if sources.yaml not found" do
|
|
File.stub!(:exist?).and_return(false)
|
|
@config.src_files.should == []
|
|
@config.spec_files.should == ['javascripts/ExampleSpec.js', 'javascripts/SpecHelper.js']
|
|
@config.mappings.should == {
|
|
'/__root__' => @config.project_root,
|
|
'/__spec__' => @config.spec_dir
|
|
}
|
|
end
|
|
|
|
it "if sources.yaml is empty" do
|
|
YAML.stub!(:load).and_return(false)
|
|
@config.src_files.should == []
|
|
@config.spec_files.should == ['javascripts/ExampleSpec.js', 'javascripts/SpecHelper.js']
|
|
@config.mappings.should == {
|
|
'/__root__' => @config.project_root,
|
|
'/__spec__' => @config.spec_dir
|
|
}
|
|
end
|
|
|
|
it "using default sources.yaml" do
|
|
@config.stub!(:simple_config_file).and_return(File.join(@template_dir, 'spec/javascripts/support/sources.yaml'))
|
|
@config.src_files.should == []
|
|
@config.spec_files.should == ['javascripts/ExampleSpec.js', 'javascripts/SpecHelper.js']
|
|
@config.mappings.should == {
|
|
'/__root__' => @config.project_root,
|
|
'/__spec__' => @config.spec_dir
|
|
}
|
|
end
|
|
|
|
it "using rails sources.yaml" do
|
|
@config.stub!(:simple_config_file).and_return(File.join(@template_dir, 'spec/javascripts/support/sources-rails.yaml'))
|
|
@config.src_files.should == ['javascripts/prototype.js',
|
|
'javascripts/effects.js',
|
|
'javascripts/controls.js',
|
|
'javascripts/dragdrop.js',
|
|
'javascripts/application.js']
|
|
@config.spec_files.should == ['javascripts/ExampleSpec.js', 'javascripts/SpecHelper.js']
|
|
@config.js_files.should == [
|
|
'/javascripts/prototype.js',
|
|
'/javascripts/effects.js',
|
|
'/javascripts/controls.js',
|
|
'/javascripts/dragdrop.js',
|
|
'/javascripts/application.js',
|
|
'/__spec__/javascripts/ExampleSpec.js',
|
|
'/__spec__/javascripts/SpecHelper.js',
|
|
]
|
|
end
|
|
end
|
|
|
|
|
|
it "should provide dir mappings" do
|
|
@config.mappings.should == {
|
|
'/__root__' => @config.project_root,
|
|
'/__spec__' => @config.spec_dir
|
|
}
|
|
end
|
|
|
|
it "should provide a list of all spec files with full paths" do
|
|
@config.spec_files_full_paths.should == [
|
|
File.join(@template_dir, 'spec/javascripts/ExampleSpec.js'),
|
|
File.join(@template_dir, 'spec/javascripts/SpecHelper.js')
|
|
]
|
|
end
|
|
|
|
end |