Commit Graph

620 Commits

Author SHA1 Message Date
Kieran Pilkington a8d0cebde3 Various improvements, refinements, and bugfixes for select field usage.
Multiple select boxes are now handled a lot better.
* You can now select more than one field (where as previously, the last one select would override previous selections)
* You can now unselect a value. It works like select, takes the same params, but removes the selection value

Issues regarding ampersands in values have been resolved.
* Values are now unescaped when the to_param method is run on elements, to make assertions less complicated
* Locating an option with ampersand values now works as expected (it will check for both escaped and unescaped occurrences)

Bunch of new specs and 3 broken pending ones have now been fixed. [#145 status:resolved]
2009-08-31 18:34:04 +12:00
Bryan Helmkamp b9466df773 Merge commit 'djanowski/fix_logger' 2009-08-29 15:57:58 -04:00
Bryan Helmkamp e18ef197b5 Move selenium integration code to webrat/integrations/selenium so it's automatically required 2009-08-20 00:09:03 -04:00
Bryan Helmkamp 723f4356b9 Move rspec-rails integration code to webrat/integrations/rspec-rails 2009-08-19 23:42:58 -04:00
Bryan Helmkamp 2fc9f3f7f9 Move adapters to webrat/adapters, and Rails and Merb integration code into webrat/integrations 2009-08-19 23:42:54 -04:00
Bryan Helmkamp 610f0fc217 Webrat doesn't need to worry about StringIOs
...or, we're missing a test and this is going to help us find it
2009-08-19 23:14:13 -04:00
Bryan Helmkamp 11f30d1d2e Dropping support for Hpricot and REXML 2009-08-19 23:14:13 -04:00
Simon Rozet 997ff97405 MerbSession now use RackSession under the hood 2009-08-19 23:14:08 -04:00
Damian Janowski 4a949e0e5a Fix logger issue when running inside Cucumber. 2009-08-14 13:05:20 -03:00
Bryan Helmkamp 66251b66ae Cleanup session initializaton in Webrat::Methods 2009-08-12 22:05:04 -04:00
Bryan Helmkamp ec43bb9546 Selenium is a session type, not an adapter type 2009-08-12 21:44:02 -04:00
Bryan Helmkamp 17713c9036 MechanizeAdapter doesn't need to inherit from Session 2009-08-12 21:39:32 -04:00
Bryan Helmkamp e4ea9134a7 Rename MechanizeSession to MechanizeAdapter 2009-08-12 20:54:29 -04:00
Bryan Helmkamp 89ec303db5 Rename RailsSession to RailsAdapter 2009-08-12 20:52:57 -04:00
Bryan Helmkamp 986682488e Rename MerbSession to MerbAdapter 2009-08-12 20:50:55 -04:00
Bryan Helmkamp 22a06000f9 Introduce session_class method 2009-08-12 20:44:32 -04:00
Bryan Helmkamp a8c5af2b7a Rename session_class method to adapter_class 2009-08-12 20:43:44 -04:00
Bryan Helmkamp b0b88a0d82 Rename SinatraSession to SinatraAdapter 2009-08-12 20:40:44 -04:00
Bryan Helmkamp 561525dd81 Rename RackSession to RackAdapter 2009-08-12 20:39:35 -04:00
Bryan Helmkamp 3670b19f66 Remove duplicate branch for :sinatra mode 2009-08-12 20:25:25 -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 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 796318d1ed Prep for 0.4.5 release 2009-08-10 20:01:06 -04:00
Brian Landau dd98b33713 Make compatable with latest version of "selenium-client" gem, version 1.2.16 2009-07-06 13:50:00 -04:00
Bryan Helmkamp 11996a15dc Updating to leverage latest rack-test 2009-06-25 21:13:54 -04:00
Simon Rozet 0a2b77c9c4 Require rack in lib/webrat.rb 2009-06-26 01:42:51 +02: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 f2882ef8b2 Deprecate :rack_test 2009-06-25 22:41:05 +02:00
Simon Rozet a5a91b32e9 Deprecate the :sinatra mode
* I took the conservative approach here: the sinatra code could
  be removed but that'd cause a regression. (using Sinatra::Application
  when `app` is not defined)

* I left the sinatra tests for now; they should be removed
  once we're fully confident with rack session ones.
2009-06-25 00:38:39 +02:00
Simon Rozet 042268c6a6 Simplify Methods#webrat_adapter
It is unecessary to have a special case for the :rack mode.
2009-06-25 00:07:38 +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 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 92ec1c3d92 Require rack/test in rack session 2009-06-24 15:14:08 +02:00
Simon Rozet 0a3b979772 Rename :rack_test mode to :rack 2009-06-24 15:13:27 +02:00
Simon Rozet 3e7886ecab Get rid of RackSession
Looks like dead code
2009-06-24 15:13:16 +02:00
Bryan Helmkamp 5eeceff9e8 Removing some vestigial code from Merb session 2009-06-17 00:19:26 -04:00
Ryan Carver c11f4868a9 Don't require merb-core/two-oh for multipart support. Instead, copy the code into Webrat 2009-06-17 00:06:32 -04: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 9a42304513 Revert "make label location strategy work with unescaped strings"
This reverts commit 4daf037146.

This was causing failures in the Weplay selenium suite, where we
we're using partial matches. For example:

  fill_in "Write a message", ...

When the markup was:

  <label>Write a message to Bryan ...</label>
2009-06-15 17:59:13 -04:00
Bryan Helmkamp 9b971a15c0 Require English so we can use $LAST_MATCH_INFO instead of $~ 2009-06-15 00:08:25 -04:00
Bryan Helmkamp 45e19867d6 Merge commit 'manveru/dev' into ruby19
Conflicts:
	lib/webrat/core/elements/field.rb
2009-06-14 23:31:42 -04:00
Bryan Helmkamp 6231e6e4d1 Merge commit 'pdcawley/master' 2009-06-14 21:58:18 -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
Jakub Kuźma 8b98540aef Ruby 1.9 compatibility: Avoid calling #to_s on Arrays
[#249 state:resolved]
2009-06-14 21:05:38 -04:00