kookaburra 0.23.0 → 0.23.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/.rvmrc +3 -1
- data/Gemfile +0 -1
- data/Gemfile.lock +19 -17
- data/README.markdown +175 -15
- data/Rakefile +10 -6
- data/VERSION +1 -1
- data/kookaburra.gemspec +3 -6
- data/spec/integration/test_a_rack_application_spec.rb +8 -9
- data/spec/kookaburra/mental_model_matcher_spec.rb +4 -1
- metadata +16 -30
data/.rvmrc
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (3.2.
|
4
|
+
activesupport (3.2.3)
|
5
5
|
i18n (~> 0.6)
|
6
6
|
multi_json (~> 1.0)
|
7
|
+
addressable (2.2.7)
|
7
8
|
capybara (1.1.2)
|
8
9
|
mime-types (>= 1.16)
|
9
10
|
nokogiri (>= 1.3.3)
|
@@ -22,10 +23,12 @@ GEM
|
|
22
23
|
git (>= 1.2.5)
|
23
24
|
rake
|
24
25
|
rdoc
|
25
|
-
json (1.6.
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
json (1.6.6)
|
27
|
+
libwebsocket (0.1.3)
|
28
|
+
addressable
|
29
|
+
mime-types (1.18)
|
30
|
+
multi_json (1.2.0)
|
31
|
+
nokogiri (1.5.2)
|
29
32
|
patron (0.4.18)
|
30
33
|
rack (1.4.1)
|
31
34
|
rack-protection (1.2.0)
|
@@ -33,7 +36,6 @@ GEM
|
|
33
36
|
rack-test (0.6.1)
|
34
37
|
rack (>= 1.0)
|
35
38
|
rake (0.9.2.2)
|
36
|
-
rcov (1.0.0)
|
37
39
|
rdoc (3.12)
|
38
40
|
json (~> 1.4)
|
39
41
|
redcarpet (1.17.2)
|
@@ -41,23 +43,24 @@ GEM
|
|
41
43
|
ruby2ruby (~> 1.2)
|
42
44
|
ruby_parser (~> 2.0)
|
43
45
|
sexp_processor (~> 3.0)
|
44
|
-
rspec (2.
|
45
|
-
rspec-core (~> 2.
|
46
|
-
rspec-expectations (~> 2.
|
47
|
-
rspec-mocks (~> 2.
|
48
|
-
rspec-core (2.
|
49
|
-
rspec-expectations (2.
|
50
|
-
diff-lcs (~> 1.1.
|
51
|
-
rspec-mocks (2.
|
46
|
+
rspec (2.9.0)
|
47
|
+
rspec-core (~> 2.9.0)
|
48
|
+
rspec-expectations (~> 2.9.0)
|
49
|
+
rspec-mocks (~> 2.9.0)
|
50
|
+
rspec-core (2.9.0)
|
51
|
+
rspec-expectations (2.9.1)
|
52
|
+
diff-lcs (~> 1.1.3)
|
53
|
+
rspec-mocks (2.9.0)
|
52
54
|
ruby2ruby (1.3.1)
|
53
55
|
ruby_parser (~> 2.0)
|
54
56
|
sexp_processor (~> 3.0)
|
55
57
|
ruby_parser (2.3.1)
|
56
58
|
sexp_processor (~> 3.0)
|
57
|
-
rubyzip (0.9.
|
58
|
-
selenium-webdriver (2.
|
59
|
+
rubyzip (0.9.7)
|
60
|
+
selenium-webdriver (2.21.0)
|
59
61
|
childprocess (>= 0.2.5)
|
60
62
|
ffi (~> 1.0)
|
63
|
+
libwebsocket (~> 0.1.3)
|
61
64
|
multi_json (~> 1.0)
|
62
65
|
rubyzip
|
63
66
|
sexp_processor (3.1.0)
|
@@ -79,7 +82,6 @@ DEPENDENCIES
|
|
79
82
|
i18n
|
80
83
|
jeweler
|
81
84
|
patron
|
82
|
-
rcov
|
83
85
|
redcarpet (~> 1.0)
|
84
86
|
reek
|
85
87
|
rspec
|
data/README.markdown
CHANGED
@@ -28,27 +28,58 @@ as well as which driver to use for running the tests (currently only tested with
|
|
28
28
|
Kookaburra is designed to run tests agains a remote web server (although that
|
29
29
|
server could be running on the same machine, it doesn't need to be), and it is
|
30
30
|
the responsibility of the test implementation to ensure that the server is
|
31
|
-
running.
|
32
|
-
how to achieve this for a [Rack-based] [Rack] application. (Note that you cannot
|
33
|
-
easily start the application server in a separate thread. Because Ruby uses
|
34
|
-
green threads, the HTTP library used in the APIDriver will block while making
|
35
|
-
its requests and prevent the application server thread from responding.)
|
31
|
+
running.
|
36
32
|
|
37
33
|
The fact that Kookaburra runs against a remote server means that *it is not
|
38
34
|
limited to testing only Ruby web applications*. As long as your application
|
39
35
|
exposes a web-service API for use by the GivenDriver and an HTML user interface
|
40
36
|
for use by the UIDriver, you can use Kookaburra to test it. Also, as long as
|
41
37
|
you're careful with both your application and test designs, you're not limited
|
42
|
-
to running your tests only in an isolated testing environment; you could run
|
43
|
-
same test suite you use for development against your
|
44
|
-
|
38
|
+
to running your tests only in an isolated testing environment; you could run
|
39
|
+
the same test suite you use for development against your staging or production
|
40
|
+
systems.
|
41
|
+
|
42
|
+
### Testing an Application Running Locally ###
|
43
|
+
|
44
|
+
The fact that Kookaburra is designed to support running tests against a remote
|
45
|
+
server does not, of course, mean that the application cannot be running locally.
|
46
|
+
It is possible to have your test suite manage the process of starting and
|
47
|
+
stopping your server for you. Examples of how to do so with a Rack application
|
48
|
+
are presented below, but you should be able to take the same basic approach with
|
49
|
+
other types of application servers.
|
50
|
+
|
51
|
+
Although Capybara is capable of starting a Rack application server on its own,
|
52
|
+
the default setup only starts the server up on-demand when you call a method
|
53
|
+
that requires the browser to interact with the web application. Because the
|
54
|
+
APIDriver layer does not use Capybara, it is necessary to manage the server
|
55
|
+
process on your own. Otherwise the server would not be guaranteed to be running
|
56
|
+
when you call the APIDriver methods (particularly as these often appear in
|
57
|
+
"Given" statements that are run before you start interacting with the web
|
58
|
+
browser.)
|
59
|
+
|
60
|
+
Keep in mind that, even if your server is capable of being started up in another
|
61
|
+
thread within the same Ruby process that is executing your test suite, you will
|
62
|
+
want to avoid doing so unless you are using a Ruby interpreter that supports
|
63
|
+
native threads. Otherwise, when the APIDriver makes an HTTP call to your
|
64
|
+
application's API, it will block while waiting for a response, thus preventing
|
65
|
+
your application from being able to respond to that request and resulting in a
|
66
|
+
timeout error in your tests.
|
45
67
|
|
46
68
|
### RSpec ###
|
47
69
|
|
48
|
-
|
49
|
-
|
70
|
+
The following examples depict how you might configure RSpec to run tests against
|
71
|
+
an already running application server (e.g. a remote staging site) and a Rack
|
72
|
+
application server that is managed by the test suite.
|
73
|
+
|
74
|
+
#### Testing an already running server ####
|
75
|
+
|
76
|
+
If you are running your tests against an already running server, you can simply
|
77
|
+
add the following to `spec/support/kookaburra_setup.rb`:
|
50
78
|
|
51
79
|
require 'kookaburra/test_helpers'
|
80
|
+
|
81
|
+
# Change these to the files that define your custom GivenDriver and UIDriver
|
82
|
+
# implementations.
|
52
83
|
require 'my_app/kookaburra/given_driver'
|
53
84
|
require 'my_app/kookaburra/ui_driver'
|
54
85
|
|
@@ -58,21 +89,95 @@ For [RSpec] [RSpec] integration tests, just add the following to
|
|
58
89
|
c.given_driver_class = MyApp::Kookaburra::GivenDriver
|
59
90
|
c.ui_driver_class = MyApp::Kookaburra::UIDriver
|
60
91
|
c.app_host = 'http://my_app.example.com:1234'
|
61
|
-
c.browser = Capybara
|
92
|
+
c.browser = Capybara::Session.new(:selenium)
|
62
93
|
c.server_error_detection { |browser|
|
63
94
|
browser.has_css?('head title', :text => 'Internal Server Error')
|
64
95
|
}
|
65
96
|
end
|
66
97
|
|
67
98
|
RSpec.configure do |c|
|
99
|
+
# Makes the #k, #given and #ui methods available to your specs
|
100
|
+
# (See section on test implementation below)
|
68
101
|
c.include(Kookaburra::TestHelpers, :type => :request)
|
69
102
|
end
|
70
103
|
|
104
|
+
#### Managing startup and shutdown of a Rack application server ####
|
105
|
+
|
106
|
+
While developing, it can be helpful to run your integration specs against a
|
107
|
+
locally-running server that is managed by your test suite. The setup is similar
|
108
|
+
to that in the previous section, but it adds before and after hooks to launch
|
109
|
+
and shut down a Rack application server. Just add the following to
|
110
|
+
`spec/support/kookaburra_setup.rb`:
|
111
|
+
|
112
|
+
require 'kookaburra/test_helpers'
|
113
|
+
require 'thwait'
|
114
|
+
|
115
|
+
# Change these to the files that define your custom GivenDriver and UIDriver
|
116
|
+
# implementations.
|
117
|
+
require 'my_app/kookaburra/given_driver'
|
118
|
+
require 'my_app/kookaburra/ui_driver'
|
119
|
+
|
120
|
+
APP_PORT = ENV['APP_PORT'] || 3009
|
121
|
+
|
122
|
+
# c.app_host below should be set to whatever the root URL of your running
|
123
|
+
# application is.
|
124
|
+
Kookaburra.configure do |c|
|
125
|
+
c.given_driver_class = MyApp::Kookaburra::GivenDriver
|
126
|
+
c.ui_driver_class = MyApp::Kookaburra::UIDriver
|
127
|
+
c.app_host = 'http://localhost:%d' % APP_PORT
|
128
|
+
c.browser = Capybara::Session.new(:selenium)
|
129
|
+
c.server_error_detection { |browser|
|
130
|
+
browser.has_css?('head title', :text => 'Internal Server Error')
|
131
|
+
}
|
132
|
+
end
|
133
|
+
|
134
|
+
RSpec.configure do |c|
|
135
|
+
c.include(Kookaburra::TestHelpers, :type => :request)
|
136
|
+
|
137
|
+
# Start the application server prior to running a group of integration
|
138
|
+
# specs. `MyApplication` below should be replaced with the object that
|
139
|
+
# implements the Rack `#call` interface for your application. For a Rails
|
140
|
+
# app, this would be along the lines of `MyAppName::Application`.
|
141
|
+
c.before(:all, :type => :request) do
|
142
|
+
# Run the server process in a forked process, and get a handle on that
|
143
|
+
# process, so that it can be shut down after the tests run.
|
144
|
+
@rack_server_pid = fork do
|
145
|
+
Capybara.server_port = APP_PORT
|
146
|
+
Capybara::Server.new(MyApplication).boot
|
147
|
+
|
148
|
+
# This ensures that this forked process keeps running, because the
|
149
|
+
# actual server is started in a thread by Capybara.
|
150
|
+
ThreadsWait.all_waits(Thread.list)
|
151
|
+
end
|
152
|
+
|
153
|
+
# Give the server a chance to start up in the forked process. You may
|
154
|
+
# need to adjust this depending on how long your application takes to
|
155
|
+
# start up.
|
156
|
+
sleep 1
|
157
|
+
end
|
158
|
+
|
159
|
+
# After the tests run, kill the server process.
|
160
|
+
c.after(:all, :type => :request) do
|
161
|
+
Process.kill(9, @rack_server_pid)
|
162
|
+
Process.wait
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
71
166
|
### Cucumber ###
|
72
167
|
|
73
|
-
|
168
|
+
The following examples depict how you might configure [Cucumber] [Cucumber] to
|
169
|
+
run tests against an already running application server (e.g. a remote staging
|
170
|
+
site) and a Rack application server that is managed by the test suite.
|
171
|
+
|
172
|
+
#### Testing an already running server ####
|
173
|
+
|
174
|
+
If you are running your tests against an already running server, you can simply
|
175
|
+
add the following to `features/support/kookaburra_setup.rb`:
|
74
176
|
|
75
177
|
require 'kookaburra/test_helpers'
|
178
|
+
|
179
|
+
# Change these to the files that define your custom GivenDriver and UIDriver
|
180
|
+
# implementations.
|
76
181
|
require 'my_app/kookaburra/given_driver'
|
77
182
|
require 'my_app/kookaburra/ui_driver'
|
78
183
|
|
@@ -82,7 +187,7 @@ For [Cucumber] [Cucumber], add the following to `features/support/kookaburra_set
|
|
82
187
|
c.given_driver_class = MyApp::Kookaburra::GivenDriver
|
83
188
|
c.ui_driver_class = MyApp::Kookaburra::UIDriver
|
84
189
|
c.app_host = 'http://my_app.example.com:1234'
|
85
|
-
c.browser = Capybara
|
190
|
+
c.browser = Capybara::Session.new(:selenium)
|
86
191
|
c.server_error_detection { |browser|
|
87
192
|
browser.has_css?('head title', :text => 'Internal Server Error')
|
88
193
|
}
|
@@ -90,8 +195,63 @@ For [Cucumber] [Cucumber], add the following to `features/support/kookaburra_set
|
|
90
195
|
|
91
196
|
World(Kookaburra::TestHelpers)
|
92
197
|
|
93
|
-
|
94
|
-
|
198
|
+
#### Managing startup and shutdown of a Rack application server ####
|
199
|
+
|
200
|
+
While developing, it can be helpful to run your acceptance tests against a
|
201
|
+
locally-running server that is managed by your test suite. The setup is similar
|
202
|
+
to that in the previous section, but it adds before and after hooks to launch
|
203
|
+
and shut down a Rack application server. Just add the following to
|
204
|
+
`features/support/kookaburra_setup.rb`:
|
205
|
+
|
206
|
+
require 'kookaburra/test_helpers'
|
207
|
+
require 'thwait'
|
208
|
+
|
209
|
+
# Change these to the files that define your custom GivenDriver and UIDriver
|
210
|
+
# implementations.
|
211
|
+
require 'my_app/kookaburra/given_driver'
|
212
|
+
require 'my_app/kookaburra/ui_driver'
|
213
|
+
|
214
|
+
APP_PORT = ENV['APP_PORT'] || 3009
|
215
|
+
|
216
|
+
# c.app_host below should be set to whatever the root URL of your running
|
217
|
+
# application is.
|
218
|
+
Kookaburra.configure do |c|
|
219
|
+
c.given_driver_class = MyApp::Kookaburra::GivenDriver
|
220
|
+
c.ui_driver_class = MyApp::Kookaburra::UIDriver
|
221
|
+
c.app_host = 'http://localhost:%d' % APP_PORT
|
222
|
+
c.browser = Capybara::Session.new(:selenium)
|
223
|
+
c.server_error_detection { |browser|
|
224
|
+
browser.has_css?('head title', :text => 'Internal Server Error')
|
225
|
+
}
|
226
|
+
end
|
227
|
+
|
228
|
+
World(Kookaburra::TestHelpers)
|
229
|
+
|
230
|
+
# Start the application server prior to running a group of integration
|
231
|
+
# specs. `MyApplication` below should be replaced with the object that
|
232
|
+
# implements the Rack `#call` interface for your application. For a Rails
|
233
|
+
# app, this would be along the lines of `MyAppName::Application`.
|
234
|
+
# Runs the server process in a forked process, and get a handle on that
|
235
|
+
# process, so that it can be shut down after the tests run.
|
236
|
+
@rack_server_pid = fork do
|
237
|
+
Capybara.server_port = APP_PORT
|
238
|
+
Capybara::Server.new(MyApplication).boot
|
239
|
+
|
240
|
+
# This ensures that this forked process keeps running, because the
|
241
|
+
# actual server is started in a thread by Capybara.
|
242
|
+
ThreadsWait.all_waits(Thread.list)
|
243
|
+
end
|
244
|
+
|
245
|
+
# Give the server a chance to start up in the forked process. You may
|
246
|
+
# need to adjust this depending on how long your application takes to
|
247
|
+
# start up.
|
248
|
+
sleep 1
|
249
|
+
|
250
|
+
# After the tests run, kill the server process.
|
251
|
+
at_exit do
|
252
|
+
Process.kill(9, @rack_server_pid)
|
253
|
+
Process.wait
|
254
|
+
end
|
95
255
|
|
96
256
|
## Defining Your Testing DSL ##
|
97
257
|
|
data/Rakefile
CHANGED
@@ -32,12 +32,6 @@ task :default => :spec
|
|
32
32
|
desc 'Run specs'
|
33
33
|
RSpec::Core::RakeTask.new
|
34
34
|
|
35
|
-
desc "Generate code coverage"
|
36
|
-
RSpec::Core::RakeTask.new(:coverage) do |t|
|
37
|
-
t.rcov = true
|
38
|
-
t.rcov_opts = ['--exclude', 'spec']
|
39
|
-
end
|
40
|
-
|
41
35
|
require 'reek/rake/task'
|
42
36
|
Reek::Rake::Task.new do |t|
|
43
37
|
t.fail_on_error = true
|
@@ -47,3 +41,13 @@ end
|
|
47
41
|
|
48
42
|
require 'yard'
|
49
43
|
YARD::Rake::YardocTask.new
|
44
|
+
|
45
|
+
desc "Run rake on all supported rubies"
|
46
|
+
task :all_rubies do
|
47
|
+
rubies = %w[ruby-1.9.3 ruby-1.9.2 ree-1.8.7 ruby-1.8.7]
|
48
|
+
rubies.each do |ruby_version|
|
49
|
+
puts "Testing with #{ruby_version}"
|
50
|
+
system "rvm #{ruby_version}@kookaburra do rake" \
|
51
|
+
or raise "Failed to run rake with #{ruby_version}!"
|
52
|
+
end
|
53
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.23.
|
1
|
+
0.23.1
|
data/kookaburra.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "kookaburra"
|
8
|
-
s.version = "0.23.
|
8
|
+
s.version = "0.23.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["John Wilger", "Sam Livingston-Gray", "Ravi Gadad"]
|
12
|
-
s.date = "2012-04-
|
12
|
+
s.date = "2012-04-13"
|
13
13
|
s.description = "Cucumber + Capybara = Kookaburra? It made sense at the time."
|
14
14
|
s.email = "johnwilger@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -59,7 +59,7 @@ Gem::Specification.new do |s|
|
|
59
59
|
s.homepage = "http://github.com/projectdx/kookaburra"
|
60
60
|
s.licenses = ["MIT"]
|
61
61
|
s.require_paths = ["lib"]
|
62
|
-
s.rubygems_version = "1.8.
|
62
|
+
s.rubygems_version = "1.8.21"
|
63
63
|
s.summary = "WindowDriver testing pattern for Ruby apps"
|
64
64
|
|
65
65
|
if s.respond_to? :specification_version then
|
@@ -74,7 +74,6 @@ Gem::Specification.new do |s|
|
|
74
74
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
75
75
|
s.add_development_dependency(%q<redcarpet>, ["~> 1.0"])
|
76
76
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
77
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
78
77
|
s.add_development_dependency(%q<reek>, [">= 0"])
|
79
78
|
s.add_development_dependency(%q<sinatra>, [">= 0"])
|
80
79
|
else
|
@@ -86,7 +85,6 @@ Gem::Specification.new do |s|
|
|
86
85
|
s.add_dependency(%q<yard>, [">= 0"])
|
87
86
|
s.add_dependency(%q<redcarpet>, ["~> 1.0"])
|
88
87
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
89
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
90
88
|
s.add_dependency(%q<reek>, [">= 0"])
|
91
89
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
92
90
|
end
|
@@ -99,7 +97,6 @@ Gem::Specification.new do |s|
|
|
99
97
|
s.add_dependency(%q<yard>, [">= 0"])
|
100
98
|
s.add_dependency(%q<redcarpet>, ["~> 1.0"])
|
101
99
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
102
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
103
100
|
s.add_dependency(%q<reek>, [">= 0"])
|
104
101
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
105
102
|
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'kookaburra/test_helpers'
|
2
2
|
require 'kookaburra/json_api_driver'
|
3
3
|
require 'capybara'
|
4
|
+
require 'thwait'
|
4
5
|
|
5
6
|
# These are required for the Rack app used for testing
|
6
7
|
require 'sinatra/base'
|
7
8
|
require 'active_support/json'
|
8
9
|
require 'active_support/hash_with_indifferent_access'
|
9
10
|
|
11
|
+
# The server port that the application server will attach to
|
12
|
+
APP_PORT = ENV['APP_PORT'] || 3009
|
13
|
+
|
10
14
|
describe "testing a Rack application with Kookaburra" do
|
11
15
|
describe "with an HTML interface" do
|
12
16
|
describe "with a JSON API" do
|
@@ -299,15 +303,10 @@ describe "testing a Rack application with Kookaburra" do
|
|
299
303
|
end
|
300
304
|
|
301
305
|
before(:all) do
|
302
|
-
@rack_server_port = 3339
|
303
306
|
@rack_server_pid = fork do
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
:Host => '127.0.0.1',
|
308
|
-
:Port => @rack_server_port,
|
309
|
-
:environment => 'production'
|
310
|
-
)
|
307
|
+
Capybara.server_port = APP_PORT
|
308
|
+
Capybara::Server.new(JsonApiApp.new).boot
|
309
|
+
ThreadsWait.all_waits(Thread.list)
|
311
310
|
end
|
312
311
|
sleep 1 # Give the server a chance to start up.
|
313
312
|
end
|
@@ -321,7 +320,7 @@ describe "testing a Rack application with Kookaburra" do
|
|
321
320
|
Kookaburra.configure do |c|
|
322
321
|
c.ui_driver_class = MyUIDriver
|
323
322
|
c.given_driver_class = MyGivenDriver
|
324
|
-
c.app_host = 'http://127.0.0.1:%d' %
|
323
|
+
c.app_host = 'http://127.0.0.1:%d' % APP_PORT
|
325
324
|
c.browser = Capybara::Session.new(:selenium)
|
326
325
|
c.server_error_detection do |browser|
|
327
326
|
browser.has_css?('head title', :text => 'Internal Server Error')
|
@@ -26,7 +26,10 @@ module MentalModelMatcherMacros
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def from_line
|
29
|
-
|
29
|
+
#puts '#' * 80
|
30
|
+
#puts "it is: '#{caller(2).first.split(':').inspect}'"
|
31
|
+
#puts '#' * 81
|
32
|
+
'(line %d)' % caller(2).first.split(':')[1]
|
30
33
|
end
|
31
34
|
|
32
35
|
def it_complains_about_missing(missing, options)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kookaburra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 65
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 23
|
9
|
-
-
|
10
|
-
version: 0.23.
|
9
|
+
- 1
|
10
|
+
version: 0.23.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- John Wilger
|
@@ -17,10 +17,9 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-04-
|
20
|
+
date: 2012-04-13 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
|
-
prerelease: false
|
24
23
|
type: :runtime
|
25
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
25
|
none: false
|
@@ -33,8 +32,8 @@ dependencies:
|
|
33
32
|
version: "0"
|
34
33
|
version_requirements: *id001
|
35
34
|
name: i18n
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
35
|
prerelease: false
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
type: :runtime
|
39
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
@@ -48,8 +47,8 @@ dependencies:
|
|
48
47
|
version: "3.0"
|
49
48
|
version_requirements: *id002
|
50
49
|
name: activesupport
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
50
|
prerelease: false
|
51
|
+
- !ruby/object:Gem::Dependency
|
53
52
|
type: :runtime
|
54
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
54
|
none: false
|
@@ -62,8 +61,8 @@ dependencies:
|
|
62
61
|
version: "0"
|
63
62
|
version_requirements: *id003
|
64
63
|
name: patron
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
64
|
prerelease: false
|
65
|
+
- !ruby/object:Gem::Dependency
|
67
66
|
type: :development
|
68
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
68
|
none: false
|
@@ -76,8 +75,8 @@ dependencies:
|
|
76
75
|
version: "0"
|
77
76
|
version_requirements: *id004
|
78
77
|
name: rspec
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
78
|
prerelease: false
|
79
|
+
- !ruby/object:Gem::Dependency
|
81
80
|
type: :development
|
82
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
83
82
|
none: false
|
@@ -90,8 +89,8 @@ dependencies:
|
|
90
89
|
version: "0"
|
91
90
|
version_requirements: *id005
|
92
91
|
name: capybara
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
92
|
prerelease: false
|
93
|
+
- !ruby/object:Gem::Dependency
|
95
94
|
type: :development
|
96
95
|
requirement: &id006 !ruby/object:Gem::Requirement
|
97
96
|
none: false
|
@@ -104,8 +103,8 @@ dependencies:
|
|
104
103
|
version: "0"
|
105
104
|
version_requirements: *id006
|
106
105
|
name: yard
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
106
|
prerelease: false
|
107
|
+
- !ruby/object:Gem::Dependency
|
109
108
|
type: :development
|
110
109
|
requirement: &id007 !ruby/object:Gem::Requirement
|
111
110
|
none: false
|
@@ -119,8 +118,8 @@ dependencies:
|
|
119
118
|
version: "1.0"
|
120
119
|
version_requirements: *id007
|
121
120
|
name: redcarpet
|
122
|
-
- !ruby/object:Gem::Dependency
|
123
121
|
prerelease: false
|
122
|
+
- !ruby/object:Gem::Dependency
|
124
123
|
type: :development
|
125
124
|
requirement: &id008 !ruby/object:Gem::Requirement
|
126
125
|
none: false
|
@@ -133,8 +132,8 @@ dependencies:
|
|
133
132
|
version: "0"
|
134
133
|
version_requirements: *id008
|
135
134
|
name: jeweler
|
136
|
-
- !ruby/object:Gem::Dependency
|
137
135
|
prerelease: false
|
136
|
+
- !ruby/object:Gem::Dependency
|
138
137
|
type: :development
|
139
138
|
requirement: &id009 !ruby/object:Gem::Requirement
|
140
139
|
none: false
|
@@ -146,9 +145,9 @@ dependencies:
|
|
146
145
|
- 0
|
147
146
|
version: "0"
|
148
147
|
version_requirements: *id009
|
149
|
-
name:
|
150
|
-
- !ruby/object:Gem::Dependency
|
148
|
+
name: reek
|
151
149
|
prerelease: false
|
150
|
+
- !ruby/object:Gem::Dependency
|
152
151
|
type: :development
|
153
152
|
requirement: &id010 !ruby/object:Gem::Requirement
|
154
153
|
none: false
|
@@ -160,21 +159,8 @@ dependencies:
|
|
160
159
|
- 0
|
161
160
|
version: "0"
|
162
161
|
version_requirements: *id010
|
163
|
-
name: reek
|
164
|
-
- !ruby/object:Gem::Dependency
|
165
|
-
prerelease: false
|
166
|
-
type: :development
|
167
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
168
|
-
none: false
|
169
|
-
requirements:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
hash: 3
|
173
|
-
segments:
|
174
|
-
- 0
|
175
|
-
version: "0"
|
176
|
-
version_requirements: *id011
|
177
162
|
name: sinatra
|
163
|
+
prerelease: false
|
178
164
|
description: Cucumber + Capybara = Kookaburra? It made sense at the time.
|
179
165
|
email: johnwilger@gmail.com
|
180
166
|
executables: []
|
@@ -252,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
252
238
|
requirements: []
|
253
239
|
|
254
240
|
rubyforge_project:
|
255
|
-
rubygems_version: 1.8.
|
241
|
+
rubygems_version: 1.8.21
|
256
242
|
signing_key:
|
257
243
|
specification_version: 3
|
258
244
|
summary: WindowDriver testing pattern for Ruby apps
|