Bryan Helmkamp
a8c5af2b7a
Rename session_class method to adapter_class
2009-08-12 20:43:44 -04:00
Bryan Helmkamp
561525dd81
Rename RackSession to RackAdapter
2009-08-12 20:39:35 -04:00
Bryan Helmkamp
74d470ff10
Merge commit 'sr/rack-upload'
2009-08-12 20:16:57 -04:00
Bryan Helmkamp
27a773e6b0
Merge commit 'sr/mime' into sr-mime
...
Conflicts:
Rakefile
lib/webrat.rb
2009-08-12 20:12:14 -04:00
Bryan Helmkamp
25c1d7c783
Merge branch 'master' into rack
2009-08-12 09:40:57 -04:00
Kamal Fariz Mahyuddin
d9ebabf461
Ruby 1.9-compat - test for MiniTest::Assertion instead of T::U::AssertionFailedError
2009-08-12 14:52:01 +08:00
Bryan Helmkamp
19ca271bbd
Merge branch 'master' into rack
2009-08-10 20:18:24 -04:00
Bryan Helmkamp
987766b10d
Don't require rubygems at runtime (Simon Rozet)
2009-08-10 20:14:48 -04:00
Bryan Helmkamp
11996a15dc
Updating to leverage latest rack-test
2009-06-25 21:13:54 -04:00
Simon Rozet
6cda9c79b4
Implement Webrat::MIME on top of Rack::Mime
2009-06-26 01:39:22 +02:00
Simon Rozet
3760867d0f
Implement file uploading for :rack
2009-06-25 23:41:51 +02:00
Simon Rozet
051dfe188c
Make sure Webrat is usable without the Methods mixin
2009-06-25 00:09:03 +02:00
Simon Rozet
f2b3b9891b
Refactor Webrat::Session
...
* Webrat::Session.new now take a session adapter class as it's argument and
delegates methods such as #response_body and #response_code to an instance
of it.
* Some of these methods will go away in the future. However, *a lot*
of specs depends on them so I've left them for now. The plan is to
strip down the session adapter API to these three methods:
* request
* response_code
* response_body
* I had to mark a spec as pending: spec/private/rails/rails_session_spec.rb
2009-06-25 00:07:30 +02:00
Damian Janowski
cbc447223c
Fix form fields being double-escaped with :rack
...
Signed-off-by: Simon Rozet <simon@rozet.name>
2009-06-24 18:57:55 +02:00
Simon Rozet
cf8d891302
More integration specs for the rack mode
...
One test is still pending because form fields are double-escaped.
2009-06-24 18:57:55 +02:00
Simon Rozet
4c010d1c65
Use Rack::Lint to test the rack session
2009-06-24 18:57:55 +02:00
Simon Rozet
8cda77318c
Fix wrong HTTP_HOST in rack session
...
Webrat relies on www.example.com while Rack::Test expects example.org
2009-06-24 18:57:38 +02:00
Simon Rozet
0a3b979772
Rename :rack_test mode to :rack
2009-06-24 15:13:27 +02:00
Bryan Helmkamp
28f19616d6
Wait for app server to boot on 0.0.0.0 instead of application_address
...
application_address is used to know where Selenium should navitate to,
but we always are booting app servers on 0.0.0.0 so that's where we
should verify they exist
2009-06-16 17:44:42 -04:00
Mike Gaffney
0c9944c4d8
Merge commit 'eddd97936'
...
Conflicts:
spec/integration/rails/test/integration/webrat_test.rb
2009-06-15 22:40:02 -05:00
Bryan Helmkamp
953d35b65a
Commenting out failing Rack spec for now
2009-06-15 00:17:44 -04:00
Bryan Helmkamp
d9de87c41f
Remove redgreen from rails integration tests too
2009-06-15 00:16:23 -04:00
Bryan Helmkamp
1b5cf4b0e6
Merge commit 'origin/master'
2009-06-15 00:04:59 -04:00
Bryan Helmkamp
a015931578
Comment out redgreen because it has issues on Ruby 1.9
2009-06-15 00:03:46 -04:00
Mike Gaffney
4cce77ef0d
removing rspec warnings
2009-06-14 22:37:35 -05:00
Bryan Helmkamp
f8af783185
Add spec for needing to ensure Fixnum#/ return an integer in redirect checking
2009-06-14 22:03:49 -04:00
Bryan Helmkamp
d620e66bd8
Use Launchy to handle opening pages in the browser with cross-platform compatibility
2009-06-14 21:38:04 -04:00
Bryan Helmkamp
3bc2d4d1b8
Merge commit 'rcarver/merb-uploads'
2009-06-14 21:18:47 -04:00
Erin Staniland
b75ff6221b
Added missing quote from rewrite_css_and_image_references and added support for single quotes
2009-06-14 21:01:06 -04:00
Mike Gaffney
f4141f787d
[ #261 state:awaiting-patch]
...
added a test that shows that selenium can't click a link with text that has parens in it
2009-06-08 12:08:53 -05:00
Mike Gaffney
6bfdcc54cc
Fixed Spec in Test Unit more thoroghly
2009-06-05 13:51:55 -05:00
Mike Gaffney
dd8688f371
moved application_server to appservers/base
2009-06-04 15:19:05 -05:00
Mike Gaffney
1910204974
refactor>moved the app servers to a directory
2009-06-04 15:13:54 -05:00
Mike Gaffney
6d74cd935e
[ #246 state:resolved] added external application server if you have your own started
2009-06-04 15:03:00 -05:00
Mike Gaffney
a6a4a7cfd9
moving app server lookup out into a factory
2009-06-04 14:44:06 -05:00
Mike Gaffney
6816c46d47
refactored tests to be more rspeccy
2009-06-04 14:24:17 -05:00
Mike Gaffney
f3a12adaa9
whitespace changes
2009-06-04 12:18:31 -05:00
Mike Gaffney
e46df8c6f9
made tests cleaner and better coverage
2009-06-03 22:06:07 -05:00
Mike Gaffney
977f643dca
catches spec failed exception again
2009-06-03 18:49:32 -05:00
Thomas Jack
2ae14f78b1
expose regexp escape problem in fill_in_test
2009-06-02 17:56:12 -05:00
Thomas Jack
57326e5846
Merge branch 'master' of git://github.com/brynary/webrat
2009-06-02 17:52:14 -05:00
mike.gaffney
bd1655c8e2
[ #257 state:awaiting-patch] here is a test proving the issue
2009-06-02 17:23:12 -05:00
mike.gaffney
2219ab62d3
refactoring buttons to their own controller
2009-06-01 12:25:36 -05:00
mike.gaffney
5430930bac
added test for clicking link by title
2009-06-01 12:17:29 -05:00
Matthias Marschall
9b85b6d7e0
added integration tests for all cases of click_button (by id, by html, by value, by alt for buttons and inputs of types image, button and submit)
2009-05-29 17:05:35 -05:00
Matthias Marschall
6cd734aec9
made selenium integration tests run applying larrytheliquid's patch: 627913708c
2009-05-29 17:05:35 -05:00
Josh Lubaway
846a90e561
Passing TextField values as plaintext to Mechanize.
...
Mechanize takes input as plaintext and escapes field values on its own.
If the values are escaped before they are passed to Mechanize, the values will be escaped twice.
These doubly-escaped values will result in incorrect behavior on the server side.
2009-05-29 10:42:30 -07:00
Thomas Jack
956b43d72c
Merge branch 'master' of git://github.com/brynary/webrat
2009-05-19 14:24:41 -05:00
mike.gaffney
fd431f2ce8
[ #242 state:resolved]
...
allowed changing the default timeout for browser startup in selenium
2009-05-18 16:37:45 -05:00
Luke Amdor
7f13a70b4b
Added current_url to SeleniumSession to have the same api for both sessions
2009-05-13 22:33:20 -05:00
Thomas Jack
232ed36379
spec for descendant selectors in have_xpath block
2009-05-13 14:52:53 -05:00
Thomas Jack
db9c5bdc77
Merge branch 'master' of git://github.com/brynary/webrat
2009-05-13 14:34:16 -05:00
Bryan Helmkamp
7b6b3168a2
Revert "Correct some specs that need full URLs"
...
This reverts commit 3e71ae3733
.
Conflicts:
spec/public/select_spec.rb
2009-05-11 16:51:42 -04:00
Bryan Helmkamp
b439d7f807
Revert "Canonicalize all URLs (Shalon Wood)"
...
This reverts commit 755cf6e508
.
2009-05-11 16:48:28 -04:00
Thomas Jack
8bedf2235d
Merge branch 'master' of git://github.com/brynary/webrat
2009-05-11 00:29:49 -05:00
Bryan Helmkamp
453cb4b3eb
Stripping whitespace
2009-05-11 01:27:04 -04:00
Bryan Helmkamp
3e71ae3733
Correct some specs that need full URLs
2009-05-11 00:16:38 -04:00
Bryan Helmkamp
35cbfd9643
Use Nokogiri on JRuby -- ~2x faster than REXML on JRuby for me
2009-05-11 00:13:00 -04:00
Bryan Helmkamp
b5254109f1
Start on Rack::Test integration
2009-05-11 00:12:27 -04:00
Bryan Helmkamp
755cf6e508
Canonicalize all URLs (Shalon Wood)
2009-05-11 00:12:27 -04:00
Thomas Jack
9a3668be92
match descendents in have_selector/have_xpath blocks
2009-04-29 01:33:26 -05:00
Mutwin Kraus
eddd979361
Fixed following of internal redirects when using a custom Host header
...
Webrat didn't properly follow internal redirects when using the Host
header, this lets Webrat check the Host header before falling back
to www.example.com as the current_host.
2009-04-24 23:49:11 -07:00
Ryan Carver
26edfbc7cb
Integration tests for Merb file uploads
2009-04-24 14:11:49 -07:00
Ryan Carver
09509025c3
Allow Merb to do file uploads
2009-04-24 13:56:28 -07:00
mike.gaffney
7d4a2035f7
Merge commit '742db2d910d7baa51487400cb339a20bd7079418'
2009-04-22 12:15:27 -05:00
Zach Dennis
7c08390bb8
Updated regex for LabelLocator and FieldLabeledLocator to work with labels whose text ends in a non-word character like \? or #
2009-04-16 12:25:45 -05:00
Noah Davis
ff42db076f
Select fields with duplicate selected options sent an incorrect value
2009-04-11 13:19:59 -04:00
Bryan Helmkamp
03914fd293
Whitespace
2009-04-07 20:30:12 -04:00
Bryan Helmkamp
b69b4acec4
Change setup => before
2009-04-07 20:14:59 -04:00
Bryan Helmkamp
996484c890
Refactoring selenium RC and app server boot code
2009-04-06 14:02:09 -04:00
Andrew Premdas
742db2d910
added spec for click links by title - functionality is already done
2009-03-13 12:09:24 +00:00
Mark Menard
0c2261d869
Add support for Rails javascript post links.
2009-03-12 15:42:20 -04:00
Bryan Helmkamp
d1a2c80ab8
Merge commit 'sr/sinatra' into sr_sinatra
2009-03-08 18:54:21 -04:00
Simon Rozet
90baf3311c
Sinatra now provides sensible options for testing
...
In the lastest release, 0.9.1:
* Set sensible defaults on Default for test env [1]
5a33a9586f
* Set :environment to :test in TestHarness
9af37724e0
* Set :environment to :test when Sinatra::Test is included
93b19a3492
[1] Only Sinatra::Default provides special options for testing. If you subclass
Sinatra::Base, you'll have to set them yourself.
foo
2009-03-08 23:41:34 +01:00
Bryan Helmkamp
5dc24c613e
Merge branch 'master' into sr_sinatra
2009-03-08 14:59:54 -04:00
Luke Melia
72123c1cec
When faced with a label with no for attribute, that contains a hidden field and another field, as can be the case in Rails 2.3's checkbox view, webrat now locates the non-hidden field.
2009-03-01 01:44:35 -05:00
Simon Rozet
4e07f5b654
Fix following of absolute redirect URL in Sinatra
...
What's going on when the app redirects to an absolute URL?
* Sinatra relies on Rack::MockSession which sets SERVER_NAME to
"example.org" [1] on request it makes. However, Webrat expects
it to be "www.example.com"
* In MyClassyApp, the redirect URL is made out of Rack::Request#url [2]
which uses SERVER_NAME, which is set to "example.org" by Rack::MockSession.
As a result, Webrat see it as an external redirect and don't follow it.
NOTE:
* SERVER_NAME is stricly equivalent to HTTP_HOST [3]
* This could have been fixed in Webrat::Session too. I'am not sure
that it won't affect other frameworks so I left it intact.
def request_page(url, http_method, data) #:nodoc:
h = headers
h['HTTP_REFERER'] = @current_url if @current_url
+ h['HTTP_HOST'] = 'www.example.com'
[1] 5c00dd698e/lib/rack/mock.rb (L79)
[2] 5c00dd698e/lib/rack/request.rb (L201)
[3] 5c00dd698e/lib/rack/request.rb (L72)
2009-02-28 03:30:26 +01:00
Simon Rozet
7d7c32256d
Support for "modular" Sinatra app style
...
Since Sinatra 0.9, apps can be ancapsulated in a class ("modular" style)
or be on the top level, just like before ("classic" style)
* http://wiki.github.com/brynary/webrat/sinatra
* http://www.sinatrarb.com/extensions.html
2009-02-28 03:30:25 +01:00
Bryan Helmkamp
4115c99c9b
Merge branch 'master' into atmos
2009-02-27 20:41:05 -05:00
Bryan Helmkamp
29c40bd73c
Pulling attribute conditions up from have_selector to have_xpath
2009-02-23 20:47:02 -05:00
Bryan Helmkamp
2296cadb93
Pulling features up from have_tag into have_selector
2009-02-23 20:11:25 -05:00
Corey Donohoe
92565d3bc4
use application_environment in merb also
2009-02-18 12:16:19 -07:00
Bryan Helmkamp
b4687c29d5
Break out specs for matchers into separate files
2009-02-15 19:47:12 -05:00
Bryan Helmkamp
17a8bc7b66
Adding :count option to have_tag
2009-02-15 19:41:44 -05:00
Bryan Helmkamp
932fdab884
Get quoting working for content
2009-02-15 19:32:25 -05:00
Bryan Helmkamp
7ba620f38b
Whitespace
2009-02-15 18:57:53 -05:00
Corey Donohoe
4fb9406154
remove commented line that serves no purpose
2009-02-15 15:54:04 -07:00
Corey Donohoe
63337d4476
it helps if i make sure the spec suite still passes :\
2009-02-15 14:41:54 -07:00
Corey Donohoe
69dfa5022a
Webrat.configuration.application_type => Webrat.configuration.application_framework
2009-02-15 14:40:17 -07:00
Corey Donohoe
7692930769
clean up constant definitions for rails and fix merb port fubar on selenium appserver stop
2009-02-15 14:37:38 -07:00
Corey Donohoe
9066d2a9cd
add specs for starting and stopping appservers, covers rails, sinatra and merb
2009-02-13 20:26:44 -07:00
Peter Jaros
24eab77ecd
Accept do/end blocks in matchers. [ #157 state:resolved]
2009-02-09 00:31:17 -05:00
Bryan Helmkamp
7fe667da73
Removing HashWithIndifferentAccess
...
Doesn't seem to be required, according to our integraton specs
2009-02-09 00:13:41 -05:00
Bryan Helmkamp
7fc6a79bee
Merge commit 'teejayvanslyke/master' into lh_159
2009-02-08 21:03:40 -05:00
Bryan Helmkamp
e97f7fafc5
Add a spec for two checkboxes with the same name (array style)
2009-02-08 20:58:43 -05:00
Bryan Helmkamp
4769a5f90b
Detect infinite redirects and raise a Webrat::InfiniteRedirectError (Daniel Lucraft)
2009-02-08 20:54:00 -05:00
T.J. VanSlyke
ea8e1910d1
Added single-quotes around --chdir argument to mongrel_rails call, as
...
webrat bombs with a file not found error if RAILS_ROOT contains a space.
2009-01-30 11:37:43 -08:00
Bryan Helmkamp
7f9df54838
Merge commit 'lenalena/master' into lh_139
2009-01-27 19:13:53 -05:00
Bryan Helmkamp
238bfb469e
Use redgreen when running rails integraton tests if available
2009-01-25 19:48:02 -05:00
Mike Gaffney
3d5dd1343c
turning off have_tag test for now until we figure out whether we want it or not. Making integration not run the selenium tests for now. Need a eventually framework for test::unit
2009-01-25 18:30:03 -06:00