start factoring out some things
This commit is contained in:
parent
128c645d17
commit
603ba69f77
@ -1,9 +1,16 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
gem_dir = File.expand_path('../..', __FILE__)
|
||||||
|
$:.unshift(File.join(gem_dir, 'lib'))
|
||||||
|
|
||||||
require 'yaml'
|
require 'yaml'
|
||||||
require 'fileutils'
|
require 'fileutils'
|
||||||
require 'getoptlong'
|
require 'getoptlong'
|
||||||
|
|
||||||
|
require 'jasmine/cli'
|
||||||
|
|
||||||
|
include Jasmine::CLI
|
||||||
|
|
||||||
opts = GetoptLong.new(
|
opts = GetoptLong.new(
|
||||||
[ '--colors', '-c', GetoptLong::NO_ARGUMENT ],
|
[ '--colors', '-c', GetoptLong::NO_ARGUMENT ],
|
||||||
[ '--no-colors', GetoptLong::NO_ARGUMENT ]
|
[ '--no-colors', GetoptLong::NO_ARGUMENT ]
|
||||||
@ -28,7 +35,6 @@ end
|
|||||||
opts.each(&process_options)
|
opts.each(&process_options)
|
||||||
|
|
||||||
data = YAML.load_file(ARGV.shift || 'spec/javascripts/support/jasmine.yml')
|
data = YAML.load_file(ARGV.shift || 'spec/javascripts/support/jasmine.yml')
|
||||||
gem_dir = File.expand_path('../..', __FILE__)
|
|
||||||
|
|
||||||
if !File.file?(File.join(gem_dir, 'ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner'))
|
if !File.file?(File.join(gem_dir, 'ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner'))
|
||||||
puts "The Qt WebKit widget is not compiled! Try re-installing this gem."
|
puts "The Qt WebKit widget is not compiled! Try re-installing this gem."
|
||||||
@ -43,12 +49,6 @@ files = [
|
|||||||
'file://' + File.join(gem_dir, 'jasmine/lib/jasmine.css')
|
'file://' + File.join(gem_dir, 'jasmine/lib/jasmine.css')
|
||||||
]
|
]
|
||||||
|
|
||||||
DEFAULTS = {
|
|
||||||
'spec_files' => [ '**/*[sS]pec.js' ],
|
|
||||||
'helpers' => [ 'helpers/**/*.js' ],
|
|
||||||
'spec_dir' => 'spec/javascripts'
|
|
||||||
}
|
|
||||||
|
|
||||||
files += [ [ 'src_files', 'src_dir' ], [ 'stylesheets', 'src_dir' ], [ 'helpers', 'spec_dir' ], [ 'spec_files', 'spec_dir' ] ].collect do |searches, root|
|
files += [ [ 'src_files', 'src_dir' ], [ 'stylesheets', 'src_dir' ], [ 'helpers', 'spec_dir' ], [ 'spec_files', 'spec_dir' ] ].collect do |searches, root|
|
||||||
data[searches] ||= DEFAULTS[searches]
|
data[searches] ||= DEFAULTS[searches]
|
||||||
data[root] ||= DEFAULTS[root]
|
data[root] ||= DEFAULTS[root]
|
||||||
|
17
lib/jasmine/cli.rb
Normal file
17
lib/jasmine/cli.rb
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
module Jasmine
|
||||||
|
module CLI
|
||||||
|
DEFAULTS = {
|
||||||
|
'spec_files' => [ '**/*[sS]pec.js' ],
|
||||||
|
'helpers' => [ 'helpers/**/*.js' ],
|
||||||
|
'spec_dir' => 'spec/javascripts',
|
||||||
|
'src_dir' => '',
|
||||||
|
'stylesheets' => [],
|
||||||
|
'src_files' => []
|
||||||
|
}
|
||||||
|
|
||||||
|
def process_jasmine_config(overrides = {})
|
||||||
|
DEFAULTS.merge(overrides)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
44
spec/lib/jasmine/cli_spec.rb
Normal file
44
spec/lib/jasmine/cli_spec.rb
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
require 'jasmine/cli'
|
||||||
|
|
||||||
|
describe Jasmine::CLI do
|
||||||
|
include Jasmine::CLI
|
||||||
|
|
||||||
|
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' ],
|
||||||
|
'src_dir' => '',
|
||||||
|
'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
|
||||||
|
|
||||||
|
describe '#get_files' do
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user