Bryan Helmkamp
00c49a0521
Simplify select option matching code. Minor behavior change:
...
Valid: select "Peanut Butter & Jelly"
Invalid: select "Peanut Butter & Jelly"
2009-09-07 12:44:54 -04:00
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
Michael Christenson II
3255c9edf0
Forces an integer to fix Issue #18
2009-08-27 11:54:03 -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
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
Bryan Helmkamp
78a23abb6e
Merge commit 'dchelimsky/rspec-fix'
2009-06-14 20:54:02 -04:00
Michael Fellinger
8d2c027089
Fix replacing of , aka   so it works on 1.9
2009-06-07 17:03:13 +09:00
Michael Fellinger
520081c93e
Don't use $LAST_MATCH_INFO since we don't require English.rb, use $~ instead
2009-06-07 17:02:32 +09:00
Michael Fellinger
48a4ec905e
Make sure Field#escaped_value also works when @value is an Array on 1.9
2009-06-07 16:45:19 +09:00
Michael Fellinger
9134b09b87
Make mechanize_session_spec pass on 1.9
2009-06-07 16:34:35 +09: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
f3a12adaa9
whitespace changes
2009-06-04 12:18:31 -05:00
Mike Gaffney
977f643dca
catches spec failed exception again
2009-06-03 18:49:32 -05:00
Mike Gaffney
abac2023bc
removed reference to Rspec from common code
2009-06-03 17:53:19 -05:00
mike.gaffney
b2c423c49c
[ #50 state:resolved] added deprecation warning
2009-06-03 10:01:27 -05:00
Thomas Jack
4daf037146
make label location strategy work with unescaped strings
2009-06-02 18:31:33 -05:00
Thomas Jack
57326e5846
Merge branch 'master' of git://github.com/brynary/webrat
2009-06-02 17:52:14 -05:00
mike.gaffney
f8f254d517
[ #257 state:resolved] fixed issue with rails encodd fields in webrat
2009-06-02 17:35:29 -05:00
mike.gaffney
2704609224
added clicking link by title in selenium mode
2009-06-01 12:26:37 -05:00
mike.gaffney
b85aacae1c
From larrytheliquid
...
Merge commit '4d05a2cf2b2de34dda0a3e805ab11b60540578df'
2009-06-01 11:59:21 -05:00
Matthias Marschall
6cd734aec9
made selenium integration tests run applying larrytheliquid's patch: 627913708c
2009-05-29 17:05:35 -05:00
Matthias Marschall
73dc59cc29
click_button in selenium works now same as in headless mode
2009-05-29 17:05:34 -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
Larry Diehl
4d05a2cf2b
click_link matches anchor id's with Selenium
2009-05-28 23:23:09 -07:00
Larry Diehl
627913708c
Made Selenium Rails integration tests at least runnable, although
...
there are failures.
2009-05-28 22:40:52 -07:00
mike.gaffney
f6b0a763a0
Merge branch 'lh_194_delegate_field_named' of git://github.com/pivotal/webrat into lh194
...
Conflicts:
lib/webrat/core/methods.rb
2009-05-28 18:01:53 -05:00
Piers Cawley
58601c4653
Make Webrat::Core::Session#redirect? work in the face of rational maths.
...
Such as when someone uses `ruby-units' and suddenly 302/100 becomes 151/50.
2009-05-27 12:35:36 +01: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
Mike Gaffney
f342142a71
Merge commit 'snusnu/master'
2009-05-13 23:12:32 -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
db9c5bdc77
Merge branch 'master' of git://github.com/brynary/webrat
2009-05-13 14:34:16 -05:00
snusnu
77168fd29d
only require silence_stream if active_support hasn't already defined it
2009-05-13 05:01:19 +02:00
snusnu
926bcc6c66
extracted silence_stream into its own file under webrat/selenium
...
I don't think silence_stream.rb should be stored under
core_extensions, because the way it's implemented, it simply is
no core extension. Also, a grep through webrat source shows that
silence_stream is only used inside the selenium support. This is
why I added webrat/selenium/silence_stream.rb and require it
*before* all other selenium related files in webrat/selenium.rb.
It's necessary to include it this early, because if mode is set
to :selenium, webrat/selenium.rb is required, which in turn
requires webrat/selenium/selenium_session.rb and silence_stream
must be available before selenium_session gets required because
selenium_session already wants to silence the stream.
2009-05-13 03:35:32 +02:00
snusnu
bfa250e7af
Provide an implementation for silence_stream inside webrat.
...
I added the implementation to webrat/core/configuration.rb because
it seems to me that this always gets read first. I decided to put
it inside a util module Webrat::SilentStream and include this where
appropriate, instead of altering Kernel.
2009-05-12 18:32:30 +02: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
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
David Chelimsky
ffb56aab90
config for rspec in one line
2009-04-27 11:54:46 -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
1a110fe908
Improve forward and backward compatibility for Merb uploads
2009-04-24 14:23:00 -07:00
Ryan Carver
09509025c3
Allow Merb to do file uploads
2009-04-24 13:56:28 -07: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