jasmine-headless-webkit/lib/jasmine/cli.rb

79 lines
1.8 KiB
Ruby
Raw Normal View History

2011-05-06 18:05:15 +00:00
module Jasmine
module CLI
DEFAULTS = {
'spec_files' => [ '**/*[sS]pec.js' ],
'helpers' => [ 'helpers/**/*.js' ],
'spec_dir' => 'spec/javascripts',
'src_dir' => nil,
2011-05-06 18:05:15 +00:00
'stylesheets' => [],
'src_files' => []
}
2011-05-10 13:25:55 +00:00
RUNNER = 'ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner'
2011-05-09 19:52:11 +00:00
DEFAULTS_FILE = '.jasmine-headless-webkit'
2011-05-16 21:19:44 +00:00
GLOBAL_DEFAULTS_FILE = File.expand_path("~/#{DEFAULTS_FILE}")
2011-05-09 19:52:11 +00:00
2011-05-06 18:05:15 +00:00
def process_jasmine_config(overrides = {})
DEFAULTS.merge(overrides)
end
2011-05-09 19:52:11 +00:00
2011-05-16 21:19:44 +00:00
def read_defaults_files!
[ GLOBAL_DEFAULTS_FILE, DEFAULTS_FILE ].each do |file|
if File.file?(file)
File.readlines(file).collect { |line| line.strip.split(' ', 2) }.each(&@process_options)
end
end
2011-05-09 19:52:11 +00:00
end
2011-05-10 13:25:55 +00:00
2011-05-11 14:29:02 +00:00
def use_spec?(file)
@spec_filter.empty? || @spec_filter.include?(file)
end
2011-05-10 13:25:55 +00:00
def jasmine_html_template(files)
<<-HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Jasmine Test Runner</title>
<script type="text/javascript">
window.console = { log: function(data) {
JHW.log(JSON.stringify(data));
}, pp: function(data) {
JHW.log(jasmine ? jasmine.pp(data) : JSON.stringify(data));
} };
2011-05-10 13:25:55 +00:00
</script>
2011-05-12 21:02:11 +00:00
#{files.join("\n")}
2011-05-10 13:25:55 +00:00
</head>
<body>
<script type="text/javascript">
2011-05-12 21:02:11 +00:00
jasmine.getEnv().addReporter(new jasmine.HeadlessReporter());
2011-05-10 13:25:55 +00:00
jasmine.getEnv().execute();
</script>
</body>
</html>
HTML
end
2011-05-16 21:19:44 +00:00
2011-05-29 16:30:19 +00:00
def runner_path
@runner_path ||= File.join(gem_dir, RUNNER)
end
def jasmine_command(options, target)
[
runner_path,
options[:colors] ? '-c' : nil,
options[:report] ? "-r #{options[:report]}" : nil,
target
].join(" ")
end
2011-05-16 21:19:44 +00:00
private
def read_config_file(file)
end
2011-05-06 18:05:15 +00:00
end
end