webrat 0.5.3 → 0.6.0
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/.gitignore +4 -1
- data/Gemfile +19 -0
- data/History.txt +29 -0
- data/Rakefile +27 -63
- data/Thorfile +117 -0
- data/lib/webrat.rb +11 -3
- data/lib/webrat/{mechanize.rb → adapters/mechanize.rb} +0 -0
- data/lib/webrat/adapters/merb.rb +11 -0
- data/lib/webrat/{rack.rb → adapters/rack.rb} +0 -0
- data/lib/webrat/{rails.rb → adapters/rails.rb} +2 -23
- data/lib/webrat/{sinatra.rb → adapters/sinatra.rb} +0 -2
- data/lib/webrat/core.rb +0 -1
- data/lib/webrat/core/configuration.rb +6 -16
- data/lib/webrat/core/elements/area.rb +2 -2
- data/lib/webrat/core/elements/element.rb +3 -3
- data/lib/webrat/core/elements/field.rb +106 -30
- data/lib/webrat/core/elements/form.rb +4 -4
- data/lib/webrat/core/elements/label.rb +4 -4
- data/lib/webrat/core/elements/link.rb +6 -6
- data/lib/webrat/core/elements/select_option.rb +15 -2
- data/lib/webrat/core/locators.rb +1 -1
- data/lib/webrat/core/locators/area_locator.rb +3 -3
- data/lib/webrat/core/locators/button_locator.rb +6 -6
- data/lib/webrat/core/locators/field_by_id_locator.rb +3 -3
- data/lib/webrat/core/locators/field_labeled_locator.rb +2 -2
- data/lib/webrat/core/locators/field_named_locator.rb +3 -3
- data/lib/webrat/core/locators/form_locator.rb +1 -1
- data/lib/webrat/core/locators/label_locator.rb +2 -2
- data/lib/webrat/core/locators/link_locator.rb +7 -7
- data/lib/webrat/core/locators/select_option_locator.rb +5 -5
- data/lib/webrat/core/logging.rb +4 -5
- data/lib/webrat/core/matchers/have_content.rb +2 -7
- data/lib/webrat/core/matchers/have_xpath.rb +3 -28
- data/lib/webrat/core/methods.rb +1 -0
- data/lib/webrat/core/scope.rb +17 -2
- data/lib/webrat/core/session.rb +2 -1
- data/lib/webrat/core/xml.rb +41 -84
- data/lib/webrat/integrations/merb.rb +10 -0
- data/lib/webrat/integrations/rails.rb +25 -0
- data/lib/webrat/integrations/rspec-rails.rb +11 -0
- data/lib/webrat/integrations/selenium.rb +11 -0
- data/lib/webrat/rspec-rails.rb +2 -10
- data/lib/webrat/selenium.rb +0 -10
- data/lib/webrat/selenium/application_servers.rb +1 -1
- data/lib/webrat/selenium/application_servers/external.rb +1 -1
- data/lib/webrat/selenium/location_strategy_javascript/label.js +29 -3
- data/lib/webrat/selenium/location_strategy_javascript/webrat.js +1 -0
- data/lib/webrat/selenium/location_strategy_javascript/webratlink.js +24 -4
- data/lib/webrat/selenium/selenium_rc_server.rb +2 -2
- data/lib/webrat/selenium/selenium_session.rb +21 -2
- data/lib/webrat/selenium/silence_stream.rb +1 -1
- data/spec/integration/mechanize/spec/spec_helper.rb +3 -1
- data/spec/integration/rails/app/controllers/{application.rb → application_controller.rb} +0 -0
- data/spec/integration/rails/app/controllers/webrat_controller.rb +3 -0
- data/spec/integration/rails/app/views/buttons/show.html.erb +0 -2
- data/spec/integration/rails/app/views/webrat/buttons.html.erb +0 -2
- data/spec/integration/rails/app/views/webrat/within.html.erb +3 -0
- data/spec/integration/rails/config/environment.rb +1 -1
- data/spec/integration/rails/config/routes.rb +1 -0
- data/spec/integration/rails/test/integration/button_click_test.rb +12 -26
- data/spec/integration/rails/test/integration/fill_in_test.rb +1 -1
- data/spec/integration/rails/test/integration/link_click_test.rb +1 -1
- data/spec/integration/rails/test/integration/webrat_test.rb +35 -9
- data/spec/integration/rails/test/test_helper.rb +1 -0
- data/spec/private/core/configuration_spec.rb +2 -31
- data/spec/private/core/field_spec.rb +14 -16
- data/spec/private/mechanize/mechanize_adapter_spec.rb +0 -2
- data/spec/private/nokogiri_spec.rb +2 -2
- data/spec/private/rails/rails_adapter_spec.rb +0 -27
- data/spec/public/basic_auth_spec.rb +13 -2
- data/spec/public/click_button_spec.rb +10 -12
- data/spec/public/click_link_spec.rb +21 -0
- data/spec/public/fill_in_spec.rb +15 -0
- data/spec/public/matchers/have_selector_spec.rb +4 -0
- data/spec/public/select_spec.rb +232 -26
- data/spec/spec_helper.rb +2 -0
- data/webrat.gemspec +305 -313
- metadata +21 -25
- data/VERSION +0 -1
- data/lib/webrat/core/xml/hpricot.rb +0 -19
- data/lib/webrat/core/xml/nokogiri.rb +0 -76
- data/lib/webrat/core/xml/rexml.rb +0 -24
- data/lib/webrat/merb_adapter.rb +0 -82
- data/lib/webrat/merb_multipart_support.rb +0 -27
- data/spec/private/core/logging_spec.rb +0 -10
- data/spec/private/merb/attaches_file_spec.rb +0 -93
- data/spec/private/merb/merb_adapter_spec.rb +0 -61
@@ -1,61 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
2
|
-
|
3
|
-
require "webrat/merb"
|
4
|
-
|
5
|
-
describe Webrat::MerbAdapter do
|
6
|
-
it "should not pass empty params if data is and empty hash" do
|
7
|
-
session = Webrat::MerbAdapter.new
|
8
|
-
response = OpenStruct.new
|
9
|
-
response.status = 200
|
10
|
-
session.should_receive(:request).with('url', {:params=> nil, :method=>"GET", :headers=>nil}).and_return(response)
|
11
|
-
session.get('url', {}, nil)
|
12
|
-
end
|
13
|
-
|
14
|
-
%w{post put delete}.each do |request_method|
|
15
|
-
it "should call do request with method #{request_method.upcase} for a #{request_method} call" do
|
16
|
-
session = Webrat::MerbAdapter.new
|
17
|
-
response = OpenStruct.new
|
18
|
-
response.status = 200
|
19
|
-
|
20
|
-
session.should_receive(:request).with('url', {:params=>nil, :method=>request_method.upcase, :headers=>nil}).and_return(response)
|
21
|
-
session.send(request_method, 'url', {}, nil)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
%w{post put}.each do |request_method|
|
26
|
-
it "should call do request with method #{request_method.upcase} with a file attachment" do
|
27
|
-
session = Webrat::MerbAdapter.new
|
28
|
-
response = OpenStruct.new
|
29
|
-
response.status = 200
|
30
|
-
|
31
|
-
file = File.new(__FILE__)
|
32
|
-
session.should_receive(:request).with { |path, env|
|
33
|
-
path.should == "url"
|
34
|
-
env[:method].should == request_method.upcase
|
35
|
-
env[:headers].should be_nil
|
36
|
-
env[:input].should be_an_instance_of(StringIO)
|
37
|
-
env["CONTENT_LENGTH"].should be_an_instance_of(Fixnum)
|
38
|
-
env["CONTENT_TYPE"].should match(/multipart.*boundary/)
|
39
|
-
}.and_return(response)
|
40
|
-
session.send(request_method, 'url', { :file => file }, nil)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
context "a session with a response" do
|
45
|
-
before do
|
46
|
-
@session = Webrat::MerbAdapter.new
|
47
|
-
@response = OpenStruct.new
|
48
|
-
@response.status = 200
|
49
|
-
@response.body = 'test response'
|
50
|
-
@session.instance_variable_set(:@response, @response)
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should return body of a request as a response_body" do
|
54
|
-
@session.response_body.should == @response.body
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should return status of a request as a response_code" do
|
58
|
-
@session.response_code.should == @response.status
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|