Merge branch 'master' of git://github.com/brynary/webrat
This commit is contained in:
commit
8bedf2235d
|
@ -12,3 +12,4 @@ log
|
|||
results
|
||||
test_apps
|
||||
*.tmproj
|
||||
webrat.log
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
== 0.4.5 / ?
|
||||
== brynary/master (in git)
|
||||
|
||||
* Major enhancements
|
||||
|
||||
* Improve performance (~2x) on JRuby by supporting Nokogiri
|
||||
|
||||
* Minor enhancements
|
||||
|
||||
* Added support for field_labeled_locators ending in non word characters
|
||||
lh 148 (Zach Dennis)
|
||||
* Filled in tests on click link lh 195 (diabolo)
|
||||
* Canonicalize all URLs (Shalon Wood)
|
||||
|
||||
== 0.4.4 / 2009-04-06
|
||||
|
||||
|
|
12
Rakefile
12
Rakefile
|
@ -106,7 +106,7 @@ end
|
|||
|
||||
namespace :spec do
|
||||
desc "Run the integration specs"
|
||||
task :integration => ["integration:rails", "integration:merb", "integration:sinatra"]
|
||||
task :integration => ["integration:rails", "integration:merb", "integration:sinatra", "integration:rack"]
|
||||
|
||||
namespace :integration do
|
||||
desc "Run the Rails integration specs"
|
||||
|
@ -140,7 +140,15 @@ namespace :spec do
|
|||
task :sinatra do
|
||||
Dir.chdir "spec/integration/sinatra" do
|
||||
result = system "rake test"
|
||||
raise "Sinatra tntegration tests failed" unless result
|
||||
raise "Sinatra integration tests failed" unless result
|
||||
end
|
||||
end
|
||||
|
||||
desc "Run the Sinatra integration specs"
|
||||
task :rack do
|
||||
Dir.chdir "spec/integration/rack" do
|
||||
result = system "rake test"
|
||||
raise "Rack integration tests failed" unless result
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,18 +10,15 @@ module Webrat
|
|||
VERSION = '0.4.4'
|
||||
|
||||
def self.require_xml
|
||||
gem "nokogiri", ">= 1.0.6"
|
||||
|
||||
if on_java?
|
||||
# We need Nokogiri's CSS to XPath support, even if using REXML and Hpricot for parsing and searching
|
||||
require "nokogiri/css"
|
||||
require "hpricot"
|
||||
require "rexml/document"
|
||||
gem "nokogiri", ">= 1.2.4"
|
||||
else
|
||||
gem "nokogiri", ">= 1.0.6"
|
||||
end
|
||||
|
||||
require "nokogiri"
|
||||
require "webrat/core/xml/nokogiri"
|
||||
end
|
||||
end
|
||||
|
||||
def self.on_java?
|
||||
RUBY_PLATFORM =~ /java/
|
||||
|
|
|
@ -60,7 +60,7 @@ module Webrat
|
|||
|
||||
def initialize # :nodoc:
|
||||
self.open_error_files = true
|
||||
self.parse_with_nokogiri = !Webrat.on_java?
|
||||
self.parse_with_nokogiri = true
|
||||
self.application_environment = :test
|
||||
self.application_port = 3001
|
||||
self.application_address = 'localhost'
|
||||
|
|
|
@ -8,7 +8,7 @@ module Webrat
|
|||
end
|
||||
|
||||
def click(method = nil, options = {})
|
||||
@session.request_page(absolute_href, :get, {})
|
||||
@session.request_page(href, :get, {})
|
||||
end
|
||||
|
||||
protected
|
||||
|
@ -16,16 +16,5 @@ module Webrat
|
|||
def href
|
||||
Webrat::XML.attribute(@element, "href")
|
||||
end
|
||||
|
||||
def absolute_href
|
||||
if href =~ /^\?/
|
||||
"#{@session.current_url}#{href}"
|
||||
elsif href !~ %r{^https?://[\w|.]+(/.*)} && (href !~ /^\//)
|
||||
"#{@session.current_url}/#{href}"
|
||||
else
|
||||
href
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,9 +16,9 @@ module Webrat
|
|||
options[:javascript] = true if options[:javascript].nil?
|
||||
|
||||
if options[:javascript]
|
||||
@session.request_page(absolute_href, method, data)
|
||||
@session.request_page(href, method, data)
|
||||
else
|
||||
@session.request_page(absolute_href, :get, {})
|
||||
@session.request_page(href, :get, {})
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -40,16 +40,6 @@ module Webrat
|
|||
Webrat::XML.attribute(@element, "href")
|
||||
end
|
||||
|
||||
def absolute_href
|
||||
if href =~ /^\?/
|
||||
"#{@session.current_url}#{href}"
|
||||
elsif href !~ %r{^https?://} && (href !~ /^\//)
|
||||
"#{@session.current_url}/#{href}"
|
||||
else
|
||||
href
|
||||
end
|
||||
end
|
||||
|
||||
def authenticity_token
|
||||
return unless onclick && onclick.include?("s.setAttribute('name', 'authenticity_token');") &&
|
||||
onclick =~ /s\.setAttribute\('value', '([a-f0-9]{40})'\);/
|
||||
|
|
|
@ -13,7 +13,10 @@ module Webrat
|
|||
when :merb
|
||||
Merb.logger
|
||||
else
|
||||
nil
|
||||
@logger ||= begin
|
||||
require "logger"
|
||||
::Logger.new("webrat.log")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -16,8 +16,12 @@ module Webrat
|
|||
end
|
||||
|
||||
def webrat_session
|
||||
if Webrat.configuration.mode == :rack_test
|
||||
@_webrat_session ||= ::Webrat::RackTestSession.new(rack_test_session)
|
||||
else
|
||||
@_webrat_session ||= ::Webrat.session_class.new(self)
|
||||
end
|
||||
end
|
||||
|
||||
# all of these methods delegate to the @session, which should
|
||||
# be created transparently.
|
||||
|
|
|
@ -209,8 +209,8 @@ module Webrat
|
|||
# along with the form. An optional <tt>content_type</tt> may be given.
|
||||
#
|
||||
# Example:
|
||||
# attaches_file "Resume", "/path/to/the/resume.txt"
|
||||
# attaches_file "Photo", "/path/to/the/image.png", "image/png"
|
||||
# attach_file "Resume", "/path/to/the/resume.txt"
|
||||
# attach_file "Photo", "/path/to/the/image.png", "image/png"
|
||||
def attach_file(field_locator, path, content_type = nil)
|
||||
locate_field(field_locator, FileField).set(path, content_type)
|
||||
end
|
||||
|
|
|
@ -26,6 +26,8 @@ module Webrat
|
|||
SinatraSession
|
||||
when :mechanize
|
||||
MechanizeSession
|
||||
when :rack_test
|
||||
RackTestSession
|
||||
else
|
||||
raise WebratError.new(<<-STR)
|
||||
Unknown Webrat mode: #{Webrat.configuration.mode.inspect}
|
||||
|
@ -95,16 +97,35 @@ For example:
|
|||
@default_headers.dup.merge(@custom_headers.dup)
|
||||
end
|
||||
|
||||
def canonicalize_url(href_url)
|
||||
@current_url ||= "http://www.example.com/" # @current_url can't be blank, or things break
|
||||
# Case one: relative url
|
||||
if href_url !~ %r{^https?://} && (href_url !~ /^\//)
|
||||
# If the relative url starts with # or ?, we need append it as is _if_ there are three slashes in the current url;
|
||||
# otherwise, ensure there's a slash between it and the current
|
||||
# url
|
||||
if (href_url =~ /^\?/ or href_url =~ /^#/) && current_url.scan('/').length > 2
|
||||
"#{current_url}#{href_url}"
|
||||
else
|
||||
"#{current_url.chomp('/')}/#{href_url}"
|
||||
end
|
||||
# Case two: absolute url without host
|
||||
elsif href_url =~ /^\//
|
||||
"http://#{current_host}#{href_url}"
|
||||
# Case three: absolute url with scheme and host.
|
||||
else
|
||||
href_url
|
||||
end
|
||||
end
|
||||
|
||||
def request_page(url, http_method, data) #:nodoc:
|
||||
h = headers
|
||||
h['HTTP_REFERER'] = @current_url if @current_url
|
||||
|
||||
url = canonicalize_url(url)
|
||||
debug_log "REQUESTING PAGE: #{http_method.to_s.upcase} #{url} with #{data.inspect} and HTTP headers #{h.inspect}"
|
||||
if h.empty?
|
||||
send "#{http_method}", url, data || {}
|
||||
else
|
||||
send "#{http_method}", url, data || {}, h
|
||||
end
|
||||
|
||||
process_request(http_method, url, data, h)
|
||||
|
||||
save_and_open_page if exception_caught? && Webrat.configuration.open_error_files?
|
||||
raise PageLoadError.new("Page load was not successful (Code: #{response_code.inspect}):\n#{formatted_error}") unless success_code?
|
||||
|
@ -259,8 +280,16 @@ For example:
|
|||
|
||||
private
|
||||
|
||||
def process_request(http_method, url, data, headers)
|
||||
if headers.empty?
|
||||
send "#{http_method}", url, data || {}
|
||||
else
|
||||
send "#{http_method}", url, data || {}, headers
|
||||
end
|
||||
end
|
||||
|
||||
def response_location
|
||||
response.headers["Location"]
|
||||
canonicalize_url(response.headers["Location"])
|
||||
end
|
||||
|
||||
def current_host
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
module Webrat
|
||||
class RackTestSession < Session
|
||||
|
||||
def initialize(rack_test_session) #:nodoc:
|
||||
super()
|
||||
@rack_test_session = rack_test_session
|
||||
end
|
||||
|
||||
def response_body
|
||||
response.body
|
||||
end
|
||||
|
||||
def response_code
|
||||
response.status
|
||||
end
|
||||
|
||||
def response
|
||||
@rack_test_session.last_response
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def process_request(http_method, url, data = {}, headers = {})
|
||||
headers ||= {}
|
||||
data ||= {}
|
||||
|
||||
env = headers.merge(:params => data, :method => http_method.to_s.upcase)
|
||||
@rack_test_session.request(url, env)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
|
@ -0,0 +1,5 @@
|
|||
require "rake/testtask"
|
||||
|
||||
Rake::TestTask.new do |t|
|
||||
t.test_files = FileList["test/*_test.rb"]
|
||||
end
|
|
@ -0,0 +1,16 @@
|
|||
require "rubygems"
|
||||
require "sinatra/base"
|
||||
|
||||
class RackApp < Sinatra::Default
|
||||
get "/" do
|
||||
"Hello World"
|
||||
end
|
||||
|
||||
get "/redirect_absolute_url" do
|
||||
redirect URI.join(request.url, "foo").to_s
|
||||
end
|
||||
|
||||
get "/foo" do
|
||||
"spam"
|
||||
end
|
||||
end
|
|
@ -0,0 +1,20 @@
|
|||
require "rubygems"
|
||||
require "test/unit"
|
||||
require "rack/test"
|
||||
require "redgreen"
|
||||
|
||||
require File.dirname(__FILE__) + "/../../../../lib/webrat"
|
||||
|
||||
Webrat.configure do |config|
|
||||
config.mode = :rack_test
|
||||
end
|
||||
|
||||
class Test::Unit::TestCase
|
||||
include Rack::Test::Methods
|
||||
include Webrat::Methods
|
||||
include Webrat::Matchers
|
||||
|
||||
def app
|
||||
RackApp.new
|
||||
end
|
||||
end
|
|
@ -0,0 +1,67 @@
|
|||
require File.dirname(__FILE__) + "/test_helper"
|
||||
require File.dirname(__FILE__) + "/../rack_app"
|
||||
|
||||
class WebratRackTest < Test::Unit::TestCase
|
||||
def test_visit_returns_response
|
||||
response = visit "/"
|
||||
assert response.ok?
|
||||
end
|
||||
|
||||
def test_last_response_is_available
|
||||
visit "/"
|
||||
assert last_response.ok?
|
||||
end
|
||||
|
||||
def test_last_request_is_available
|
||||
visit "/"
|
||||
assert_equal "/", last_request.env["PATH_INFO"]
|
||||
end
|
||||
|
||||
def test_redirects
|
||||
visit "/redirect_absolute_url"
|
||||
assert_equal "spam", response_body
|
||||
end
|
||||
|
||||
def test_assertions_after_visit
|
||||
visit "/"
|
||||
assert_contain "Hello World"
|
||||
end
|
||||
|
||||
def test_assertions_after_visit
|
||||
get "/"
|
||||
assert_contain "Hello World"
|
||||
end
|
||||
|
||||
# def test_visits_pages
|
||||
# visit "/"
|
||||
# assert response_body.include?("visit")
|
||||
#
|
||||
# click_link "there"
|
||||
# assert response_body.include?('<form method="post" action="/go">')
|
||||
# end
|
||||
#
|
||||
# def test_submits_form
|
||||
# visit "/go"
|
||||
# fill_in "Name", :with => "World"
|
||||
# fill_in "Email", :with => "world@example.org"
|
||||
# click_button "Submit"
|
||||
#
|
||||
# assert response_body.include?("Hello, World")
|
||||
# assert response_body.include?("Your email is: world@example.org")
|
||||
# end
|
||||
#
|
||||
# def test_check_value_of_field
|
||||
# visit "/"
|
||||
# assert field_labeled("Prefilled").value, "text"
|
||||
# end
|
||||
#
|
||||
# def test_follows_internal_redirects
|
||||
# visit "/internal_redirect"
|
||||
# assert response_body.include?("visit")
|
||||
# end
|
||||
#
|
||||
# def test_does_not_follow_external_redirects
|
||||
# visit "/external_redirect"
|
||||
# assert response_code == 302
|
||||
# end
|
||||
end
|
|
@ -16,13 +16,13 @@ namespace :test_unit do
|
|||
desc "runs the test::unit based tests in webrat mode"
|
||||
task :rails do
|
||||
ENV['WEBRAT_INTEGRATION_MODE'] = 'rails'
|
||||
Rake::Task['test:integration'].execute
|
||||
Rake::Task['test:integration'].execute nil
|
||||
end
|
||||
|
||||
desc "runs the test::unit based tests in selenium mode"
|
||||
task :selenium do
|
||||
ENV['WEBRAT_INTEGRATION_MODE'] = 'selenium'
|
||||
Rake::Task['test:integration'].execute
|
||||
Rake::Task['test:integration'].execute nil
|
||||
end
|
||||
|
||||
desc "run both selenium and rails mode Test::Unit suites"
|
||||
|
|
|
@ -9,17 +9,10 @@ describe Webrat::Configuration do
|
|||
end
|
||||
|
||||
it "should use Nokogiri as the parser by default" do
|
||||
Webrat.stub!(:on_java? => false)
|
||||
config = Webrat::Configuration.new
|
||||
config.should parse_with_nokogiri
|
||||
end
|
||||
|
||||
it "should not use Nokogiri as the parser when on JRuby" do
|
||||
Webrat.stub!(:on_java? => true)
|
||||
config = Webrat::Configuration.new
|
||||
config.should_not parse_with_nokogiri
|
||||
end
|
||||
|
||||
it "should open error files by default" do
|
||||
config = Webrat::Configuration.new
|
||||
config.should open_error_files
|
||||
|
|
|
@ -2,6 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|||
|
||||
module Webrat
|
||||
describe Field do
|
||||
unless Webrat.on_java?
|
||||
it "should have nice inspect output" do
|
||||
html = <<-HTML
|
||||
<html>
|
||||
|
@ -14,6 +15,7 @@ module Webrat
|
|||
checkbox.inspect.should =~ /#<Webrat::CheckboxField @element=<input type=['"]checkbox['"] checked(=['"]checked['"])?\/?>>/
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe CheckboxField do
|
||||
it "should say it is checked if it is" do
|
||||
|
|
|
@ -118,7 +118,7 @@ describe Webrat::Session do
|
|||
|
||||
webrat_session.request_page("/oldurl", :get, {})
|
||||
|
||||
webrat_session.current_url.should == "/oldurl"
|
||||
webrat_session.current_url.should == "http://www.example.com/oldurl"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -195,4 +195,73 @@ describe Webrat::Session do
|
|||
|
||||
end
|
||||
|
||||
describe "#canonicalize_url"do
|
||||
|
||||
it "should turn 'http://www.example.com/' into 'http://www.example.com/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com")
|
||||
webrat_session.canonicalize_url("http://www.example.com/").should == "http://www.example.com/"
|
||||
end
|
||||
|
||||
it "should turn '/login' into 'http://www.example.com/login' if current_url is 'http://www.example.com/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/")
|
||||
webrat_session.canonicalize_url("/login").should == "http://www.example.com/login"
|
||||
end
|
||||
|
||||
it "should turn '/login' into 'http://www.example.com/login' if current_url is 'http://www.example.com'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com")
|
||||
webrat_session.canonicalize_url("/login").should == "http://www.example.com/login"
|
||||
end
|
||||
|
||||
it "should turn 'login' into 'http://www.example.com/login' if current_url is 'http://www.example.com'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com")
|
||||
webrat_session.canonicalize_url("login").should == "http://www.example.com/login"
|
||||
end
|
||||
|
||||
it "should turn 'login' into 'http://www.example.com/login' if current_url is 'http://www.example.com/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/")
|
||||
webrat_session.canonicalize_url("login").should == "http://www.example.com/login"
|
||||
end
|
||||
|
||||
it "should turn '?login' into 'http://www.example.com/?login' if current_url is 'http://www.example.com'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com")
|
||||
webrat_session.canonicalize_url("?login").should == "http://www.example.com/?login"
|
||||
end
|
||||
|
||||
it "should turn '?login' into 'http://www.example.com/?login' if current_url is 'http://www.example.com/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/")
|
||||
webrat_session.canonicalize_url("?login").should == "http://www.example.com/?login"
|
||||
end
|
||||
|
||||
it "should turn '?login' into 'http://www.example.com/page?login' if current_url is 'http://www.example.com/page'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
webrat_session.canonicalize_url("?login").should == "http://www.example.com/page?login"
|
||||
end
|
||||
|
||||
it "should turn '?login' into 'http://www.example.com/page/?login' if current_url is 'http://www.example.com/page/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page/")
|
||||
webrat_session.canonicalize_url("?login").should == "http://www.example.com/page/?login"
|
||||
end
|
||||
|
||||
it "should turn '#anchor' into 'http://www.example.com/#anchor' if current_url is 'http://www.example.com'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com")
|
||||
webrat_session.canonicalize_url("#anchor").should == "http://www.example.com/#anchor"
|
||||
end
|
||||
|
||||
it "should turn '#anchor' into 'http://www.example.com/#anchor' if current_url is 'http://www.example.com/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/")
|
||||
webrat_session.canonicalize_url("#anchor").should == "http://www.example.com/#anchor"
|
||||
end
|
||||
|
||||
it "should turn '#anchor' into 'http://www.example.com/page#anchor' if current_url is 'http://www.example.com/page'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
webrat_session.canonicalize_url("#anchor").should == "http://www.example.com/page#anchor"
|
||||
end
|
||||
|
||||
it "should turn '#anchor' into 'http://www.example.com/page/#anchor' if current_url is 'http://www.example.com/page/'" do
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page/")
|
||||
webrat_session.canonicalize_url("#anchor").should == "http://www.example.com/page/#anchor"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -27,7 +27,7 @@ describe "attach_file" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/widgets", { "widget" => { "file" => "" } })
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/widgets", { "widget" => { "file" => "" } })
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -41,7 +41,7 @@ describe "attach_file" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/widgets", { "widget" => { "file" => @uploaded_file } })
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/widgets", { "widget" => { "file" => @uploaded_file } })
|
||||
attach_file "Document", @filename
|
||||
click_button
|
||||
end
|
||||
|
@ -58,7 +58,7 @@ describe "attach_file" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/widgets", { "widget" => { "files" => [@uploaded_file, @uploaded_file] } })
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/widgets", { "widget" => { "files" => [@uploaded_file, @uploaded_file] } })
|
||||
attach_file "Document", @filename
|
||||
attach_file "Spreadsheet", @filename
|
||||
click_button
|
||||
|
|
|
@ -96,7 +96,8 @@ describe Webrat::RailsSession do
|
|||
|
||||
response = mock("response", :body => body, :headers => {}, :code => 200)
|
||||
@integration_session.stub!(:response => response)
|
||||
@integration_session.should_receive(:get).with("/page2", {}, nil)
|
||||
@integration_session.stub!(:https!)
|
||||
@integration_session.should_receive(:get).with("http://www.example.com/page2", {}, nil)
|
||||
|
||||
rails_session = Webrat::RailsSession.new(@integration_session)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ describe "Basic Auth HTTP headers" do
|
|||
end
|
||||
|
||||
it "should be present in visit" do
|
||||
webrat_session.should_receive(:get).with("/", {}, {'HTTP_AUTHORIZATION' => "Basic dXNlcjpzZWNyZXQ=\n"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/", {}, {'HTTP_AUTHORIZATION' => "Basic dXNlcjpzZWNyZXQ=\n"})
|
||||
visit("/")
|
||||
end
|
||||
|
||||
|
@ -18,7 +18,7 @@ describe "Basic Auth HTTP headers" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/form1", {}, {'HTTP_AUTHORIZATION' => "Basic dXNlcjpzZWNyZXQ=\n"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/form1", {}, {'HTTP_AUTHORIZATION' => "Basic dXNlcjpzZWNyZXQ=\n"})
|
||||
click_button
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,7 +36,7 @@ describe "check" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "1"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "1"})
|
||||
check "TOS"
|
||||
click_button
|
||||
end
|
||||
|
@ -51,7 +51,7 @@ describe "check" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:post).with("/login", "remember_me" => "on")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "remember_me" => "on")
|
||||
check "remember_me"
|
||||
click_button
|
||||
end
|
||||
|
@ -79,7 +79,7 @@ describe "check" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:post).with("/login", "remember_me" => "yes")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "remember_me" => "yes")
|
||||
check "remember_me"
|
||||
click_button
|
||||
end
|
||||
|
@ -132,7 +132,7 @@ describe "uncheck" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "0"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "0"})
|
||||
check "TOS"
|
||||
uncheck "TOS"
|
||||
click_button
|
||||
|
@ -147,7 +147,7 @@ describe "uncheck" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", {})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", {})
|
||||
uncheck "remember_me"
|
||||
click_button
|
||||
end
|
||||
|
@ -164,7 +164,7 @@ describe "uncheck" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", {"options" => ["1", "2"]})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", {"options" => ["1", "2"]})
|
||||
check 'Option 1'
|
||||
check 'Option 2'
|
||||
click_button
|
||||
|
@ -183,7 +183,7 @@ describe "uncheck" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "0"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "0"})
|
||||
uncheck "TOS"
|
||||
click_button
|
||||
end
|
||||
|
|
|
@ -36,7 +36,7 @@ describe "choose" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"gender" => "M"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"gender" => "M"})
|
||||
choose "Male"
|
||||
click_button
|
||||
end
|
||||
|
@ -53,7 +53,7 @@ describe "choose" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"gender" => "M"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"gender" => "M"})
|
||||
choose "Female"
|
||||
choose "Male"
|
||||
click_button
|
||||
|
@ -81,7 +81,7 @@ describe "choose" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "first_option" => "on")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "first_option" => "on")
|
||||
choose "first_option"
|
||||
click_button
|
||||
end
|
||||
|
@ -95,7 +95,7 @@ describe "choose" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "first_option" => "on")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "first_option" => "on")
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -111,7 +111,7 @@ describe "choose" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"gender" => "M"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"gender" => "M"})
|
||||
choose "Male"
|
||||
click_button
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@ describe "click_area" do
|
|||
</map>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_area "Berlin"
|
||||
end
|
||||
|
||||
|
@ -62,13 +62,13 @@ describe "click_area" do
|
|||
</map>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_area "berlin"
|
||||
end
|
||||
|
||||
|
||||
it "should follow relative links" do
|
||||
webrat_session.stub!(:current_url => "/page")
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<map name="map_de" id="map_de">
|
||||
|
@ -76,7 +76,7 @@ describe "click_area" do
|
|||
</map>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page/sub", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page/sub", {})
|
||||
click_area "Berlin"
|
||||
end
|
||||
|
||||
|
@ -100,7 +100,7 @@ describe "click_area" do
|
|||
</map>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page?foo=bar", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page?foo=bar", {})
|
||||
click_area "Berlin"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -86,7 +86,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/form1", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form1", {})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -113,7 +113,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/form2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", {})
|
||||
click_button "Form2"
|
||||
end
|
||||
|
||||
|
@ -125,7 +125,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", {})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -150,7 +150,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "login" => "Login")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "login" => "Login")
|
||||
click_button("Login")
|
||||
end
|
||||
|
||||
|
@ -163,7 +163,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", {})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", {})
|
||||
click_button("Login")
|
||||
end
|
||||
|
||||
|
@ -176,7 +176,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"password" => "mypass"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"password" => "mypass"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -189,7 +189,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"email" => "test@example.com"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"email" => "test@example.com"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -202,7 +202,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"email" => "test@example.com"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"email" => "test@example.com"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -219,7 +219,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", {})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -232,7 +232,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "1"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "1"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -248,7 +248,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"gender" => "F"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"gender" => "F"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -262,7 +262,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "0"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "0"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -276,7 +276,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"tos" => "1"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"tos" => "1"})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -298,7 +298,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login",
|
||||
"options" => ["burger", "fries", "soda", "soda", "dessert"],
|
||||
"response" => { "choices" => [{"selected" => "one"}, {"selected" => "two"}, {"selected" => "two"}]})
|
||||
click_button
|
||||
|
@ -313,7 +313,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", {})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -326,12 +326,12 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/posts", "post" => {"body" => "Post body here!"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/posts", "post" => {"body" => "Post body here!"})
|
||||
click_button
|
||||
end
|
||||
|
||||
it "should properly handle HTML entities in textarea default values" do
|
||||
spec = lambda do
|
||||
pending "needs bug fix" do
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<form method="post" action="/posts">
|
||||
|
@ -340,15 +340,9 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/posts", "post" => {"body" => "Peanut butter & jelly"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/posts", "post" => {"body" => "Peanut butter & jelly"})
|
||||
click_button
|
||||
end
|
||||
|
||||
if Webrat.on_java?
|
||||
spec.call
|
||||
else
|
||||
pending("needs bug fix", &spec)
|
||||
end
|
||||
end
|
||||
|
||||
it "should send default selected option value from select" do
|
||||
|
@ -363,7 +357,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "month" => "2")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "month" => "2")
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -379,7 +373,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "month" => "February")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "month" => "February")
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -395,7 +389,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "month" => "1")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "month" => "1")
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -409,7 +403,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "contestant" => {"scores" => {'1' => '2', '3' => '4'}})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "contestant" => {"scores" => {'1' => '2', '3' => '4'}})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -422,7 +416,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"email" => ""})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"email" => ""})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -435,7 +429,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"email" => ""})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"email" => ""})
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -496,7 +490,7 @@ describe "click_button" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/login", "user" => {"email" => ""})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/login", "user" => {"email" => ""})
|
||||
click_button "Login"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@ describe "click_link" do
|
|||
<a href="/page">Save & go back</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "Save & go back"
|
||||
end
|
||||
|
||||
|
@ -17,7 +17,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "Link text"
|
||||
end
|
||||
|
||||
|
@ -27,7 +27,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "Link text", :method => :get
|
||||
end
|
||||
|
||||
|
@ -37,7 +37,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "ink tex", :method => :get
|
||||
end
|
||||
|
||||
|
@ -47,7 +47,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:delete).with("/page", {})
|
||||
webrat_session.should_receive(:delete).with("http://www.example.com/page", {})
|
||||
click_link "Link text", :method => :delete
|
||||
end
|
||||
|
||||
|
@ -58,7 +58,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/page", {})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/page", {})
|
||||
click_link "Link text", :method => :post
|
||||
end
|
||||
|
||||
|
@ -68,7 +68,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:put).with("/page", {})
|
||||
webrat_session.should_receive(:put).with("http://www.example.com/page", {})
|
||||
click_link "Link text", :method => :put
|
||||
end
|
||||
|
||||
|
@ -78,7 +78,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link /link [a-z]/i
|
||||
end
|
||||
|
||||
|
@ -88,7 +88,7 @@ describe "click_link" do
|
|||
<a id="link_text_link" href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "link_text_link"
|
||||
end
|
||||
|
||||
|
@ -98,7 +98,7 @@ describe "click_link" do
|
|||
<a id="link_text_link" href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link /_text_/
|
||||
end
|
||||
|
||||
|
@ -108,7 +108,7 @@ describe "click_link" do
|
|||
<a title="piddle" href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link 'piddle'
|
||||
end
|
||||
|
||||
|
@ -118,7 +118,7 @@ describe "click_link" do
|
|||
<a title="piddlediddle" href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link /iddle/
|
||||
end
|
||||
|
||||
|
@ -140,7 +140,7 @@ describe "click_link" do
|
|||
return false;">Posts</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/posts", "authenticity_token" => "aa79cb354597a60a3786e7e291ed4f74d77d3a62")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/posts", "authenticity_token" => "aa79cb354597a60a3786e7e291ed4f74d77d3a62")
|
||||
click_link "Posts"
|
||||
end
|
||||
|
||||
|
@ -161,7 +161,7 @@ describe "click_link" do
|
|||
return false;">Delete</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:delete).with("/posts/1", {})
|
||||
webrat_session.should_receive(:delete).with("http://www.example.com/posts/1", {})
|
||||
click_link "Delete"
|
||||
end
|
||||
|
||||
|
@ -177,7 +177,7 @@ describe "click_link" do
|
|||
return false;">Posts</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/posts", {})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/posts", {})
|
||||
click_link "Posts"
|
||||
end
|
||||
|
||||
|
@ -193,7 +193,7 @@ describe "click_link" do
|
|||
return false;">Posts</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/posts", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/posts", {})
|
||||
click_link "Posts", :javascript => false
|
||||
end
|
||||
|
||||
|
@ -214,7 +214,7 @@ describe "click_link" do
|
|||
return false;">Post</a></h2>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/posts", {})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/posts", {})
|
||||
click_link "Post"
|
||||
end
|
||||
|
||||
|
@ -235,7 +235,7 @@ describe "click_link" do
|
|||
return false;">Put</a></h2>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:put).with("/posts", {})
|
||||
webrat_session.should_receive(:put).with("http://www.example.com/posts", {})
|
||||
click_link "Put"
|
||||
end
|
||||
|
||||
|
@ -302,7 +302,7 @@ describe "click_link" do
|
|||
<a href="/page">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "LINK TEXT"
|
||||
end
|
||||
|
||||
|
@ -312,7 +312,7 @@ describe "click_link" do
|
|||
<a href="/page">This is some cool link text, isn't it?</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "Link text"
|
||||
end
|
||||
|
||||
|
@ -322,7 +322,7 @@ describe "click_link" do
|
|||
<a href="/page"><span>Link text</span></a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page", {})
|
||||
click_link "Link text"
|
||||
end
|
||||
|
||||
|
@ -333,7 +333,7 @@ describe "click_link" do
|
|||
<a href="/page2">Link text</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page1", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page1", {})
|
||||
click_link "Link text"
|
||||
end
|
||||
|
||||
|
@ -345,7 +345,7 @@ describe "click_link" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page2", {})
|
||||
click_link "Link"
|
||||
end
|
||||
|
||||
|
@ -356,7 +356,7 @@ describe "click_link" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page1", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page1", {})
|
||||
click_link "This is a link"
|
||||
end
|
||||
|
||||
|
@ -369,7 +369,7 @@ describe "click_link" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page2", {})
|
||||
click_link "Location"
|
||||
end
|
||||
end
|
||||
|
@ -384,7 +384,7 @@ describe "click_link" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page2", {})
|
||||
click_link_within "#container", "Link"
|
||||
end
|
||||
|
||||
|
@ -400,18 +400,18 @@ describe "click_link" do
|
|||
end
|
||||
|
||||
it "should follow relative links" do
|
||||
webrat_session.stub!(:current_url => "/page")
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<a href="sub">Jump to sub page</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page/sub", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page/sub", {})
|
||||
click_link "Jump to sub page"
|
||||
end
|
||||
|
||||
it "should follow fully qualified local links" do
|
||||
webrat_session.stub!(:current_url => "/page")
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<a href="http://subdomain.example.com/page/sub">Jump to sub page</a>
|
||||
|
@ -432,13 +432,13 @@ describe "click_link" do
|
|||
end
|
||||
|
||||
it "should follow query parameters" do
|
||||
webrat_session.stub!(:current_url => "/page")
|
||||
webrat_session.stub!(:current_url => "http://www.example.com/page")
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<a href="?foo=bar">Jump to foo bar</a>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:get).with("/page?foo=bar", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page?foo=bar", {})
|
||||
click_link "Jump to foo bar"
|
||||
end
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"text" => "filling text area"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"text" => "filling text area"})
|
||||
fill_in "User Text", :with => "filling text area"
|
||||
click_button
|
||||
end
|
||||
|
@ -25,7 +25,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"text" => "pass"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"text" => "pass"})
|
||||
fill_in "user_text", :with => "pass"
|
||||
click_button
|
||||
end
|
||||
|
@ -65,7 +65,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"email" => "foo@example.com"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"email" => "foo@example.com"})
|
||||
fill_in "user[email]", :with => "foo@example.com"
|
||||
click_button
|
||||
end
|
||||
|
@ -83,7 +83,7 @@ describe "fill_in" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"mail1" => "", "mail2" => "value"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"mail1" => "", "mail2" => "value"})
|
||||
fill_in "Some", :with => "value"
|
||||
click_button
|
||||
end
|
||||
|
@ -101,7 +101,7 @@ describe "fill_in" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"mail1" => "value", "mail2" => ""})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"mail1" => "value", "mail2" => ""})
|
||||
fill_in "Some mail", :with => "value"
|
||||
click_button
|
||||
end
|
||||
|
@ -144,7 +144,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"email" => "foo@example.com"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"email" => "foo@example.com"})
|
||||
fill_in "Email", :with => "foo@example.com"
|
||||
click_button
|
||||
end
|
||||
|
@ -158,7 +158,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"email" => "foo@example.com"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"email" => "foo@example.com"})
|
||||
fill_in "user[email]", :with => "foo@example.com"
|
||||
click_button
|
||||
end
|
||||
|
@ -172,7 +172,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"email" => "foo@example.com"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"email" => "foo@example.com"})
|
||||
fill_in "user[email]", :with => "foo@example.com"
|
||||
click_button
|
||||
end
|
||||
|
@ -187,7 +187,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "user" => {"email" => "foo@example.com"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "user" => {"email" => "foo@example.com"})
|
||||
fill_in :email, :with => "foo@example.com"
|
||||
click_button
|
||||
end
|
||||
|
@ -202,7 +202,7 @@ describe "fill_in" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/users", "user" => {"phone" => "+1 22 33"})
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/users", "user" => {"phone" => "+1 22 33"})
|
||||
fill_in 'Phone', :with => "+1 22 33"
|
||||
click_button
|
||||
end
|
||||
|
|
|
@ -2,9 +2,9 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|||
|
||||
describe "reloads" do
|
||||
it "should reload the page with http referer" do
|
||||
webrat_session.should_receive(:get).with("/", {})
|
||||
webrat_session.should_receive(:get).with("/", {}, {"HTTP_REFERER"=>"/"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/", {})
|
||||
visit("/")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/", {}, {"HTTP_REFERER"=>"http://www.example.com/"})
|
||||
reload
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,7 +19,7 @@ describe "select_date" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"date(1i)" => '2003', "date(2i)" => "12", "date(3i)" => "25"})
|
||||
select_date "December 25, 2003", :from => "Date"
|
||||
click_button
|
||||
|
@ -43,7 +43,7 @@ describe "select_date" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"date(1i)" => '2003', "date(2i)" => "12", "date(3i)" => "25"})
|
||||
select_date Date.parse("December 25, 2003"), :from => "date"
|
||||
click_button
|
||||
|
@ -66,7 +66,7 @@ describe "select_date" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"date(1i)" => '2003', "date(2i)" => "12", "date(3i)" => "25"})
|
||||
select_date "December 25, 2003"
|
||||
click_button
|
||||
|
@ -90,7 +90,7 @@ describe "select_date" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"date(1i)" => '2003', "date(2i)" => "12", "date(3i)" => "25"})
|
||||
select_date Date.parse("December 25, 2003"), :from => "date ?"
|
||||
click_button
|
||||
|
|
|
@ -25,7 +25,7 @@ describe "select_datetime" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(1i)" => '2003', "time(2i)" => "12", "time(3i)" => "25", "time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_datetime "December 25, 2003 9:30", :from => "Time"
|
||||
click_button
|
||||
|
@ -55,7 +55,7 @@ describe "select_datetime" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(1i)" => '2003', "time(2i)" => "12", "time(3i)" => "25", "time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_datetime Time.parse("December 25, 2003 9:30"), :from => "Time"
|
||||
click_button
|
||||
|
@ -85,7 +85,7 @@ describe "select_datetime" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(1i)" => '2003', "time(2i)" => "12", "time(3i)" => "25", "time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_datetime "December 25, 2003 9:30", :from => "Time ?"
|
||||
click_button
|
||||
|
@ -115,7 +115,7 @@ describe "select_datetime" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(1i)" => '2003', "time(2i)" => "12", "time(3i)" => "25", "time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_datetime "December 25, 2003 9:30"
|
||||
click_button
|
||||
|
|
|
@ -62,7 +62,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "month" => "1")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "month" => "1")
|
||||
select "January", :from => "month"
|
||||
click_button
|
||||
end
|
||||
|
@ -76,7 +76,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "encoded" => "A & B")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "encoded" => "A & B")
|
||||
select "Encoded", :from => "encoded"
|
||||
click_button
|
||||
end
|
||||
|
@ -90,7 +90,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", 'month' => '')
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", 'month' => '')
|
||||
click_button
|
||||
end
|
||||
|
||||
|
@ -103,7 +103,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "month" => "1")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "month" => "1")
|
||||
select "January"
|
||||
click_button
|
||||
end
|
||||
|
@ -118,7 +118,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "start_month" => "s1", "end_month" => "e1")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "start_month" => "s1", "end_month" => "e1")
|
||||
select "January", :from => "end_month"
|
||||
click_button
|
||||
end
|
||||
|
@ -135,7 +135,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "start_month" => "s1", "end_month" => "e1")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "start_month" => "s1", "end_month" => "e1")
|
||||
select "January", :from => "End Month"
|
||||
click_button
|
||||
end
|
||||
|
@ -149,7 +149,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "month" => "January")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "month" => "January")
|
||||
select "January", :from => "month"
|
||||
click_button
|
||||
end
|
||||
|
@ -163,7 +163,7 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "month" => "January")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "month" => "January")
|
||||
select /jan/i
|
||||
click_button
|
||||
end
|
||||
|
@ -195,13 +195,13 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "start_month" => "s1", "end_month" => "e1")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "start_month" => "s1", "end_month" => "e1")
|
||||
select /jan/i, :from => "End Month"
|
||||
click_button
|
||||
end
|
||||
|
||||
it "should properly handle submitting HTML entities in select values" do
|
||||
spec = lambda do
|
||||
pending "needs bug fix" do
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<form method="post" action="/login">
|
||||
|
@ -210,19 +210,13 @@ describe "select" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/login", "month" => "Peanut butter & jelly")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "month" => "Peanut butter & jelly")
|
||||
click_button
|
||||
end
|
||||
|
||||
if Webrat.on_java?
|
||||
spec.call
|
||||
else
|
||||
pending("needs bug fix", &spec)
|
||||
end
|
||||
end
|
||||
|
||||
it "should properly handle locating with HTML entities in select values" do
|
||||
spec = lambda do
|
||||
pending "needs bug fix" do
|
||||
with_html <<-HTML
|
||||
<html>
|
||||
<form method="post" action="/login">
|
||||
|
@ -236,12 +230,6 @@ describe "select" do
|
|||
select "Peanut butter & jelly"
|
||||
}.should_not raise_error(Webrat::NotFoundError)
|
||||
end
|
||||
|
||||
if Webrat.on_java?
|
||||
spec.call
|
||||
else
|
||||
pending("needs bug fix", &spec)
|
||||
end
|
||||
end
|
||||
|
||||
it "should submit duplicates selected options as a single value" do
|
||||
|
@ -254,7 +242,7 @@ describe "select" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:post).with("/login", "clothes" => "pants")
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/login", "clothes" => "pants")
|
||||
click_button
|
||||
end
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ describe "select_time" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_time "9:30AM", :from => "Time"
|
||||
click_button
|
||||
|
@ -37,7 +37,7 @@ describe "select_time" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_time Time.parse("9:30AM"), :from => "Time"
|
||||
click_button
|
||||
|
@ -58,7 +58,7 @@ describe "select_time" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_time "9:30AM", :from => "Time #"
|
||||
click_button
|
||||
|
@ -78,7 +78,7 @@ describe "select_time" do
|
|||
</form>
|
||||
</html>
|
||||
HTML
|
||||
webrat_session.should_receive(:post).with("/appointments",
|
||||
webrat_session.should_receive(:post).with("http://www.example.com/appointments",
|
||||
"appointment" => {"time(4i)" => "09", "time(5i)" => "30"})
|
||||
select_time "9:30"
|
||||
click_button
|
||||
|
|
|
@ -10,7 +10,7 @@ describe "visit" do
|
|||
end
|
||||
|
||||
it "should use get" do
|
||||
webrat_session.should_receive(:get).with("/", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/", {})
|
||||
visit("/")
|
||||
end
|
||||
|
||||
|
@ -36,7 +36,7 @@ describe "visit" do
|
|||
|
||||
visit("/oldurl")
|
||||
|
||||
current_url.should == "/oldurl"
|
||||
current_url.should == "http://www.example.com/oldurl"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -51,7 +51,7 @@ describe "visit with referer" do
|
|||
end
|
||||
|
||||
it "should use get with referer header" do
|
||||
webrat_session.should_receive(:get).with("/", {}, {"HTTP_REFERER" => "/old_url"})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/", {}, {"HTTP_REFERER" => "/old_url"})
|
||||
visit("/")
|
||||
end
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page2", {})
|
||||
within "#container" do
|
||||
within "div" do
|
||||
click_link "Link"
|
||||
|
@ -31,7 +31,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/page2", {})
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/page2", {})
|
||||
within "#container" do
|
||||
click_link "Link"
|
||||
end
|
||||
|
@ -51,7 +51,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", "email" => "test@example.com")
|
||||
within "#form2" do
|
||||
fill_in "Email", :with => "test@example.com"
|
||||
click_button
|
||||
|
@ -70,7 +70,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", "email" => "test@example.com")
|
||||
within ".important" do
|
||||
fill_in "Email", :with => "test@example.com"
|
||||
end
|
||||
|
@ -92,7 +92,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", "email" => "test@example.com")
|
||||
within "form[@action='/form2']" do
|
||||
fill_in "Email", :with => "test@example.com"
|
||||
click_button "Add"
|
||||
|
@ -117,7 +117,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/form2", "email2" => "test@example.com")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", "email2" => "test@example.com")
|
||||
within "form[@action='/form2']" do
|
||||
fill_in "Email", :with => "test@example.com"
|
||||
click_button "Add"
|
||||
|
@ -138,7 +138,7 @@ describe "within" do
|
|||
</html>
|
||||
HTML
|
||||
|
||||
webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
|
||||
webrat_session.should_receive(:get).with("http://www.example.com/form2", "email" => "test@example.com")
|
||||
within "#form2" do
|
||||
fill_in "Email", :with => "test@example.com"
|
||||
click_button "Add"
|
||||
|
|
Loading…
Reference in New Issue