jasmine 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rspec +1 -0
- data/.travis.yml +1 -0
- data/Gemfile +1 -8
- data/RELEASE_NOTES.markdown +6 -0
- data/lib/jasmine.rb +8 -2
- data/lib/jasmine/application.rb +40 -0
- data/lib/jasmine/asset_pipeline_mapper.rb +20 -0
- data/lib/jasmine/base.rb +1 -1
- data/lib/jasmine/config.rb +12 -73
- data/lib/jasmine/dependencies.rb +4 -0
- data/lib/jasmine/page.rb +1 -1
- data/lib/jasmine/results.rb +19 -0
- data/lib/jasmine/results_processor.rb +37 -0
- data/lib/jasmine/rspec_formatter.rb +92 -0
- data/lib/jasmine/run.html.erb +1 -0
- data/lib/jasmine/run_specs.rb +33 -0
- data/lib/jasmine/runner_config.rb +60 -0
- data/lib/jasmine/runners/http.rb +70 -0
- data/lib/jasmine/selenium_driver.rb +0 -14
- data/lib/jasmine/server.rb +14 -35
- data/lib/jasmine/tasks/jasmine.rake +2 -2
- data/lib/jasmine/version.rb +1 -1
- data/lib/rack/jasmine/focused_suite.rb +3 -3
- data/spec/application_spec.rb +99 -0
- data/spec/asset_pipeline_mapper_spec.rb +18 -0
- data/spec/config_spec.rb +32 -67
- data/spec/dependencies_spec.rb +14 -3
- data/spec/jasmine_self_test_spec.rb +16 -16
- data/spec/page_spec.rb +1 -1
- data/spec/results_processor_spec.rb +3 -0
- data/spec/results_spec.rb +27 -0
- data/spec/rspec_formatter_spec.rb +88 -0
- data/spec/runner_config_spec.rb +131 -0
- data/spec/server_spec.rb +34 -81
- metadata +44 -24
- data/lib/jasmine/runner.rb +0 -32
- data/lib/jasmine/spec_builder.rb +0 -162
data/spec/dependencies_spec.rb
CHANGED
@@ -85,7 +85,7 @@ if Jasmine::Dependencies.rspec2?
|
|
85
85
|
context "when rails 3 is present and the application pipeline is in use" do
|
86
86
|
before do
|
87
87
|
Gem::Specification.should_receive(:find_by_name).with("rails", ">= 3.0").and_return(true)
|
88
|
-
application.stub(:assets).and_return(rails_application_assets)
|
88
|
+
application.stub(:assets).and_return(rails_application_assets)
|
89
89
|
end
|
90
90
|
let(:rails3_present) { true }
|
91
91
|
let(:respond_to_application) { true }
|
@@ -95,7 +95,7 @@ if Jasmine::Dependencies.rspec2?
|
|
95
95
|
context "when rails 3 is present and the application pipeline is not in use" do
|
96
96
|
before do
|
97
97
|
Gem::Specification.should_receive(:find_by_name).with("rails", ">= 3.0").and_return(true)
|
98
|
-
application.stub(:assets).and_return(rails_application_assets)
|
98
|
+
application.stub(:assets).and_return(rails_application_assets)
|
99
99
|
end
|
100
100
|
let(:rails3_present) { true }
|
101
101
|
let(:respond_to_application) { true }
|
@@ -105,7 +105,7 @@ if Jasmine::Dependencies.rspec2?
|
|
105
105
|
context "when rails 3 is present but not loaded" do
|
106
106
|
before do
|
107
107
|
Gem::Specification.should_receive(:find_by_name).with("rails", ">= 3.0").and_return(true)
|
108
|
-
application.stub(:assets).and_return(rails_application_assets)
|
108
|
+
application.stub(:assets).and_return(rails_application_assets)
|
109
109
|
end
|
110
110
|
let(:rails3_present) { true }
|
111
111
|
let(:respond_to_application) { false }
|
@@ -232,5 +232,16 @@ if Jasmine::Dependencies.rspec2?
|
|
232
232
|
end
|
233
233
|
end
|
234
234
|
|
235
|
+
describe "legacy_rack?" do
|
236
|
+
it "should return false if Rack::Server exists" do
|
237
|
+
Rack.stub(:constants).and_return([:Server])
|
238
|
+
Jasmine::Dependencies.legacy_rack?.should be_false
|
239
|
+
end
|
240
|
+
it "should return true if Rack::Server does not exist" do
|
241
|
+
Rack.stub(:constants).and_return([])
|
242
|
+
Jasmine::Dependencies.legacy_rack?.should be_true
|
243
|
+
end
|
244
|
+
end
|
235
245
|
end
|
246
|
+
|
236
247
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'jasmine_self_test_config'
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
jasmine_runner_config = Jasmine::RunnerConfig.new(JasmineSelfTestConfig.new)
|
5
|
+
server = Jasmine::Server.new(jasmine_runner_config.port, Jasmine::Application.app(jasmine_runner_config))
|
6
|
+
client = Jasmine::SeleniumDriver.new(jasmine_runner_config.browser,
|
7
|
+
"#{jasmine_runner_config.jasmine_host}:#{jasmine_runner_config.port}/")
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
spec_builder.stop if should_stop
|
12
|
-
end
|
13
|
-
else
|
14
|
-
Spec::Runner.configure do |config|
|
15
|
-
config.after(:suite) do
|
16
|
-
spec_builder.stop if should_stop
|
17
|
-
end
|
9
|
+
t = Thread.new do
|
10
|
+
begin
|
11
|
+
server.start
|
12
|
+
rescue ChildProcess::TimeoutError
|
18
13
|
end
|
14
|
+
# # ignore bad exits
|
19
15
|
end
|
16
|
+
t.abort_on_exception = true
|
17
|
+
Jasmine::wait_for_listener(jasmine_runner_config.port, "jasmine server")
|
18
|
+
puts "jasmine server started."
|
20
19
|
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
results_processor = Jasmine::ResultsProcessor.new(jasmine_runner_config)
|
21
|
+
results = Jasmine::Runners::HTTP.new(client, results_processor).run
|
22
|
+
formatter = Jasmine::RspecFormatter.new
|
23
|
+
formatter.format_results(results)
|
data/spec/page_spec.rb
CHANGED
@@ -10,7 +10,7 @@ describe Jasmine::Page do
|
|
10
10
|
:css_files => ["file1.css", "file2.css"],
|
11
11
|
:jasmine_files => ["jasmine_file1.js", "jasmine_file2.js"])
|
12
12
|
end
|
13
|
-
let(:context) { fake_config
|
13
|
+
let(:context) { fake_config }
|
14
14
|
let(:page) { Jasmine::Page.new(context) }
|
15
15
|
it "should render javascript files in the correct order" do
|
16
16
|
js_files = subject.css("script")
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Jasmine::Results do
|
4
|
+
it "should be able to return suites" do
|
5
|
+
suites = {:some => 'suite'}
|
6
|
+
Jasmine::Results.new({}, suites, {}).suites.should == suites
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should return a result for a particular spec id" do
|
10
|
+
result1 = {:some => 'result'}
|
11
|
+
result2 = {:some => 'other result'}
|
12
|
+
raw_results = {'1' => result1, '2' => result2 }
|
13
|
+
results = Jasmine::Results.new(raw_results, {}, {})
|
14
|
+
results.for_spec_id('1').should == result1
|
15
|
+
results.for_spec_id('2').should == result2
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return an example location for a particular string" do
|
19
|
+
example_location1 = {:some => 'spec location'}
|
20
|
+
example_location2 = {:some => 'other spec location'}
|
21
|
+
example_locations = {'foo bar' => example_location1, 'baz quux' => example_location2 }
|
22
|
+
results = Jasmine::Results.new({}, {}, example_locations)
|
23
|
+
results.example_location_for('foo bar').should == example_location1
|
24
|
+
results.example_location_for('baz quux').should == example_location2
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Jasmine::RspecFormatter do
|
4
|
+
describe "environment variables" do
|
5
|
+
def stub_env_hash(hash)
|
6
|
+
ENV.stub!(:[]) do |arg|
|
7
|
+
hash[arg]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
describe "browser configuration" do
|
11
|
+
it "should use firefox by default" do
|
12
|
+
pending
|
13
|
+
stub_env_hash({"JASMINE_BROWSER" => nil})
|
14
|
+
config = double('config')
|
15
|
+
formatter = Jasmine::RspecFormatter.new(config)
|
16
|
+
Jasmine::SeleniumDriver.should_receive(:new).
|
17
|
+
with("firefox", anything).
|
18
|
+
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
19
|
+
formatter.start
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should use ENV['JASMINE_BROWSER'] if set" do
|
23
|
+
pending
|
24
|
+
stub_env_hash({"JASMINE_BROWSER" => "mosaic"})
|
25
|
+
|
26
|
+
Jasmine::SeleniumDriver.should_receive(:new).
|
27
|
+
with("mosaic", anything).
|
28
|
+
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
29
|
+
formatter.start
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "jasmine host" do
|
34
|
+
it "should use http://localhost by default" do
|
35
|
+
pending
|
36
|
+
stub_env_hash({})
|
37
|
+
config = Jasmine::Config.new
|
38
|
+
config.instance_variable_set(:@jasmine_server_port, '1234')
|
39
|
+
config.stub!(:start_jasmine_server)
|
40
|
+
|
41
|
+
Jasmine::SeleniumDriver.should_receive(:new).
|
42
|
+
with(anything, "http://localhost:1234/").
|
43
|
+
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
44
|
+
config.start
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should use ENV['JASMINE_HOST'] if set" do
|
48
|
+
pending
|
49
|
+
stub_env_hash({"JASMINE_HOST" => "http://some_host"})
|
50
|
+
config = Jasmine::Config.new
|
51
|
+
config.instance_variable_set(:@jasmine_server_port, '1234')
|
52
|
+
config.stub!(:start_jasmine_server)
|
53
|
+
|
54
|
+
Jasmine::SeleniumDriver.should_receive(:new).
|
55
|
+
with(anything, "http://some_host:1234/").
|
56
|
+
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
57
|
+
config.start
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should use ENV['JASMINE_PORT'] if set" do
|
61
|
+
pending
|
62
|
+
stub_env_hash({"JASMINE_PORT" => "4321"})
|
63
|
+
config = Jasmine::Config.new
|
64
|
+
Jasmine.stub!(:wait_for_listener)
|
65
|
+
config.stub!(:start_server)
|
66
|
+
Jasmine::SeleniumDriver.should_receive(:new).
|
67
|
+
with(anything, "http://localhost:4321/").
|
68
|
+
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
69
|
+
config.start
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "external selenium server" do
|
74
|
+
it "should use an external selenium server if SELENIUM_SERVER is set" do
|
75
|
+
pending
|
76
|
+
stub_env_hash({"SELENIUM_SERVER" => "http://myseleniumserver.com:4441"})
|
77
|
+
Selenium::WebDriver.should_receive(:for).with(:remote, :url => "http://myseleniumserver.com:4441", :desired_capabilities => :firefox)
|
78
|
+
Jasmine::SeleniumDriver.new('firefox', 'http://localhost:8888')
|
79
|
+
end
|
80
|
+
it "should use an local selenium server with a specific port if SELENIUM_SERVER_PORT is set" do
|
81
|
+
pending
|
82
|
+
stub_env_hash({"SELENIUM_SERVER_PORT" => "4441"})
|
83
|
+
Selenium::WebDriver.should_receive(:for).with(:remote, :url => "http://localhost:4441/wd/hub", :desired_capabilities => :firefox)
|
84
|
+
Jasmine::SeleniumDriver.new('firefox', 'http://localhost:8888')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'selenium-webdriver'
|
3
|
+
|
4
|
+
describe Jasmine::RunnerConfig do
|
5
|
+
describe "css_files" do
|
6
|
+
it "should return the jasmine stylesheets and any user defined stylesheets" do
|
7
|
+
jasmine_stylesheets = ['some/css/file']
|
8
|
+
user_stylesheets = ['some/user/file']
|
9
|
+
user_config = double("config", :jasmine_stylesheets => jasmine_stylesheets, :user_stylesheets => user_stylesheets)
|
10
|
+
Jasmine::RunnerConfig.new(user_config).css_files.should == jasmine_stylesheets + user_stylesheets
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "jasmine_files" do
|
15
|
+
it "should return the jasmine files from the config" do
|
16
|
+
jasmine_files = ['some/file']
|
17
|
+
user_config = double('config', :jasmine_javascripts => jasmine_files)
|
18
|
+
Jasmine::RunnerConfig.new(user_config).jasmine_files.should == jasmine_files
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "js_files" do
|
23
|
+
it "should return the user js files from the config" do
|
24
|
+
js_files = ['some/file']
|
25
|
+
user_config = double('config', :js_files => js_files)
|
26
|
+
Jasmine::RunnerConfig.new(user_config).js_files.should == js_files
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "spec_files" do
|
31
|
+
it "should return the user spec_files from the config" do
|
32
|
+
spec_files = ['some/file']
|
33
|
+
user_config = double('config', :spec_files => spec_files)
|
34
|
+
Jasmine::RunnerConfig.new(user_config).spec_files.should == spec_files
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "spec_files_full_paths" do
|
39
|
+
it "should return the user spec_files_full_paths from the config" do
|
40
|
+
spec_files_full_paths = ['some/file_path']
|
41
|
+
user_config = double('config', :spec_files_full_paths => spec_files_full_paths)
|
42
|
+
Jasmine::RunnerConfig.new(user_config).spec_files_full_paths.should == spec_files_full_paths
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "spec_path" do
|
47
|
+
it "should return the user spec_path from the config" do
|
48
|
+
spec_path = ['some/path']
|
49
|
+
user_config = double('config', :spec_path => spec_path)
|
50
|
+
Jasmine::RunnerConfig.new(user_config).spec_path.should == spec_path
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "spec_dir" do
|
55
|
+
it "should return the user spec_dir from the config" do
|
56
|
+
spec_dir = ['some/dir']
|
57
|
+
user_config = double('config', :spec_dir => spec_dir)
|
58
|
+
Jasmine::RunnerConfig.new(user_config).spec_dir.should == spec_dir
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe "src_dir" do
|
63
|
+
it "should return the user src_dir from the config" do
|
64
|
+
src_dir = ['some/dir']
|
65
|
+
user_config = double('config', :src_dir => src_dir)
|
66
|
+
Jasmine::RunnerConfig.new(user_config).src_dir.should == src_dir
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe "project_root" do
|
71
|
+
it "should return the user project_root from the config" do
|
72
|
+
project_root = ['some/dir']
|
73
|
+
user_config = double('config', :project_root => project_root)
|
74
|
+
Jasmine::RunnerConfig.new(user_config).project_root.should == project_root
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe "root_path" do
|
79
|
+
it "should return the user root_path from the config" do
|
80
|
+
root_path = ['some/path']
|
81
|
+
user_config = double('config', :root_path => root_path)
|
82
|
+
Jasmine::RunnerConfig.new(user_config).root_path.should == root_path
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe "browser" do
|
87
|
+
it "should default to firefox" do
|
88
|
+
Jasmine::RunnerConfig.new.browser.should == 'firefox'
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should use ENV['JASMINE_BROWSER'] if it exists" do
|
92
|
+
ENV.stub(:[], "JASMINE_BROWSER").and_return("foo")
|
93
|
+
Jasmine::RunnerConfig.new.browser.should == 'foo'
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "jasmine_host" do
|
98
|
+
it "should default to localhost" do
|
99
|
+
Jasmine::RunnerConfig.new.jasmine_host.should == 'http://localhost'
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should use ENV['JASMINE_HOST'] if it exists" do
|
103
|
+
ENV.stub(:[], "JASMINE_HOST").and_return("foo")
|
104
|
+
Jasmine::RunnerConfig.new.jasmine_host.should == 'foo'
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe "port" do
|
109
|
+
it "should find an unused port" do
|
110
|
+
Jasmine.should_receive(:find_unused_port).and_return('1234')
|
111
|
+
Jasmine::RunnerConfig.new.port.should == '1234'
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should use ENV['JASMINE_PORT'] if it exists" do
|
115
|
+
ENV.stub(:[], "JASMINE_PORT").and_return("foo")
|
116
|
+
Jasmine::RunnerConfig.new.port.should == 'foo'
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should cache port" do
|
120
|
+
config = Jasmine::RunnerConfig.new
|
121
|
+
Jasmine.stub(:find_unused_port).and_return('1234')
|
122
|
+
config.port.should == '1234'
|
123
|
+
Jasmine.stub(:find_unused_port).and_return('4321')
|
124
|
+
config.port.should == '1234'
|
125
|
+
end
|
126
|
+
|
127
|
+
|
128
|
+
end
|
129
|
+
|
130
|
+
end
|
131
|
+
|
data/spec/server_spec.rb
CHANGED
@@ -1,95 +1,48 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'rack/test'
|
3
2
|
|
4
|
-
describe
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
config = Jasmine::Config.new
|
9
|
-
@root = File.join(File.dirname(__FILE__))
|
10
|
-
config.stub!(:project_root).and_return(@root)
|
11
|
-
config.stub!(:spec_dir).and_return(File.join(@root, "fixture", "spec"))
|
12
|
-
config.stub!(:src_dir).and_return(File.join(@root, "fixture", "src"))
|
13
|
-
config.stub!(:src_files).and_return(["file1.js"])
|
14
|
-
config.stub!(:spec_files).and_return(["file2.js"])
|
15
|
-
Jasmine.app(config)
|
16
|
-
end
|
17
|
-
|
18
|
-
it "includes no-cache headers for specs" do
|
19
|
-
get "/__spec__/example_spec.js"
|
20
|
-
last_response.headers.should have_key("Cache-Control")
|
21
|
-
last_response.headers["Cache-Control"].should == "max-age=0, private, must-revalidate"
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should serve static files from spec dir under __spec__" do
|
25
|
-
get "/__spec__/example_spec.js"
|
26
|
-
last_response.status.should == 200
|
27
|
-
last_response.content_type.should == "application/javascript"
|
28
|
-
last_response.body.should == File.read(File.join(@root, "fixture/spec/example_spec.js"))
|
3
|
+
describe Jasmine::Server do
|
4
|
+
describe "rack ~> 1.0" do
|
5
|
+
before do
|
6
|
+
Jasmine::Dependencies.stub(:legacy_rack?).and_return(true)
|
29
7
|
end
|
30
8
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
get "/example.js"
|
40
|
-
last_response.status.should == 200
|
41
|
-
last_response.content_type.should == "application/javascript"
|
42
|
-
last_response.body.should == File.read(File.join(@root, "fixture/src/example.js"))
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should serve Jasmine static files under /__JASMINE_ROOT__/" do
|
46
|
-
get "/__JASMINE_ROOT__/jasmine.css"
|
47
|
-
last_response.status.should == 200
|
48
|
-
last_response.content_type.should == "text/css"
|
49
|
-
last_response.body.should == File.read(File.join(Jasmine::Core.path, "jasmine.css"))
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should serve focused suites when prefixing spec files with /__suite__/" do
|
53
|
-
pending "Temporarily removing this feature (maybe permanent)"
|
54
|
-
Dir.stub!(:glob).and_return { |glob_string| [glob_string] }
|
55
|
-
get "/__suite__/file2.js"
|
56
|
-
last_response.status.should == 200
|
57
|
-
last_response.content_type.should == "text/html"
|
58
|
-
last_response.body.should include("\"/__spec__/file2.js")
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should redirect /run.html to /" do
|
62
|
-
get "/run.html"
|
63
|
-
last_response.status.should == 302
|
64
|
-
last_response.location.should == "/"
|
9
|
+
it "should run the handler with the application" do
|
10
|
+
server = double(:server)
|
11
|
+
port = 1234
|
12
|
+
application = double(:application)
|
13
|
+
Rack::Handler.should_receive(:get).with("webrick").and_return(server)
|
14
|
+
server.should_receive(:run).with(application, hash_including(:Port => port))
|
15
|
+
Jasmine::Server.new(port, application).start
|
16
|
+
end
|
65
17
|
end
|
66
18
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
19
|
+
describe "rack >= 1.1" do
|
20
|
+
before do
|
21
|
+
Jasmine::Dependencies.stub(:legacy_rack?).and_return(false)
|
22
|
+
if !Rack.constants.include?(:Server)
|
23
|
+
Rack::Server = double("Rack::Server")
|
24
|
+
end
|
25
|
+
end
|
71
26
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
last_response.body.should include("\"/file1.js")
|
77
|
-
last_response.body.should include("\"/__spec__/file2.js")
|
78
|
-
last_response.body.should satisfy {|s| s.index("/file1.js") < s.index("/__spec__/file2.js") }
|
27
|
+
it "should create a Rack::Server with the correct port when passed" do
|
28
|
+
port = 1234
|
29
|
+
Rack::Server.should_receive(:new).with(hash_including(:Port => port)).and_return(double(:server).as_null_object)
|
30
|
+
Jasmine::Server.new(port).start
|
79
31
|
end
|
80
32
|
|
81
|
-
it "should
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
33
|
+
it "should start the server" do
|
34
|
+
server = double(:server)
|
35
|
+
Rack::Server.should_receive(:new) { server.as_null_object }
|
36
|
+
server.should_receive(:start)
|
37
|
+
Jasmine::Server.new.start
|
86
38
|
end
|
87
39
|
|
88
|
-
it "should
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
40
|
+
it "should set the app as the instance variable on the rack server" do
|
41
|
+
app = double('application')
|
42
|
+
server = double(:server)
|
43
|
+
Rack::Server.should_receive(:new) { server.as_null_object }
|
44
|
+
Jasmine::Server.new(1234, app).start
|
45
|
+
server.instance_variable_get(:@app).should == app
|
93
46
|
end
|
94
47
|
end
|
95
48
|
end
|