Merge branch 'master' of git://github.com/pivotal/jasmine

This commit is contained in:
Christian Williams & Kim Eric Mittler
2009-09-02 10:29:59 -07:00
68 changed files with 4872 additions and 3820 deletions

View File

@@ -1,5 +1,6 @@
require 'socket'
require 'erb'
require 'json'
module Jasmine
# this seemingly-over-complex method is necessary to get an open port on at least some of our Macs
@@ -73,16 +74,31 @@ module Jasmine
end
end
class Redirect
def initialize(url)
@url = url
end
def call(env)
[
302,
{ 'Location' => @url },
[]
]
end
end
class SimpleServer
def self.start(port, spec_files_or_proc, mappings)
require 'thin'
config = {
'/' => Jasmine::Redirect.new('/run.html'),
'/run.html' => Jasmine::RunAdapter.new(spec_files_or_proc)
}
mappings.each do |from, to|
config[from] = Rack::File.new(to)
end
end
app = Rack::URLMap.new(config)
@@ -128,7 +144,7 @@ module Jasmine
def eval_js(script)
escaped_script = "'" + script.gsub(/(['\\])/) { '\\' + $1 } + "'"
result = @driver.get_eval("window.eval(#{escaped_script})")
result = @driver.get_eval("eval(#{escaped_script}, window)")
JSON.parse("[#{result}]")[0]
end
end

View File

@@ -114,13 +114,15 @@ module Jasmine
puts message["text"]
puts "\n"
else
STDERR << message["message"]
STDERR << "\n"
unless message["message"] =~ /^Passed.$/
STDERR << message["message"]
STDERR << "\n"
out << message["message"]
out << "\n"
out << message["message"]
out << "\n"
end
unless message["passed"]
unless message["passed_"]
stack_trace = message["trace"]["stack"].gsub(/<br \/>/, "\n").gsub(/<\/?b>/, " ")
STDERR << stack_trace.gsub(/\(.*\)@http:\/\/localhost:[0-9]+\/specs\//, "/spec/")
STDERR << "\n"
@@ -129,7 +131,7 @@ module Jasmine
end
fail out unless spec_results['result'] == 'passed'
puts out
puts out unless out.empty?
end
private

View File

@@ -3,12 +3,10 @@
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
<title>Jasmine suite</title>
<script src="/jasmine/lib/jasmine.js"></script>
<script src="/jasmine/lib/json2.js"></script><!-- todo: don't load JSON in the test runner! [20090710 xw] -->
<script src="/jasmine/lib/TrivialReporter.js"></script>
<script src="/specs/javascripts/screw-jasmine-compat.js"></script>
<script type="text/javascript"></script>
<link href="/jasmine/lib/jasmine.css" rel="stylesheet"/>
<link rel="stylesheet" href="lib/jasmine.css" type="text/css" media="screen" />
<% spec_files.each do |spec_file| %>
<script src="<%= spec_file %>" type="text/javascript"></script>
<% end %>
<script type="text/javascript">
var jsApiReporter;
(function() {
@@ -31,9 +29,7 @@
})();
</script>
<% spec_files.each do |spec_file| %>
<script src="<%= spec_file %>" type="text/javascript"></script>
<% end %>
</head>
<body>
<div id="jasmine_content"></div>

View File

@@ -1,6 +1,6 @@
require 'spec'
require 'open-uri'
require File.dirname(__FILE__) + '/jasmine_runner'
require File.dirname(__FILE__) + '/../jasmine_runner'
describe Jasmine::SimpleServer do
before do