2011-05-06 18:05:15 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
require 'jasmine/cli'
|
2011-05-09 19:52:11 +00:00
|
|
|
require 'fakefs/spec_helpers'
|
2011-05-06 18:05:15 +00:00
|
|
|
|
|
|
|
describe Jasmine::CLI do
|
|
|
|
include Jasmine::CLI
|
2011-05-09 19:52:11 +00:00
|
|
|
include FakeFS::SpecHelpers
|
2011-05-06 18:05:15 +00:00
|
|
|
|
|
|
|
describe '#process_jasmine_config' do
|
|
|
|
context 'without overrides' do
|
|
|
|
let(:config) { {} }
|
|
|
|
|
|
|
|
it "should just return the defaults" do
|
|
|
|
process_jasmine_config(config).should == {
|
|
|
|
'src_files' => [],
|
|
|
|
'stylesheets' => [],
|
|
|
|
'helpers' => [ 'helpers/**/*.js' ],
|
|
|
|
'spec_files' => [ '**/*[sS]pec.js' ],
|
2011-05-06 18:16:25 +00:00
|
|
|
'src_dir' => nil,
|
2011-05-06 18:05:15 +00:00
|
|
|
'spec_dir' => 'spec/javascripts'
|
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'with overrides' do
|
|
|
|
let(:config) {
|
|
|
|
{
|
|
|
|
'src_files' => [ 'one', 'two' ],
|
|
|
|
'src_dir' => 'this-dir',
|
|
|
|
'stylesheets' => [ 'three', 'four' ],
|
|
|
|
'helpers' => [ 'five', 'six' ],
|
|
|
|
'spec_files' => [ 'seven', 'eight' ],
|
|
|
|
'spec_dir' => 'that-dir'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
it "should return the merged data" do
|
|
|
|
process_jasmine_config(config).should == config
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-05-09 19:52:11 +00:00
|
|
|
describe '#read_defaults_file' do
|
2011-05-16 21:19:44 +00:00
|
|
|
let(:global_test_data) { %w{first second} }
|
|
|
|
let(:test_data) { %w{third fourth} }
|
2011-05-06 18:05:15 +00:00
|
|
|
|
2011-05-09 19:52:11 +00:00
|
|
|
before do
|
2011-05-16 21:19:44 +00:00
|
|
|
File.open(GLOBAL_DEFAULTS_FILE, 'w') { |fh| fh.puts global_test_data.join(' ') }
|
2011-05-09 19:52:11 +00:00
|
|
|
File.open(DEFAULTS_FILE, 'w') { |fh| fh.puts test_data.join(' ') }
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should read the options" do
|
2011-05-16 21:19:44 +00:00
|
|
|
all_data = []
|
|
|
|
@process_options = lambda { |*args| all_data << args.flatten }
|
2011-05-09 19:52:11 +00:00
|
|
|
|
2011-05-16 21:19:44 +00:00
|
|
|
read_defaults_files!
|
2011-05-09 19:52:11 +00:00
|
|
|
|
2011-05-16 21:19:44 +00:00
|
|
|
all_data.should == [ global_test_data, test_data ]
|
2011-05-09 19:52:11 +00:00
|
|
|
end
|
2011-05-06 18:05:15 +00:00
|
|
|
end
|
2011-05-11 14:29:02 +00:00
|
|
|
|
|
|
|
describe '#use_spec?' do
|
|
|
|
let(:spec_file) { 'my/spec.js' }
|
|
|
|
|
|
|
|
context 'no filter provided' do
|
|
|
|
before do
|
|
|
|
@spec_filter = []
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should allow the spec" do
|
|
|
|
use_spec?(spec_file).should be_true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'filter provided' do
|
|
|
|
before do
|
|
|
|
@spec_filter = [ spec_file ]
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should use the spec" do
|
|
|
|
use_spec?(spec_file).should be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should not use the spec" do
|
|
|
|
use_spec?('other/file').should be_false
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2011-05-06 18:05:15 +00:00
|
|
|
end
|