js_spec 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +3 -0
- data/Rakefile +1 -1
- data/core/JSSpecExtensions.js +5 -11
- data/spec/integration/integration_spec_helper.rb +1 -1
- data/spec/spec_suite.rb +0 -1
- data/spec/unit/js_test_core/resources/spec_dir_spec.rb +6 -6
- data/spec/unit/js_test_core/resources/spec_file_spec.rb +4 -4
- data/spec/unit/unit_spec_helper.rb +1 -3
- data/vendor/js-test-core/CHANGES +4 -0
- data/vendor/js-test-core/lib/js_test_core/client.rb +19 -16
- data/vendor/js-test-core/lib/js_test_core/resources.rb +2 -2
- data/vendor/js-test-core/lib/js_test_core/resources/runner.rb +17 -15
- data/vendor/js-test-core/lib/js_test_core/resources/{suite.rb → session.rb} +8 -4
- data/vendor/js-test-core/lib/js_test_core/resources/{suite_finish.rb → session_finish.rb} +5 -5
- data/vendor/js-test-core/lib/js_test_core/resources/web_root.rb +6 -3
- data/vendor/js-test-core/spec/unit/js_test_core/client_spec.rb +22 -21
- data/vendor/js-test-core/spec/unit/js_test_core/resources/runners/runner_spec.rb +83 -63
- data/vendor/js-test-core/spec/unit/js_test_core/resources/{suite_finish_spec.rb → session_finish_spec.rb} +15 -18
- data/vendor/js-test-core/spec/unit/js_test_core/resources/session_spec.rb +82 -0
- data/vendor/js-test-core/spec/unit/js_test_core/resources/specs/spec_dir_spec.rb +3 -3
- data/vendor/js-test-core/spec/unit/unit_spec_helper.rb +37 -10
- data/vendor/js-test-core/vendor/thin-rest/lib/thin_rest/resource.rb +4 -0
- metadata +84 -87
- data/spec/functional/functional_spec_helper.rb +0 -18
- data/spec/functional/server_spec.rb +0 -5
- data/spec/functional_suite.rb +0 -10
- data/vendor/js-test-core/spec/unit/js_test_core/resources/suite_spec.rb +0 -86
@@ -22,7 +22,13 @@ module Spec
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
class
|
25
|
+
class JsTestCoreTestDir < JsTestCore::Resources::Dir
|
26
|
+
def get
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Spec::ExampleGroup
|
26
32
|
class << self
|
27
33
|
def thin_logging
|
28
34
|
@thin_logging = true if @thin_logging.nil?
|
@@ -31,15 +37,7 @@ class Spec::Example::ExampleGroup
|
|
31
37
|
|
32
38
|
attr_writer :thin_logging
|
33
39
|
end
|
34
|
-
|
35
|
-
|
36
|
-
class JsTestCoreTestDir < JsTestCore::Resources::Dir
|
37
|
-
def get
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
module Spec::Example::ExampleMethods
|
40
|
+
|
43
41
|
attr_reader :core_path, :spec_root_path, :implementation_root_path, :public_path, :server, :connection
|
44
42
|
before(:all) do
|
45
43
|
dir = File.dirname(__FILE__)
|
@@ -48,6 +46,7 @@ module Spec::Example::ExampleMethods
|
|
48
46
|
@spec_root_path = File.expand_path("#{dir}/../example_specs")
|
49
47
|
@implementation_root_path = File.expand_path("#{dir}/../example_public/javascripts")
|
50
48
|
@public_path = File.expand_path("#{dir}/../example_public")
|
49
|
+
stub(Thread).start.yields
|
51
50
|
end
|
52
51
|
|
53
52
|
before(:each) do
|
@@ -132,3 +131,31 @@ module Spec::Example::ExampleMethods
|
|
132
131
|
end
|
133
132
|
end
|
134
133
|
end
|
134
|
+
|
135
|
+
class FakeSeleniumDriver
|
136
|
+
SESSION_ID = "DEADBEEF"
|
137
|
+
attr_reader :session_id
|
138
|
+
|
139
|
+
def initialize
|
140
|
+
@session_id = nil
|
141
|
+
end
|
142
|
+
|
143
|
+
def start
|
144
|
+
@session_id = SESSION_ID
|
145
|
+
end
|
146
|
+
|
147
|
+
def stop
|
148
|
+
@session_id = nil
|
149
|
+
end
|
150
|
+
|
151
|
+
def open(url)
|
152
|
+
end
|
153
|
+
|
154
|
+
def create_cookie(key_value, options="")
|
155
|
+
|
156
|
+
end
|
157
|
+
|
158
|
+
def session_started?
|
159
|
+
!!@session_id
|
160
|
+
end
|
161
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: js_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Takita & Nathan Sobo
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-01-27 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -43,134 +43,131 @@ extra_rdoc_files:
|
|
43
43
|
- README
|
44
44
|
- CHANGES
|
45
45
|
files:
|
46
|
-
- CHANGES
|
47
|
-
- Rakefile
|
48
46
|
- README
|
47
|
+
- Rakefile
|
48
|
+
- CHANGES
|
49
49
|
- init.rb
|
50
50
|
- lib/js_spec/resources.rb
|
51
51
|
- lib/js_spec/resources/spec.rb
|
52
52
|
- lib/js_spec.rb
|
53
|
-
- core/
|
53
|
+
- core/exp
|
54
54
|
- core/COPYING
|
55
|
-
- core/JSSpec.css
|
56
55
|
- core/JSSpecExtensions.js
|
57
|
-
- core/exp
|
58
56
|
- core/demo.html
|
59
57
|
- core/JSSpec.js
|
58
|
+
- core/diff_match_patch.js
|
59
|
+
- core/JSSpec.css
|
60
60
|
- bin/js_spec
|
61
61
|
- bin/js_spec_server
|
62
|
-
- spec/unit_suite.rb
|
63
|
-
- spec/functional_suite.rb
|
64
|
-
- spec/unit/unit_spec_helper.rb
|
65
|
-
- spec/unit/js_test_core/resources/spec_dir_spec.rb
|
66
|
-
- spec/unit/js_test_core/resources/spec_file_spec.rb
|
67
|
-
- spec/integration_suite.rb
|
68
|
-
- spec/functional/server_spec.rb
|
69
|
-
- spec/functional/functional_spec_helper.rb
|
70
|
-
- spec/spec_suite.rb
|
71
62
|
- spec/integration/integration_spec.rb
|
72
63
|
- spec/integration/integration_spec_helper.rb
|
64
|
+
- spec/spec_suite.rb
|
65
|
+
- spec/integration_suite.rb
|
66
|
+
- spec/unit/unit_spec_helper.rb
|
67
|
+
- spec/unit/js_test_core/resources/spec_file_spec.rb
|
68
|
+
- spec/unit/js_test_core/resources/spec_dir_spec.rb
|
69
|
+
- spec/unit_suite.rb
|
73
70
|
- vendor/js-test-core
|
74
|
-
- vendor/js-test-core/
|
75
|
-
- vendor/js-test-core/lib/js_test_core.rb
|
76
|
-
- vendor/js-test-core/lib/js_test_core
|
77
|
-
- vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
|
78
|
-
- vendor/js-test-core/lib/js_test_core/thin.rb
|
79
|
-
- vendor/js-test-core/lib/js_test_core/resources.rb
|
80
|
-
- vendor/js-test-core/lib/js_test_core/selenium
|
81
|
-
- vendor/js-test-core/lib/js_test_core/selenium/selenium_driver.rb
|
82
|
-
- vendor/js-test-core/lib/js_test_core/rails_server.rb
|
83
|
-
- vendor/js-test-core/lib/js_test_core/resources
|
84
|
-
- vendor/js-test-core/lib/js_test_core/resources/file_not_found.rb
|
85
|
-
- vendor/js-test-core/lib/js_test_core/resources/suite_finish.rb
|
86
|
-
- vendor/js-test-core/lib/js_test_core/resources/suite.rb
|
87
|
-
- vendor/js-test-core/lib/js_test_core/resources/runner.rb
|
88
|
-
- vendor/js-test-core/lib/js_test_core/resources/web_root.rb
|
89
|
-
- vendor/js-test-core/lib/js_test_core/resources/specs
|
90
|
-
- vendor/js-test-core/lib/js_test_core/resources/specs/spec_dir.rb
|
91
|
-
- vendor/js-test-core/lib/js_test_core/resources/specs/spec_file.rb
|
92
|
-
- vendor/js-test-core/lib/js_test_core/resources/file.rb
|
93
|
-
- vendor/js-test-core/lib/js_test_core/resources/dir.rb
|
94
|
-
- vendor/js-test-core/lib/js_test_core/extensions.rb
|
95
|
-
- vendor/js-test-core/lib/js_test_core/rack
|
96
|
-
- vendor/js-test-core/lib/js_test_core/rack/commonlogger.rb
|
97
|
-
- vendor/js-test-core/lib/js_test_core/rack.rb
|
98
|
-
- vendor/js-test-core/lib/js_test_core/thin
|
99
|
-
- vendor/js-test-core/lib/js_test_core/thin/js_test_core_connection.rb
|
100
|
-
- vendor/js-test-core/lib/js_test_core/thin/backends
|
101
|
-
- vendor/js-test-core/lib/js_test_core/thin/backends/js_test_core_server.rb
|
102
|
-
- vendor/js-test-core/lib/js_test_core/selenium.rb
|
103
|
-
- vendor/js-test-core/lib/js_test_core/client.rb
|
104
|
-
- vendor/js-test-core/lib/js_test_core/server.rb
|
105
|
-
- vendor/js-test-core/lib/js_test_core/extensions
|
106
|
-
- vendor/js-test-core/lib/js_test_core/extensions/time.rb
|
107
|
-
- vendor/js-test-core/CHANGES
|
71
|
+
- vendor/js-test-core/README
|
108
72
|
- vendor/js-test-core/spec
|
73
|
+
- vendor/js-test-core/spec/example_specs
|
74
|
+
- vendor/js-test-core/spec/example_specs/foo
|
75
|
+
- vendor/js-test-core/spec/example_specs/foo/passing_spec.js
|
76
|
+
- vendor/js-test-core/spec/example_specs/foo/failing_spec.js
|
77
|
+
- vendor/js-test-core/spec/example_specs/failing_spec.js
|
78
|
+
- vendor/js-test-core/spec/spec_suite.rb
|
109
79
|
- vendor/js-test-core/spec/example_public
|
110
|
-
- vendor/js-test-core/spec/example_public/stylesheets
|
111
|
-
- vendor/js-test-core/spec/example_public/stylesheets/example.css
|
112
|
-
- vendor/js-test-core/spec/example_public/favicon.ico
|
113
|
-
- vendor/js-test-core/spec/example_public/robots.txt
|
114
80
|
- vendor/js-test-core/spec/example_public/javascripts
|
115
81
|
- vendor/js-test-core/spec/example_public/javascripts/subdir
|
116
82
|
- vendor/js-test-core/spec/example_public/javascripts/subdir/bar.js
|
117
|
-
- vendor/js-test-core/spec/example_public/javascripts/foo.js
|
118
83
|
- vendor/js-test-core/spec/example_public/javascripts/large_file.js
|
119
|
-
- vendor/js-test-core/spec/
|
120
|
-
- vendor/js-test-core/spec/
|
121
|
-
- vendor/js-test-core/spec/
|
122
|
-
- vendor/js-test-core/spec/
|
123
|
-
- vendor/js-test-core/spec/
|
124
|
-
- vendor/js-test-core/spec/
|
84
|
+
- vendor/js-test-core/spec/example_public/javascripts/foo.js
|
85
|
+
- vendor/js-test-core/spec/example_public/favicon.ico
|
86
|
+
- vendor/js-test-core/spec/example_public/stylesheets
|
87
|
+
- vendor/js-test-core/spec/example_public/stylesheets/example.css
|
88
|
+
- vendor/js-test-core/spec/example_public/robots.txt
|
89
|
+
- vendor/js-test-core/spec/example_core
|
90
|
+
- vendor/js-test-core/spec/example_core/JsTestCore.css
|
91
|
+
- vendor/js-test-core/spec/example_core/JsTestCore.js
|
125
92
|
- vendor/js-test-core/spec/unit
|
126
93
|
- vendor/js-test-core/spec/unit/unit_spec_helper.rb
|
127
94
|
- vendor/js-test-core/spec/unit/thin
|
128
95
|
- vendor/js-test-core/spec/unit/thin/js_test_core_connection_spec.rb
|
129
96
|
- vendor/js-test-core/spec/unit/js_test_core
|
130
|
-
- vendor/js-test-core/spec/unit/js_test_core/client_spec.rb
|
131
97
|
- vendor/js-test-core/spec/unit/js_test_core/selenium_server_configuration_spec.rb
|
132
98
|
- vendor/js-test-core/spec/unit/js_test_core/resources
|
99
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/web_root_spec.rb
|
133
100
|
- vendor/js-test-core/spec/unit/js_test_core/resources/runners
|
134
101
|
- vendor/js-test-core/spec/unit/js_test_core/resources/runners/runner_spec.rb
|
135
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/
|
102
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/session_spec.rb
|
136
103
|
- vendor/js-test-core/spec/unit/js_test_core/resources/file_not_found_spec.rb
|
137
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/
|
104
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/file_spec.rb
|
105
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/dir_spec.rb
|
106
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/session_finish_spec.rb
|
138
107
|
- vendor/js-test-core/spec/unit/js_test_core/resources/specs
|
139
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/specs/spec_dir_spec.rb
|
140
108
|
- vendor/js-test-core/spec/unit/js_test_core/resources/specs/spec_file_spec.rb
|
141
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/
|
142
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/web_root_spec.rb
|
143
|
-
- vendor/js-test-core/spec/unit/js_test_core/resources/suite_spec.rb
|
109
|
+
- vendor/js-test-core/spec/unit/js_test_core/resources/specs/spec_dir_spec.rb
|
144
110
|
- vendor/js-test-core/spec/unit/js_test_core/server_spec.rb
|
145
111
|
- vendor/js-test-core/spec/unit/js_test_core/rails_server_spec.rb
|
112
|
+
- vendor/js-test-core/spec/unit/js_test_core/client_spec.rb
|
113
|
+
- vendor/js-test-core/spec/unit_suite.rb
|
146
114
|
- vendor/js-test-core/spec/specs
|
147
115
|
- vendor/js-test-core/spec/specs/failing_spec.js
|
148
|
-
- vendor/js-test-core/
|
149
|
-
- vendor/js-test-core/
|
150
|
-
- vendor/js-test-core/
|
151
|
-
- vendor/js-test-core/
|
116
|
+
- vendor/js-test-core/lib
|
117
|
+
- vendor/js-test-core/lib/js_test_core.rb
|
118
|
+
- vendor/js-test-core/lib/js_test_core
|
119
|
+
- vendor/js-test-core/lib/js_test_core/rack
|
120
|
+
- vendor/js-test-core/lib/js_test_core/rack/commonlogger.rb
|
121
|
+
- vendor/js-test-core/lib/js_test_core/server.rb
|
122
|
+
- vendor/js-test-core/lib/js_test_core/client.rb
|
123
|
+
- vendor/js-test-core/lib/js_test_core/resources.rb
|
124
|
+
- vendor/js-test-core/lib/js_test_core/rails_server.rb
|
125
|
+
- vendor/js-test-core/lib/js_test_core/thin.rb
|
126
|
+
- vendor/js-test-core/lib/js_test_core/extensions
|
127
|
+
- vendor/js-test-core/lib/js_test_core/extensions/time.rb
|
128
|
+
- vendor/js-test-core/lib/js_test_core/rack.rb
|
129
|
+
- vendor/js-test-core/lib/js_test_core/selenium.rb
|
130
|
+
- vendor/js-test-core/lib/js_test_core/thin
|
131
|
+
- vendor/js-test-core/lib/js_test_core/thin/js_test_core_connection.rb
|
132
|
+
- vendor/js-test-core/lib/js_test_core/thin/backends
|
133
|
+
- vendor/js-test-core/lib/js_test_core/thin/backends/js_test_core_server.rb
|
134
|
+
- vendor/js-test-core/lib/js_test_core/resources
|
135
|
+
- vendor/js-test-core/lib/js_test_core/resources/file.rb
|
136
|
+
- vendor/js-test-core/lib/js_test_core/resources/session_finish.rb
|
137
|
+
- vendor/js-test-core/lib/js_test_core/resources/runner.rb
|
138
|
+
- vendor/js-test-core/lib/js_test_core/resources/file_not_found.rb
|
139
|
+
- vendor/js-test-core/lib/js_test_core/resources/session.rb
|
140
|
+
- vendor/js-test-core/lib/js_test_core/resources/dir.rb
|
141
|
+
- vendor/js-test-core/lib/js_test_core/resources/web_root.rb
|
142
|
+
- vendor/js-test-core/lib/js_test_core/resources/specs
|
143
|
+
- vendor/js-test-core/lib/js_test_core/resources/specs/spec_dir.rb
|
144
|
+
- vendor/js-test-core/lib/js_test_core/resources/specs/spec_file.rb
|
145
|
+
- vendor/js-test-core/lib/js_test_core/extensions.rb
|
146
|
+
- vendor/js-test-core/lib/js_test_core/selenium
|
147
|
+
- vendor/js-test-core/lib/js_test_core/selenium/selenium_driver.rb
|
148
|
+
- vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
|
152
149
|
- vendor/js-test-core/vendor
|
153
150
|
- vendor/js-test-core/vendor/thin-rest
|
151
|
+
- vendor/js-test-core/vendor/thin-rest/README
|
152
|
+
- vendor/js-test-core/vendor/thin-rest/spec
|
153
|
+
- vendor/js-test-core/vendor/thin-rest/spec/spec_suite.rb
|
154
|
+
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest
|
155
|
+
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest/resource_spec.rb
|
156
|
+
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest/connection_spec.rb
|
157
|
+
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest_spec_helper.rb
|
154
158
|
- vendor/js-test-core/vendor/thin-rest/lib
|
159
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest.rb
|
155
160
|
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest
|
156
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/resource.rb
|
157
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/connection.rb
|
158
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/extensions.rb
|
159
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/routing_error.rb
|
160
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/resource_invalid.rb
|
161
161
|
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/extensions
|
162
162
|
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/extensions/object.rb
|
163
|
-
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest.rb
|
163
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/resource_invalid.rb
|
164
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/extensions.rb
|
165
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/routing_error.rb
|
166
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/resource.rb
|
167
|
+
- vendor/js-test-core/vendor/thin-rest/lib/thin_rest/connection.rb
|
164
168
|
- vendor/js-test-core/vendor/thin-rest/CHANGES
|
165
|
-
- vendor/js-test-core/vendor/thin-rest/spec
|
166
|
-
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest
|
167
|
-
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest/connection_spec.rb
|
168
|
-
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest/resource_spec.rb
|
169
|
-
- vendor/js-test-core/vendor/thin-rest/spec/thin_rest_spec_helper.rb
|
170
|
-
- vendor/js-test-core/vendor/thin-rest/spec/spec_suite.rb
|
171
|
-
- vendor/js-test-core/vendor/thin-rest/README
|
172
169
|
- vendor/js-test-core/Rakefile
|
173
|
-
- vendor/js-test-core/
|
170
|
+
- vendor/js-test-core/CHANGES
|
174
171
|
has_rdoc: true
|
175
172
|
homepage: http://pivotallabs.com
|
176
173
|
post_install_message:
|
@@ -196,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
193
|
requirements: []
|
197
194
|
|
198
195
|
rubyforge_project: pivotalrb
|
199
|
-
rubygems_version: 1.
|
196
|
+
rubygems_version: 1.3.1
|
200
197
|
signing_key:
|
201
198
|
specification_version: 2
|
202
199
|
summary: The JSSpec client library (http://code.google.com/p/jsspec/) plus a convenient ruby server.
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require "rubygems"
|
2
|
-
dir = File.dirname(__FILE__)
|
3
|
-
$LOAD_PATH.unshift "#{dir}/../../../plugins/rspec/lib"
|
4
|
-
require "spec"
|
5
|
-
|
6
|
-
$LOAD_PATH.unshift "#{dir}/../../lib"
|
7
|
-
require "js_spec"
|
8
|
-
require "hpricot"
|
9
|
-
|
10
|
-
module Spec::Example::ExampleMethods
|
11
|
-
attr_reader :spec_root_path
|
12
|
-
before(:all) do
|
13
|
-
dir = File.dirname(__FILE__)
|
14
|
-
@spec_root_path = "#{dir}/../example_specs"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
#JsSpec::Server.run
|
data/spec/functional_suite.rb
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
require File.expand_path("#{File.dirname(__FILE__)}/../../unit_spec_helper")
|
2
|
-
|
3
|
-
module JsTestCore
|
4
|
-
module Resources
|
5
|
-
describe Suite do
|
6
|
-
describe "GET /suites/:suite_id" do
|
7
|
-
attr_reader :driver, :suite_id
|
8
|
-
|
9
|
-
context "when there is no Runner with the :suite_id" do
|
10
|
-
it "responds with a 404" do
|
11
|
-
suite_id = "invalid_suite_id"
|
12
|
-
Runner.find(suite_id).should be_nil
|
13
|
-
|
14
|
-
mock(connection).send_head(404)
|
15
|
-
mock(connection).send_body("")
|
16
|
-
|
17
|
-
connection.receive_data("GET /suites/#{suite_id} HTTP/1.1\r\nHost: _\r\n\r\n")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
context "when there is a Runner with the :suite_id" do
|
22
|
-
attr_reader :suite_runner
|
23
|
-
before do
|
24
|
-
@driver = "Selenium Driver"
|
25
|
-
@suite_id = "DEADBEEF"
|
26
|
-
stub(Selenium::SeleniumDriver).new('localhost', 4444, '*firefox', 'http://0.0.0.0:8080') do
|
27
|
-
driver
|
28
|
-
end
|
29
|
-
|
30
|
-
stub(driver).start
|
31
|
-
stub(driver).session_id {suite_id}
|
32
|
-
connection_that_starts_firefox = create_connection
|
33
|
-
stub(connection_that_starts_firefox).send_head
|
34
|
-
stub(connection_that_starts_firefox).send_body
|
35
|
-
connection_that_starts_firefox.receive_data("POST /runners/firefox HTTP/1.1\r\nHost: _\r\nContent-Length: 0\r\n\r\n")
|
36
|
-
@suite_runner = Runner.find(suite_id)
|
37
|
-
suite_runner.should be_running
|
38
|
-
end
|
39
|
-
|
40
|
-
context "when a Runner with the :suite_id is running" do
|
41
|
-
it "responds with a 200 and status=running" do
|
42
|
-
mock(connection).send_head
|
43
|
-
mock(connection).send_body("status=#{Resources::Suite::RUNNING}")
|
44
|
-
|
45
|
-
connection.receive_data("GET /suites/#{suite_id} HTTP/1.1\r\nHost: _\r\n\r\n")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
context "when a Runner with the :suite_id has completed" do
|
50
|
-
context "when the suite has a status of 'success'" do
|
51
|
-
before do
|
52
|
-
stub(driver).stop
|
53
|
-
suite_runner.finalize("")
|
54
|
-
suite_runner.should be_successful
|
55
|
-
end
|
56
|
-
|
57
|
-
it "responds with a 200 and status=success" do
|
58
|
-
mock(connection).send_head
|
59
|
-
mock(connection).send_body("status=#{Resources::Suite::SUCCESSFUL_COMPLETION}")
|
60
|
-
|
61
|
-
connection.receive_data("GET /suites/#{suite_id} HTTP/1.1\r\nHost: _\r\n\r\n")
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
context "when the suite has a status of 'failure'" do
|
66
|
-
attr_reader :reason
|
67
|
-
before do
|
68
|
-
stub(driver).stop
|
69
|
-
@reason = "Failure stuff"
|
70
|
-
suite_runner.finalize(reason)
|
71
|
-
suite_runner.should be_failed
|
72
|
-
end
|
73
|
-
|
74
|
-
it "responds with a 200 and status=failure and reason" do
|
75
|
-
mock(connection).send_head
|
76
|
-
mock(connection).send_body("status=#{Resources::Suite::FAILURE_COMPLETION}&reason=#{reason}")
|
77
|
-
|
78
|
-
connection.receive_data("GET /suites/#{suite_id} HTTP/1.1\r\nHost: _\r\n\r\n")
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|