honkster-webrat 0.6.0.10 → 0.7.1.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/Gemfile +0 -6
- data/History.txt +34 -0
- data/Rakefile +7 -8
- data/Thorfile +1 -0
- data/honkster-webrat.gemspec +9 -5
- data/lib/webrat.rb +1 -1
- data/lib/webrat/adapters/mechanize.rb +22 -6
- data/lib/webrat/adapters/rack.rb +4 -0
- data/lib/webrat/adapters/rails.rb +4 -8
- data/lib/webrat/core/configuration.rb +23 -4
- data/lib/webrat/core/elements/field.rb +40 -89
- data/lib/webrat/core/elements/form.rb +55 -31
- data/lib/webrat/core/locators/form_locator.rb +1 -1
- data/lib/webrat/core/locators/select_option_locator.rb +1 -1
- data/lib/webrat/core/matchers/have_content.rb +1 -1
- data/lib/webrat/core/matchers/have_xpath.rb +4 -2
- data/lib/webrat/core/methods.rb +1 -1
- data/lib/webrat/core/mime.rb +2 -2
- data/lib/webrat/core/save_and_open_page.rb +3 -23
- data/lib/webrat/core/scope.rb +1 -0
- data/lib/webrat/core/session.rb +4 -7
- data/lib/webrat/core_extensions/{nil_to_param.rb → nil_to_query_string.rb} +1 -1
- data/lib/webrat/selenium/location_strategy_javascript/label.js +8 -2
- data/lib/webrat/selenium/matchers/have_content.rb +22 -10
- data/lib/webrat/selenium/matchers/have_selector.rb +8 -0
- data/lib/webrat/selenium/matchers/have_xpath.rb +8 -0
- data/lib/webrat/selenium/selenium_rc_server.rb +5 -2
- data/lib/webrat/selenium/selenium_session.rb +12 -12
- data/spec/fakes/test_adapter.rb +1 -5
- data/spec/integration/mechanize/sample_app.rb +16 -1
- data/spec/integration/mechanize/spec/mechanize_spec.rb +9 -1
- data/spec/integration/rack/app.rb +2 -2
- data/spec/integration/rack/test/helper.rb +0 -1
- data/spec/integration/rack/test/webrat_rack_test.rb +3 -2
- data/spec/integration/sinatra/classic_app.rb +0 -1
- data/spec/integration/sinatra/modular_app.rb +0 -1
- data/spec/integration/sinatra/test/classic_app_test.rb +1 -0
- data/spec/integration/sinatra/test/test_helper.rb +0 -1
- data/spec/private/core/field_spec.rb +1 -1
- data/spec/private/core/form_spec.rb +51 -0
- data/spec/private/core/session_spec.rb +5 -23
- data/spec/private/mechanize/mechanize_adapter_spec.rb +24 -1
- data/spec/private/rails/attaches_file_spec.rb +33 -0
- data/spec/private/rails/rails_adapter_spec.rb +0 -7
- data/spec/public/matchers/contain_spec.rb +8 -15
- data/spec/public/matchers/have_xpath_spec.rb +6 -0
- data/spec/public/save_and_open_spec.rb +4 -25
- data/spec/public/select_spec.rb +19 -0
- data/spec/public/submit_form_spec.rb +52 -1
- data/spec/spec_helper.rb +0 -1
- data/vendor/selenium-server.jar +0 -0
- metadata +56 -15
- data/pkg/honkster-webrat-0.6.0.9.gem +0 -0
@@ -1,5 +1,56 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
2
|
|
3
3
|
describe "submit_form" do
|
4
|
-
it "
|
4
|
+
it "should submit forms by ID" do
|
5
|
+
with_html <<-HTML
|
6
|
+
<html>
|
7
|
+
<form id="form1" action="/form1">
|
8
|
+
<label for="email">Email:</label> <input type="text" id="email" name="email" /></label>
|
9
|
+
<input type="submit" value="Add" />
|
10
|
+
</form>
|
11
|
+
</html>
|
12
|
+
HTML
|
13
|
+
|
14
|
+
webrat_session.should_receive(:get).with("/form1", "email" => "test@example.com")
|
15
|
+
|
16
|
+
fill_in "Email", :with => "test@example.com"
|
17
|
+
submit_form "form1"
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should submit forms by CSS" do
|
21
|
+
with_html <<-HTML
|
22
|
+
<html>
|
23
|
+
<form id="form1" action="/form1">
|
24
|
+
<label for="email">Email:</label> <input id="email" type="text" name="email" />
|
25
|
+
<input type="submit" value="Add" />
|
26
|
+
</form>
|
27
|
+
</html>
|
28
|
+
HTML
|
29
|
+
|
30
|
+
webrat_session.should_receive(:get).with("/form1", "email" => "test@example.com")
|
31
|
+
|
32
|
+
fill_in "Email", :with => "test@example.com"
|
33
|
+
submit_form "form[action='/form1']"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should give priority to selecting forms by ID" do
|
37
|
+
with_html <<-HTML
|
38
|
+
<html>
|
39
|
+
<form action="/form1">
|
40
|
+
<label for="email">Email:</label> <input id="email" type="text" name="email" />
|
41
|
+
<input type="submit" value="Add" />
|
42
|
+
</form>
|
43
|
+
|
44
|
+
<form action="/form2" id="form">
|
45
|
+
<label for="email2">Another email:</label> <input id="email2" type="text" name="email" />
|
46
|
+
<input type="submit" value="Add" />
|
47
|
+
</form>
|
48
|
+
</html>
|
49
|
+
HTML
|
50
|
+
|
51
|
+
webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
|
52
|
+
|
53
|
+
fill_in "Another email", :with => "test@example.com"
|
54
|
+
submit_form "form"
|
55
|
+
end
|
5
56
|
end
|
data/spec/spec_helper.rb
CHANGED
data/vendor/selenium-server.jar
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honkster-webrat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 113
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 1
|
10
|
+
- 1
|
11
|
+
version: 0.7.1.1
|
5
12
|
platform: ruby
|
6
13
|
authors:
|
7
14
|
- Bryan Helmkamp
|
@@ -9,29 +16,56 @@ autorequire:
|
|
9
16
|
bindir: bin
|
10
17
|
cert_chain: []
|
11
18
|
|
12
|
-
date:
|
19
|
+
date: 2010-04-26 00:00:00 -07:00
|
13
20
|
default_executable:
|
14
21
|
dependencies:
|
15
22
|
- !ruby/object:Gem::Dependency
|
16
23
|
name: nokogiri
|
17
|
-
|
18
|
-
|
19
|
-
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
20
27
|
requirements:
|
21
28
|
- - ">="
|
22
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 31
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 2
|
34
|
+
- 0
|
23
35
|
version: 1.2.0
|
24
|
-
|
36
|
+
type: :runtime
|
37
|
+
version_requirements: *id001
|
25
38
|
- !ruby/object:Gem::Dependency
|
26
39
|
name: rack
|
27
|
-
|
28
|
-
|
29
|
-
|
40
|
+
prerelease: false
|
41
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
30
43
|
requirements:
|
31
44
|
- - ">="
|
32
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 15
|
47
|
+
segments:
|
48
|
+
- 1
|
49
|
+
- 0
|
33
50
|
version: "1.0"
|
34
|
-
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: rack-test
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 13
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 5
|
65
|
+
- 3
|
66
|
+
version: 0.5.3
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
35
69
|
description: |-
|
36
70
|
Webrat lets you quickly write expressive and robust acceptance tests
|
37
71
|
for a Ruby web application. It supports simulating a browser inside
|
@@ -102,7 +136,7 @@ files:
|
|
102
136
|
- lib/webrat/core_extensions/deprecate.rb
|
103
137
|
- lib/webrat/core_extensions/detect_mapped.rb
|
104
138
|
- lib/webrat/core_extensions/meta_class.rb
|
105
|
-
- lib/webrat/core_extensions/
|
139
|
+
- lib/webrat/core_extensions/nil_to_query_string.rb
|
106
140
|
- lib/webrat/core_extensions/tcp_socket.rb
|
107
141
|
- lib/webrat/integrations/merb.rb
|
108
142
|
- lib/webrat/integrations/rails.rb
|
@@ -133,7 +167,6 @@ files:
|
|
133
167
|
- lib/webrat/selenium/selenium_rc_server.rb
|
134
168
|
- lib/webrat/selenium/selenium_session.rb
|
135
169
|
- lib/webrat/selenium/silence_stream.rb
|
136
|
-
- pkg/honkster-webrat-0.6.0.9.gem
|
137
170
|
- spec/fakes/test_adapter.rb
|
138
171
|
- spec/integration/mechanize/Rakefile
|
139
172
|
- spec/integration/mechanize/config.ru
|
@@ -226,6 +259,7 @@ files:
|
|
226
259
|
- spec/integration/sinatra/test/test_helper.rb
|
227
260
|
- spec/private/core/configuration_spec.rb
|
228
261
|
- spec/private/core/field_spec.rb
|
262
|
+
- spec/private/core/form_spec.rb
|
229
263
|
- spec/private/core/link_spec.rb
|
230
264
|
- spec/private/core/session_spec.rb
|
231
265
|
- spec/private/mechanize/mechanize_adapter_spec.rb
|
@@ -274,21 +308,27 @@ rdoc_options: []
|
|
274
308
|
require_paths:
|
275
309
|
- lib
|
276
310
|
required_ruby_version: !ruby/object:Gem::Requirement
|
311
|
+
none: false
|
277
312
|
requirements:
|
278
313
|
- - ">="
|
279
314
|
- !ruby/object:Gem::Version
|
315
|
+
hash: 3
|
316
|
+
segments:
|
317
|
+
- 0
|
280
318
|
version: "0"
|
281
|
-
version:
|
282
319
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
320
|
+
none: false
|
283
321
|
requirements:
|
284
322
|
- - ">="
|
285
323
|
- !ruby/object:Gem::Version
|
324
|
+
hash: 3
|
325
|
+
segments:
|
326
|
+
- 0
|
286
327
|
version: "0"
|
287
|
-
version:
|
288
328
|
requirements: []
|
289
329
|
|
290
330
|
rubyforge_project: webrat
|
291
|
-
rubygems_version: 1.3.
|
331
|
+
rubygems_version: 1.3.7
|
292
332
|
signing_key:
|
293
333
|
specification_version: 3
|
294
334
|
summary: Ruby Acceptance Testing for Web applications
|
@@ -345,6 +385,7 @@ test_files:
|
|
345
385
|
- spec/integration/sinatra/test/test_helper.rb
|
346
386
|
- spec/private/core/configuration_spec.rb
|
347
387
|
- spec/private/core/field_spec.rb
|
388
|
+
- spec/private/core/form_spec.rb
|
348
389
|
- spec/private/core/link_spec.rb
|
349
390
|
- spec/private/core/session_spec.rb
|
350
391
|
- spec/private/mechanize/mechanize_adapter_spec.rb
|
Binary file
|