mkuklis-webrat 0.5.1 → 0.6.rc1
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/.document +3 -3
- data/.gitignore +14 -14
- data/History.txt +413 -413
- data/MIT-LICENSE.txt +19 -19
- data/README.rdoc +84 -84
- data/Rakefile +187 -187
- data/VERSION +1 -1
- data/install.rb +1 -1
- data/lib/webrat/adapters/mechanize.rb +78 -78
- data/lib/webrat/adapters/merb.rb +11 -11
- data/lib/webrat/adapters/rack.rb +25 -25
- data/lib/webrat/adapters/rails.rb +81 -81
- data/lib/webrat/adapters/sinatra.rb +9 -9
- data/lib/webrat/core/configuration.rb +92 -92
- data/lib/webrat/core/elements/area.rb +31 -31
- data/lib/webrat/core/elements/element.rb +33 -33
- data/lib/webrat/core/elements/field.rb +487 -487
- data/lib/webrat/core/elements/form.rb +103 -103
- data/lib/webrat/core/elements/label.rb +31 -31
- data/lib/webrat/core/elements/link.rb +93 -93
- data/lib/webrat/core/elements/select_option.rb +48 -48
- data/lib/webrat/core/locators/area_locator.rb +38 -38
- data/lib/webrat/core/locators/button_locator.rb +54 -54
- data/lib/webrat/core/locators/field_by_id_locator.rb +37 -37
- data/lib/webrat/core/locators/field_labeled_locator.rb +56 -56
- data/lib/webrat/core/locators/field_locator.rb +25 -25
- data/lib/webrat/core/locators/field_named_locator.rb +41 -41
- data/lib/webrat/core/locators/form_locator.rb +19 -19
- data/lib/webrat/core/locators/label_locator.rb +34 -34
- data/lib/webrat/core/locators/link_locator.rb +74 -74
- data/lib/webrat/core/locators/locator.rb +20 -20
- data/lib/webrat/core/locators/select_option_locator.rb +59 -59
- data/lib/webrat/core/locators.rb +20 -20
- data/lib/webrat/core/logging.rb +23 -23
- data/lib/webrat/core/matchers/have_content.rb +68 -68
- data/lib/webrat/core/matchers/have_selector.rb +74 -74
- data/lib/webrat/core/matchers/have_tag.rb +21 -21
- data/lib/webrat/core/matchers/have_xpath.rb +122 -122
- data/lib/webrat/core/matchers.rb +4 -4
- data/lib/webrat/core/methods.rb +64 -64
- data/lib/webrat/core/mime.rb +18 -18
- data/lib/webrat/core/save_and_open_page.rb +48 -48
- data/lib/webrat/core/scope.rb +365 -365
- data/lib/webrat/core/session.rb +306 -306
- data/lib/webrat/core/xml.rb +72 -72
- data/lib/webrat/core.rb +13 -13
- data/lib/webrat/core_extensions/blank.rb +58 -58
- data/lib/webrat/core_extensions/deprecate.rb +8 -8
- data/lib/webrat/core_extensions/detect_mapped.rb +12 -12
- data/lib/webrat/core_extensions/meta_class.rb +6 -6
- data/lib/webrat/core_extensions/nil_to_param.rb +5 -5
- data/lib/webrat/core_extensions/tcp_socket.rb +27 -27
- data/lib/webrat/integrations/merb.rb +10 -10
- data/lib/webrat/integrations/rails.rb +25 -25
- data/lib/webrat/integrations/rspec-rails.rb +10 -10
- data/lib/webrat/integrations/selenium.rb +11 -11
- data/lib/webrat/merb.rb +9 -9
- data/lib/webrat/rspec-rails.rb +2 -2
- data/lib/webrat/selenium/application_server_factory.rb +40 -40
- data/lib/webrat/selenium/application_servers/external.rb +26 -26
- data/lib/webrat/selenium/application_servers/merb.rb +50 -50
- data/lib/webrat/selenium/application_servers/rails.rb +3 -6
- data/lib/webrat/selenium/application_servers/sinatra.rb +37 -37
- data/lib/webrat/selenium/application_servers.rb +5 -5
- data/lib/webrat/selenium/location_strategy_javascript/button.js +19 -19
- data/lib/webrat/selenium/location_strategy_javascript/label.js +42 -42
- data/lib/webrat/selenium/location_strategy_javascript/webrat.js +6 -6
- data/lib/webrat/selenium/location_strategy_javascript/webratlink.js +32 -32
- data/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -15
- data/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -5
- data/lib/webrat/selenium/matchers/have_content.rb +66 -66
- data/lib/webrat/selenium/matchers/have_selector.rb +49 -49
- data/lib/webrat/selenium/matchers/have_tag.rb +72 -72
- data/lib/webrat/selenium/matchers/have_xpath.rb +45 -45
- data/lib/webrat/selenium/matchers.rb +4 -4
- data/lib/webrat/selenium/selenium_extensions.js +5 -5
- data/lib/webrat/selenium/selenium_rc_server.rb +86 -86
- data/lib/webrat/selenium/selenium_session.rb +267 -272
- data/lib/webrat/selenium/silence_stream.rb +18 -18
- data/lib/webrat/selenium.rb +70 -70
- data/lib/webrat.rb +18 -18
- data/spec/fakes/test_adapter.rb +37 -37
- data/spec/integration/mechanize/Rakefile +6 -6
- data/spec/integration/mechanize/config.ru +1 -1
- data/spec/integration/mechanize/sample_app.rb +20 -20
- data/spec/integration/mechanize/spec/mechanize_spec.rb +22 -22
- data/spec/integration/mechanize/spec/spec_helper.rb +27 -27
- data/spec/integration/merb/.gitignore +20 -20
- data/spec/integration/merb/Rakefile +35 -35
- data/spec/integration/merb/app/controllers/application.rb +2 -2
- data/spec/integration/merb/app/controllers/exceptions.rb +13 -13
- data/spec/integration/merb/app/controllers/testing.rb +27 -27
- data/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +63 -63
- data/spec/integration/merb/app/views/exceptions/not_found.html.erb +47 -47
- data/spec/integration/merb/app/views/layout/application.html.erb +11 -11
- data/spec/integration/merb/app/views/testing/show_form.html.erb +26 -26
- data/spec/integration/merb/app/views/testing/upload.html.erb +8 -8
- data/spec/integration/merb/config/environments/development.rb +15 -15
- data/spec/integration/merb/config/environments/rake.rb +11 -11
- data/spec/integration/merb/config/environments/test.rb +14 -14
- data/spec/integration/merb/config/init.rb +25 -25
- data/spec/integration/merb/config/rack.rb +11 -11
- data/spec/integration/merb/config/router.rb +34 -34
- data/spec/integration/merb/spec/spec.opts +1 -1
- data/spec/integration/merb/spec/spec_helper.rb +26 -26
- data/spec/integration/merb/spec/webrat_spec.rb +39 -39
- data/spec/integration/merb/tasks/merb.thor/app_script.rb +31 -31
- data/spec/integration/merb/tasks/merb.thor/common.rb +64 -64
- data/spec/integration/merb/tasks/merb.thor/gem_ext.rb +124 -124
- data/spec/integration/merb/tasks/merb.thor/main.thor +149 -149
- data/spec/integration/merb/tasks/merb.thor/ops.rb +93 -93
- data/spec/integration/merb/tasks/merb.thor/utils.rb +40 -40
- data/spec/integration/rack/Rakefile +5 -5
- data/spec/integration/rack/app.rb +89 -89
- data/spec/integration/rack/test/helper.rb +21 -21
- data/spec/integration/rack/test/webrat_rack_test.rb +73 -73
- data/spec/integration/rails/.gitignore +3 -3
- data/spec/integration/rails/Rakefile +30 -30
- data/spec/integration/rails/app/controllers/application.rb +15 -15
- data/spec/integration/rails/app/controllers/buttons_controller.rb +7 -7
- data/spec/integration/rails/app/controllers/fields_controller.rb +4 -4
- data/spec/integration/rails/app/controllers/links_controller.rb +7 -7
- data/spec/integration/rails/app/controllers/webrat_controller.rb +46 -46
- data/spec/integration/rails/app/helpers/buttons_helper.rb +2 -2
- data/spec/integration/rails/app/helpers/fields_helper.rb +2 -2
- data/spec/integration/rails/app/helpers/links_helper.rb +2 -2
- data/spec/integration/rails/app/views/buttons/show.html.erb +10 -10
- data/spec/integration/rails/app/views/fields/show.html.erb +8 -8
- data/spec/integration/rails/app/views/links/show.html.erb +5 -5
- data/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +3 -3
- data/spec/integration/rails/app/views/webrat/buttons.html.erb +10 -10
- data/spec/integration/rails/app/views/webrat/form.html.erb +27 -27
- data/spec/integration/rails/app/views/webrat/within.html.erb +2 -2
- data/spec/integration/rails/config/boot.rb +109 -109
- data/spec/integration/rails/config/environment.rb +12 -12
- data/spec/integration/rails/config/environments/development.rb +17 -17
- data/spec/integration/rails/config/environments/selenium.rb +22 -22
- data/spec/integration/rails/config/environments/test.rb +22 -22
- data/spec/integration/rails/config/initializers/inflections.rb +10 -10
- data/spec/integration/rails/config/initializers/mime_types.rb +5 -5
- data/spec/integration/rails/config/initializers/new_rails_defaults.rb +17 -17
- data/spec/integration/rails/config/locales/en.yml +4 -4
- data/spec/integration/rails/config/routes.rb +19 -19
- data/spec/integration/rails/public/404.html +29 -29
- data/spec/integration/rails/public/422.html +29 -29
- data/spec/integration/rails/public/500.html +33 -33
- data/spec/integration/rails/script/about +3 -3
- data/spec/integration/rails/script/console +3 -3
- data/spec/integration/rails/script/dbconsole +3 -3
- data/spec/integration/rails/script/destroy +3 -3
- data/spec/integration/rails/script/generate +3 -3
- data/spec/integration/rails/script/performance/benchmarker +3 -3
- data/spec/integration/rails/script/performance/profiler +3 -3
- data/spec/integration/rails/script/performance/request +3 -3
- data/spec/integration/rails/script/plugin +3 -3
- data/spec/integration/rails/script/process/inspector +3 -3
- data/spec/integration/rails/script/process/reaper +3 -3
- data/spec/integration/rails/script/process/spawner +3 -3
- data/spec/integration/rails/script/runner +3 -3
- data/spec/integration/rails/script/server +3 -3
- data/spec/integration/rails/test/integration/button_click_test.rb +80 -80
- data/spec/integration/rails/test/integration/fill_in_test.rb +24 -24
- data/spec/integration/rails/test/integration/link_click_test.rb +27 -27
- data/spec/integration/rails/test/integration/webrat_test.rb +122 -122
- data/spec/integration/rails/test/test_helper.rb +26 -26
- data/spec/integration/sinatra/Rakefile +5 -5
- data/spec/integration/sinatra/classic_app.rb +64 -64
- data/spec/integration/sinatra/modular_app.rb +16 -16
- data/spec/integration/sinatra/test/classic_app_test.rb +37 -37
- data/spec/integration/sinatra/test/modular_app_test.rb +18 -18
- data/spec/integration/sinatra/test/test_helper.rb +17 -17
- data/spec/private/core/configuration_spec.rb +87 -87
- data/spec/private/core/field_spec.rb +85 -85
- data/spec/private/core/link_spec.rb +24 -24
- data/spec/private/core/session_spec.rb +200 -200
- data/spec/private/mechanize/mechanize_adapter_spec.rb +73 -73
- data/spec/private/nokogiri_spec.rb +77 -77
- data/spec/private/rails/attaches_file_spec.rb +81 -81
- data/spec/private/rails/rails_adapter_spec.rb +86 -86
- data/spec/private/selenium/application_servers/rails_spec.rb +26 -26
- data/spec/public/basic_auth_spec.rb +24 -24
- data/spec/public/check_spec.rb +191 -191
- data/spec/public/choose_spec.rb +118 -118
- data/spec/public/click_area_spec.rb +106 -106
- data/spec/public/click_button_spec.rb +494 -494
- data/spec/public/click_link_spec.rb +511 -511
- data/spec/public/fill_in_spec.rb +224 -224
- data/spec/public/locators/field_by_xpath_spec.rb +19 -19
- data/spec/public/locators/field_labeled_spec.rb +172 -172
- data/spec/public/locators/field_with_id_spec.rb +16 -16
- data/spec/public/matchers/contain_spec.rb +114 -114
- data/spec/public/matchers/have_selector_spec.rb +146 -146
- data/spec/public/matchers/have_tag_spec.rb +39 -39
- data/spec/public/matchers/have_xpath_spec.rb +136 -136
- data/spec/public/reload_spec.rb +10 -10
- data/spec/public/save_and_open_spec.rb +70 -70
- data/spec/public/select_date_spec.rb +112 -112
- data/spec/public/select_datetime_spec.rb +137 -137
- data/spec/public/select_spec.rb +455 -455
- data/spec/public/select_time_spec.rb +100 -100
- data/spec/public/selenium/application_server_factory_spec.rb +49 -49
- data/spec/public/selenium/application_servers/external_spec.rb +12 -12
- data/spec/public/selenium/selenium_session_spec.rb +37 -37
- data/spec/public/set_hidden_field_spec.rb +5 -5
- data/spec/public/submit_form_spec.rb +5 -5
- data/spec/public/visit_spec.rb +58 -58
- data/spec/public/within_spec.rb +177 -177
- data/spec/spec.opts +1 -1
- data/spec/spec_helper.rb +54 -54
- data/webrat.gemspec +360 -0
- metadata +6 -5
@@ -1,100 +1,100 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
-
|
3
|
-
describe "select_time" do
|
4
|
-
it "should send the values for each individual time component" do
|
5
|
-
with_html <<-HTML
|
6
|
-
<html>
|
7
|
-
<form action="/appointments" method="post">
|
8
|
-
<label for="appointment_time">Time</label><br />
|
9
|
-
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
10
|
-
<option value="09">09</option>
|
11
|
-
</select>
|
12
|
-
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
13
|
-
<option value="30">30</option>
|
14
|
-
</select>
|
15
|
-
<input type="submit" />
|
16
|
-
</form>
|
17
|
-
</html>
|
18
|
-
HTML
|
19
|
-
webrat_session.should_receive(:post).with("/appointments",
|
20
|
-
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
21
|
-
select_time "9:30AM", :from => "Time"
|
22
|
-
click_button
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should accept a time object" do
|
26
|
-
with_html <<-HTML
|
27
|
-
<html>
|
28
|
-
<form action="/appointments" method="post">
|
29
|
-
<label for="appointment_time">Time</label><br />
|
30
|
-
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
31
|
-
<option value="09">09</option>
|
32
|
-
</select>
|
33
|
-
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
34
|
-
<option value="30">30</option>
|
35
|
-
</select>
|
36
|
-
<input type="submit" />
|
37
|
-
</form>
|
38
|
-
</html>
|
39
|
-
HTML
|
40
|
-
webrat_session.should_receive(:post).with("/appointments",
|
41
|
-
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
42
|
-
select_time Time.parse("9:30AM"), :from => "Time"
|
43
|
-
click_button
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should work when the label ends in a non word character" do
|
47
|
-
with_html <<-HTML
|
48
|
-
<html>
|
49
|
-
<form action="/appointments" method="post">
|
50
|
-
<label for="appointment_time">Time #</label><br />
|
51
|
-
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
52
|
-
<option value="09">09</option>
|
53
|
-
</select>
|
54
|
-
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
55
|
-
<option value="30">30</option>
|
56
|
-
</select>
|
57
|
-
<input type="submit" />
|
58
|
-
</form>
|
59
|
-
</html>
|
60
|
-
HTML
|
61
|
-
webrat_session.should_receive(:post).with("/appointments",
|
62
|
-
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
63
|
-
select_time "9:30AM", :from => "Time #"
|
64
|
-
click_button
|
65
|
-
end
|
66
|
-
|
67
|
-
it "should work when no label is specified" do
|
68
|
-
with_html <<-HTML
|
69
|
-
<html>
|
70
|
-
<form action="/appointments" method="post">
|
71
|
-
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
72
|
-
<option value="09">09</option>
|
73
|
-
</select>
|
74
|
-
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
75
|
-
<option value="30">30</option>
|
76
|
-
</select>
|
77
|
-
<input type="submit" />
|
78
|
-
</form>
|
79
|
-
</html>
|
80
|
-
HTML
|
81
|
-
webrat_session.should_receive(:post).with("/appointments",
|
82
|
-
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
83
|
-
select_time "9:30"
|
84
|
-
click_button
|
85
|
-
end
|
86
|
-
|
87
|
-
it "should fail if the specified label is not found" do
|
88
|
-
with_html <<-HTML
|
89
|
-
<html>
|
90
|
-
<form method="post" action="/appointments">
|
91
|
-
<select name="month"><option>January</option></select>
|
92
|
-
<input type="submit" />
|
93
|
-
</form>
|
94
|
-
</html>
|
95
|
-
HTML
|
96
|
-
|
97
|
-
lambda { select_time "9:30", :from => "Time" }.should raise_error(Webrat::NotFoundError)
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe "select_time" do
|
4
|
+
it "should send the values for each individual time component" do
|
5
|
+
with_html <<-HTML
|
6
|
+
<html>
|
7
|
+
<form action="/appointments" method="post">
|
8
|
+
<label for="appointment_time">Time</label><br />
|
9
|
+
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
10
|
+
<option value="09">09</option>
|
11
|
+
</select>
|
12
|
+
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
13
|
+
<option value="30">30</option>
|
14
|
+
</select>
|
15
|
+
<input type="submit" />
|
16
|
+
</form>
|
17
|
+
</html>
|
18
|
+
HTML
|
19
|
+
webrat_session.should_receive(:post).with("/appointments",
|
20
|
+
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
21
|
+
select_time "9:30AM", :from => "Time"
|
22
|
+
click_button
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should accept a time object" do
|
26
|
+
with_html <<-HTML
|
27
|
+
<html>
|
28
|
+
<form action="/appointments" method="post">
|
29
|
+
<label for="appointment_time">Time</label><br />
|
30
|
+
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
31
|
+
<option value="09">09</option>
|
32
|
+
</select>
|
33
|
+
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
34
|
+
<option value="30">30</option>
|
35
|
+
</select>
|
36
|
+
<input type="submit" />
|
37
|
+
</form>
|
38
|
+
</html>
|
39
|
+
HTML
|
40
|
+
webrat_session.should_receive(:post).with("/appointments",
|
41
|
+
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
42
|
+
select_time Time.parse("9:30AM"), :from => "Time"
|
43
|
+
click_button
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should work when the label ends in a non word character" do
|
47
|
+
with_html <<-HTML
|
48
|
+
<html>
|
49
|
+
<form action="/appointments" method="post">
|
50
|
+
<label for="appointment_time">Time #</label><br />
|
51
|
+
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
52
|
+
<option value="09">09</option>
|
53
|
+
</select>
|
54
|
+
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
55
|
+
<option value="30">30</option>
|
56
|
+
</select>
|
57
|
+
<input type="submit" />
|
58
|
+
</form>
|
59
|
+
</html>
|
60
|
+
HTML
|
61
|
+
webrat_session.should_receive(:post).with("/appointments",
|
62
|
+
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
63
|
+
select_time "9:30AM", :from => "Time #"
|
64
|
+
click_button
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should work when no label is specified" do
|
68
|
+
with_html <<-HTML
|
69
|
+
<html>
|
70
|
+
<form action="/appointments" method="post">
|
71
|
+
<select id="appointment_time_4i" name="appointment[time(4i)]">
|
72
|
+
<option value="09">09</option>
|
73
|
+
</select>
|
74
|
+
: <select id="appointment_time_5i" name="appointment[time(5i)]">
|
75
|
+
<option value="30">30</option>
|
76
|
+
</select>
|
77
|
+
<input type="submit" />
|
78
|
+
</form>
|
79
|
+
</html>
|
80
|
+
HTML
|
81
|
+
webrat_session.should_receive(:post).with("/appointments",
|
82
|
+
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
83
|
+
select_time "9:30"
|
84
|
+
click_button
|
85
|
+
end
|
86
|
+
|
87
|
+
it "should fail if the specified label is not found" do
|
88
|
+
with_html <<-HTML
|
89
|
+
<html>
|
90
|
+
<form method="post" action="/appointments">
|
91
|
+
<select name="month"><option>January</option></select>
|
92
|
+
<input type="submit" />
|
93
|
+
</form>
|
94
|
+
</html>
|
95
|
+
HTML
|
96
|
+
|
97
|
+
lambda { select_time "9:30", :from => "Time" }.should raise_error(Webrat::NotFoundError)
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
@@ -1,49 +1,49 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
require "webrat/selenium/silence_stream"
|
4
|
-
require "webrat/selenium/application_server_factory"
|
5
|
-
|
6
|
-
require "webrat/selenium/application_servers"
|
7
|
-
|
8
|
-
describe Webrat::Selenium::ApplicationServerFactory do
|
9
|
-
|
10
|
-
it "should require and create a sinatra server in sinatra mode" do
|
11
|
-
server = mock(Webrat::Selenium::ApplicationServers::Sinatra)
|
12
|
-
Webrat.configuration.application_framework = :sinatra
|
13
|
-
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/sinatra")
|
14
|
-
Webrat::Selenium::ApplicationServers::Sinatra.should_receive(:new).and_return(server)
|
15
|
-
Webrat::Selenium::ApplicationServerFactory.app_server_instance.should == server
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should require and create a merb server in merb mode" do
|
19
|
-
server = mock(Webrat::Selenium::ApplicationServers::Merb)
|
20
|
-
Webrat.configuration.application_framework = :merb
|
21
|
-
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/merb")
|
22
|
-
Webrat::Selenium::ApplicationServers::Merb.should_receive(:new).and_return(server)
|
23
|
-
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should require and create a rails server in rails mode" do
|
27
|
-
server = mock(Webrat::Selenium::ApplicationServers::Rails)
|
28
|
-
Webrat.configuration.application_framework = :rails
|
29
|
-
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/rails")
|
30
|
-
Webrat::Selenium::ApplicationServers::Rails.should_receive(:new).and_return(server)
|
31
|
-
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should require and create a rails server in external mode" do
|
35
|
-
server = mock(Webrat::Selenium::ApplicationServers::External)
|
36
|
-
Webrat.configuration.application_framework = :external
|
37
|
-
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/external")
|
38
|
-
Webrat::Selenium::ApplicationServers::External.should_receive(:new).and_return(server)
|
39
|
-
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should handle unknown servers with an exception in unknown modes" do
|
43
|
-
Webrat.configuration.application_framework = :unknown
|
44
|
-
lambda {
|
45
|
-
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
46
|
-
}.should raise_error(Webrat::WebratError)
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require "webrat/selenium/silence_stream"
|
4
|
+
require "webrat/selenium/application_server_factory"
|
5
|
+
|
6
|
+
require "webrat/selenium/application_servers"
|
7
|
+
|
8
|
+
describe Webrat::Selenium::ApplicationServerFactory do
|
9
|
+
|
10
|
+
it "should require and create a sinatra server in sinatra mode" do
|
11
|
+
server = mock(Webrat::Selenium::ApplicationServers::Sinatra)
|
12
|
+
Webrat.configuration.application_framework = :sinatra
|
13
|
+
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/sinatra")
|
14
|
+
Webrat::Selenium::ApplicationServers::Sinatra.should_receive(:new).and_return(server)
|
15
|
+
Webrat::Selenium::ApplicationServerFactory.app_server_instance.should == server
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should require and create a merb server in merb mode" do
|
19
|
+
server = mock(Webrat::Selenium::ApplicationServers::Merb)
|
20
|
+
Webrat.configuration.application_framework = :merb
|
21
|
+
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/merb")
|
22
|
+
Webrat::Selenium::ApplicationServers::Merb.should_receive(:new).and_return(server)
|
23
|
+
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should require and create a rails server in rails mode" do
|
27
|
+
server = mock(Webrat::Selenium::ApplicationServers::Rails)
|
28
|
+
Webrat.configuration.application_framework = :rails
|
29
|
+
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/rails")
|
30
|
+
Webrat::Selenium::ApplicationServers::Rails.should_receive(:new).and_return(server)
|
31
|
+
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should require and create a rails server in external mode" do
|
35
|
+
server = mock(Webrat::Selenium::ApplicationServers::External)
|
36
|
+
Webrat.configuration.application_framework = :external
|
37
|
+
Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/external")
|
38
|
+
Webrat::Selenium::ApplicationServers::External.should_receive(:new).and_return(server)
|
39
|
+
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should handle unknown servers with an exception in unknown modes" do
|
43
|
+
Webrat.configuration.application_framework = :unknown
|
44
|
+
lambda {
|
45
|
+
Webrat::Selenium::ApplicationServerFactory.app_server_instance
|
46
|
+
}.should raise_error(Webrat::WebratError)
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
|
2
|
-
|
3
|
-
require "webrat/selenium/application_servers/base"
|
4
|
-
require "webrat/selenium/application_servers/external"
|
5
|
-
|
6
|
-
describe Webrat::Selenium::ApplicationServers::External do
|
7
|
-
|
8
|
-
it "should just boot up with no exceptions" do
|
9
|
-
Webrat::Selenium::ApplicationServers::External.new.boot
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
|
2
|
+
|
3
|
+
require "webrat/selenium/application_servers/base"
|
4
|
+
require "webrat/selenium/application_servers/external"
|
5
|
+
|
6
|
+
describe Webrat::Selenium::ApplicationServers::External do
|
7
|
+
|
8
|
+
it "should just boot up with no exceptions" do
|
9
|
+
Webrat::Selenium::ApplicationServers::External.new.boot
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -1,37 +1,37 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
-
|
3
|
-
require "webrat/selenium/silence_stream"
|
4
|
-
require "webrat/selenium/selenium_session"
|
5
|
-
|
6
|
-
describe Webrat::SeleniumSession do
|
7
|
-
|
8
|
-
before :each do
|
9
|
-
Webrat.configuration.mode = :selenium
|
10
|
-
@selenium = Webrat::SeleniumSession.new()
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should throw timeout instead of spec expectionnotmet error" do
|
14
|
-
lambda {
|
15
|
-
@selenium.wait_for(:timeout => 0.0001) do
|
16
|
-
raise ::Spec::Expectations::ExpectationNotMetError
|
17
|
-
end
|
18
|
-
}.should raise_error(Webrat::TimeoutError)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should throw timeout instead of selenium command error" do
|
22
|
-
lambda {
|
23
|
-
@selenium.wait_for(:timeout => 0.0001) do
|
24
|
-
raise ::Selenium::CommandError
|
25
|
-
end
|
26
|
-
}.should raise_error(Webrat::TimeoutError)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should throw timeout instead of webrat error" do
|
30
|
-
lambda {
|
31
|
-
@selenium.wait_for(:timeout => 0.0001) do
|
32
|
-
raise Webrat::WebratError.new
|
33
|
-
end
|
34
|
-
}.should raise_error(Webrat::TimeoutError)
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require "webrat/selenium/silence_stream"
|
4
|
+
require "webrat/selenium/selenium_session"
|
5
|
+
|
6
|
+
describe Webrat::SeleniumSession do
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
Webrat.configuration.mode = :selenium
|
10
|
+
@selenium = Webrat::SeleniumSession.new()
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should throw timeout instead of spec expectionnotmet error" do
|
14
|
+
lambda {
|
15
|
+
@selenium.wait_for(:timeout => 0.0001) do
|
16
|
+
raise ::Spec::Expectations::ExpectationNotMetError
|
17
|
+
end
|
18
|
+
}.should raise_error(Webrat::TimeoutError)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should throw timeout instead of selenium command error" do
|
22
|
+
lambda {
|
23
|
+
@selenium.wait_for(:timeout => 0.0001) do
|
24
|
+
raise ::Selenium::CommandError
|
25
|
+
end
|
26
|
+
}.should raise_error(Webrat::TimeoutError)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should throw timeout instead of webrat error" do
|
30
|
+
lambda {
|
31
|
+
@selenium.wait_for(:timeout => 0.0001) do
|
32
|
+
raise Webrat::WebratError.new
|
33
|
+
end
|
34
|
+
}.should raise_error(Webrat::TimeoutError)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
-
|
3
|
-
describe "set_hidden_field" do
|
4
|
-
it "needs specs"
|
5
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe "set_hidden_field" do
|
4
|
+
it "needs specs"
|
5
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
-
|
3
|
-
describe "submit_form" do
|
4
|
-
it "needs specs"
|
5
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe "submit_form" do
|
4
|
+
it "needs specs"
|
5
|
+
end
|
data/spec/public/visit_spec.rb
CHANGED
@@ -1,58 +1,58 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
-
|
3
|
-
describe "visit" do
|
4
|
-
before do
|
5
|
-
with_html <<-HTML
|
6
|
-
<html>
|
7
|
-
Hello world
|
8
|
-
</html>
|
9
|
-
HTML
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should use get" do
|
13
|
-
webrat_session.should_receive(:get).with("/", {})
|
14
|
-
visit("/")
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should assert valid response" do
|
18
|
-
webrat_session.response_code = 501
|
19
|
-
lambda { visit("/") }.should raise_error(Webrat::PageLoadError)
|
20
|
-
end
|
21
|
-
|
22
|
-
[200, 300, 400, 499].each do |status|
|
23
|
-
it "should consider the #{status} status code as success" do
|
24
|
-
webrat_session.stub!(:redirect? => false)
|
25
|
-
webrat_session.response_code = status
|
26
|
-
lambda { visit("/") }.should_not raise_error
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should require a visit before manipulating page" do
|
31
|
-
lambda { fill_in "foo", :with => "blah" }.should raise_error(Webrat::WebratError)
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should not follow external redirects" do
|
35
|
-
webrat_session.should_receive(:internal_redirect?).and_return(false)
|
36
|
-
|
37
|
-
visit("/oldurl")
|
38
|
-
|
39
|
-
current_url.should == "/oldurl"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "visit with referer" do
|
44
|
-
before do
|
45
|
-
webrat_session.instance_variable_set(:@current_url, "/old_url")
|
46
|
-
with_html <<-HTML
|
47
|
-
<html>
|
48
|
-
Hello world
|
49
|
-
</html>
|
50
|
-
HTML
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should use get with referer header" do
|
54
|
-
webrat_session.should_receive(:get).with("/", {}, {"HTTP_REFERER" => "/old_url"})
|
55
|
-
visit("/")
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
2
|
+
|
3
|
+
describe "visit" do
|
4
|
+
before do
|
5
|
+
with_html <<-HTML
|
6
|
+
<html>
|
7
|
+
Hello world
|
8
|
+
</html>
|
9
|
+
HTML
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should use get" do
|
13
|
+
webrat_session.should_receive(:get).with("/", {})
|
14
|
+
visit("/")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should assert valid response" do
|
18
|
+
webrat_session.response_code = 501
|
19
|
+
lambda { visit("/") }.should raise_error(Webrat::PageLoadError)
|
20
|
+
end
|
21
|
+
|
22
|
+
[200, 300, 400, 499].each do |status|
|
23
|
+
it "should consider the #{status} status code as success" do
|
24
|
+
webrat_session.stub!(:redirect? => false)
|
25
|
+
webrat_session.response_code = status
|
26
|
+
lambda { visit("/") }.should_not raise_error
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should require a visit before manipulating page" do
|
31
|
+
lambda { fill_in "foo", :with => "blah" }.should raise_error(Webrat::WebratError)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should not follow external redirects" do
|
35
|
+
webrat_session.should_receive(:internal_redirect?).and_return(false)
|
36
|
+
|
37
|
+
visit("/oldurl")
|
38
|
+
|
39
|
+
current_url.should == "/oldurl"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "visit with referer" do
|
44
|
+
before do
|
45
|
+
webrat_session.instance_variable_set(:@current_url, "/old_url")
|
46
|
+
with_html <<-HTML
|
47
|
+
<html>
|
48
|
+
Hello world
|
49
|
+
</html>
|
50
|
+
HTML
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should use get with referer header" do
|
54
|
+
webrat_session.should_receive(:get).with("/", {}, {"HTTP_REFERER" => "/old_url"})
|
55
|
+
visit("/")
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|