Commit Graph

416 Commits

Author SHA1 Message Date
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
Amos King
0a021059d6 Added to rails test for have_tag 2009-01-23 21:13:52 -06:00
Amos King
0b8e378fb2 change to use rails label tag for test. 2009-01-23 20:56:16 -06:00
Amos King
8c0facc5af cleanup and tests closes LH #82 2009-01-23 16:05:33 -06:00
Amos King
813adcc238 Remove the rails selenium test directory and change rake tasks for selenium and rails modes to run the same tests. The end goal should be that the same tests run in both Seleium and Webrat. 2009-01-23 15:37:26 -06:00
Amos King
da59584cdf add the ability for selenium mode to create pids dirs 2009-01-23 15:34:51 -06:00
Amos King
2c9b546a83 Merge branch 'lh_120_tests_with_selenium' of git@github.com:gaffo/webrat into lh_82
Conflicts:
	spec/integration/rails/test/integration/webrat_test.rb
2009-01-23 15:11:16 -06:00
Zach Dennis
0272e81847 Fixed issue where webrat was only using relative paths when making requests for Rails apps. This borked Rails apps that use subdomains [John Hwang/Zach Dennis] 2009-01-20 21:48:48 -05:00
Josh Knowles
7a59353c78 Unfortunately this commit breaks any Rails specs which pass anchor tags. I like the concept, but I'd prefer to work on this post 0.4.1 once I have a bit more time to work out the failures in our referance app.
This reverts commit 4fc2b7eb7e.
2009-01-20 20:08:57 -05:00