Commit Graph

400 Commits

Author SHA1 Message Date
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
Adam Greene 4fc2b7eb7e removing the normalization of url's for the rails session. stipping them of host, port, and anchors is not really needed, especially since josh's redirect change to stop when going to a different host. See comments here: http://webrat.lighthouseapp.com/projects/10503-webrat/tickets/132 2009-01-20 19:30:28 -05:00
Adam Greene 4e3cf59920 adding a helper method to make it easier to see where the user was redirected_to 2009-01-20 19:30:22 -05:00
Adam Greene ce36e5890f lets follow redirects that are on the same domain but a different subdomain... 2009-01-20 19:30:16 -05:00
Bryan Helmkamp d60f524df1 Merge commit '1bfe7634f8bb93472f4f53715d43916a8ff1569f' 2009-01-20 00:26:36 -05:00
ichverstehe 1bfe7634f8 sinatra 0.9 support 2009-01-19 23:51:01 +01:00
Kyle Hargraves 6529a016d1 Labels should only search for fields within the current scope 2009-01-19 13:45:36 -06:00
Bryan Helmkamp 14d114ce1d Ensure the previous pages params aren't passed through redirect 2009-01-19 13:56:22 -05:00
Bryan Helmkamp b8b4a614c4 Use reload instead of deprecated reloads in spec 2009-01-19 13:40:58 -05:00
Kyle Hargraves 2b38b78724 field_labeled() should disregard labels without matching fields 2009-01-18 15:57:08 -06:00
Bryan Helmkamp f92f9bead8 Parse content as HTML (unless the Content-Type is XML) 2009-01-18 16:34:42 -05:00
Bryan Helmkamp 00d0d7b438 Temporary shim to support Merb's require statement for Webrat 2009-01-18 16:20:58 -05:00
Bryan Helmkamp fdb94f399c Allow multiple configuration blocks without dropping previous configuration.
If you really want to start with a default configuration use:

  Webrat.configure(Webrat::Configuration.new) do |config|
    ...
  end
2009-01-18 16:15:56 -05:00
Bryan Helmkamp 6676ae2da9 Adding integration test for field_labeled 2009-01-17 17:13:20 -05:00
Bryan Helmkamp 9be3f772bf Whitespace 2009-01-17 17:03:31 -05:00
Bryan Helmkamp 45c5a6a34d Remove a couple pending specs 2009-01-17 17:02:05 -05:00
Zach Dennis cdf9908f9e Fixed bug where Scope was creating a new DOM rather than re-using the existing DOM. [#105 state:resolved] 2009-01-17 16:59:12 -05:00
Bryan Helmkamp 9133fdc0e2 Need test/unit to test assert functionality 2009-01-17 16:34:00 -05:00
Bryan Helmkamp 55bc6b8e00 Merge commit 'gaffo/lh_123' into lh_123
Conflicts:
	History.txt
2009-01-17 16:27:39 -05:00
Bryan Helmkamp 1731681e79 Merge commit 'cornel/lh_110'
Conflicts:
	History.txt
2009-01-17 16:10:34 -05:00
Bryan Helmkamp 3e3d8e3659 Raise a Webrat::NotFoundError if the scope passed to #within doesn't exist [#90 state:resolved] 2009-01-17 13:27:32 -05:00
Bryan Helmkamp 7a7cb3f002 Support passing an ActiveRecord model to #within when in Rails mode [#68 state:resolved] (Luke Melia) 2009-01-17 13:18:42 -05:00
Amos King 3707262e72 make asserts count for assert_contain 2009-01-14 11:00:42 -06:00
Amos King ea930106b6 remove commented code and make assert_contain use a true assertion 2009-01-14 10:58:48 -06:00
Amos King 652610381a added selenium test for assert_selector 2009-01-13 22:48:57 -06:00
Amos King fd860a2e6d added rails test for assert_selector 2009-01-13 22:48:06 -06:00
Amos King a32ec70d7f added xpath test to selenium 2009-01-13 22:45:26 -06:00
Amos King 647eb4cb6f add test for assert_xpath 2009-01-13 22:43:31 -06:00
Amos King 2d065e8a2d add test for click_link with id to selenium 2009-01-13 22:43:14 -06:00
Amos King 0aa5fda61d added click link test to selenium 2009-01-13 22:35:58 -06:00
Amos King 2510e7d43d added clicking link by id 2009-01-13 22:34:47 -06:00
Amos King 3902573d3e add a link to the rendered text and add a test for clicking it 2009-01-13 22:33:47 -06:00
Amos King 9745673f1c Revert "remove commented code and make assert_contain use a true assertion"
This reverts commit 114db434182bbf9ad5b2737d181048bab363f055.
2009-01-13 22:30:52 -06:00
Amos King cdd390a19d remove commented code and make assert_contain use a true assertion 2009-01-13 22:30:52 -06:00
Amos King a396758da4 fixed rakefile so the tasks will run the correct mode, and so there is a task to run both modes. 2009-01-13 07:57:20 -06:00
Mike Gaffney 758e323f89 breaking up selenium from rails_webrat tests for the moment 2009-01-13 00:26:49 -06:00
Mike Gaffney c0220232c7 broke selenium mode tests out into a seperate file. 2009-01-13 00:13:17 -06:00
Mike Gaffney c1b49f36ea working on getting standardized for the specs 2009-01-12 23:31:14 -06:00
Mike Gaffney f7f8c91cb7 getting selenium up and running 2009-01-12 22:54:33 -06:00
Mike Gaffney f2a202ae5e adding pids directories 2009-01-12 22:44:53 -06:00
Mike Gaffney f835bac31b cleaning out app and getting selenium mode to work 2009-01-12 22:42:35 -06:00
Mike Gaffney bdf660aecb Renamed the task for seleniumw 2009-01-12 22:30:36 -06:00
Mike Gaffney a8a63472bc breaking the test mode out into a specific test modes 2009-01-12 22:30:03 -06:00
cornel.borcean c79d2216b2 added selenium_browser_key to allow running on more than firefox, and completed the ability to configure to work with selenium grid."
"
2009-01-12 15:15:11 -06:00
cornel.borcean e49c341fc0 implemented start and stop selenium server only if the selenium_server_address is nil 2009-01-12 14:17:05 -06:00
cornel.borcean 0edffe0ac4 added selenium_server port and address and application address for configuring selenium more dynamically 2009-01-12 12:50:53 -06:00
cornel.borcean 0ce92dfcd8 changed selenium_environment to application_environment and deprecated selenium_environment and selenium_port 2009-01-12 12:32:14 -06:00
cornel.borcean 33d2cdcc53 changed selenium_port to application_port to reflect what the variable is used for ... 2009-01-12 12:13:22 -06:00
Lena b4d85cb50b Added recognition of input tags with type button, which are generated by the Rails submit_to_remote helper 2009-01-07 12:27:47 +01:00
Mike d354c218d0 had additional files that were moved earlier 2009-01-05 13:19:26 -06:00
Mike 7bfa4c55c0 Merge branch 'lh_86_assert_contains' of git@github.com:gaffo/webrat into lh_86_assert_contains 2009-01-05 13:06:53 -06:00
Amos King 021f197abc change assert_tag and assert_no_tag to assert_have_tag and assert_no_tag so it won't conflict with rails and so that it will be more like the matchers. 2009-01-05 13:03:08 -06:00
Amos King ff00ae10ea add have to assert_selector and assert_no_selector for consistency. 2009-01-05 12:59:56 -06:00
Amos King f814b79ac1 change assert_xpath and assert_no_xpath to be assert_have_xpath and assert
_have_no_xpath to be closer to the rspec matcher.
2009-01-05 12:58:40 -06:00
Mike 7901c7503a Merge branch 'master' of git://github.com/brynary/webrat into lh_86_assert_contains 2009-01-05 12:33:19 -06:00
Amos King 4e0845c8db Added assert_xpath and assert_no_xpath for Test::Unit support. 2009-01-05 12:23:48 -06:00
Josh Knowles 9825aee47e Don't follow external redirects 2009-01-04 23:56:52 -05:00
Nicolas Sanguinetti 4565a3cea6 Unescape the values passed to the sinatra test helpers 2009-01-04 22:36:21 -05:00
Josh Knowles 34ea3e64b8 Sinatra integration tests for following redirects 2009-01-04 22:34:47 -05:00
Josh Knowles c3120833b0 Merge branch 'foca/master' 2009-01-04 21:57:25 -05:00
gaffo fece459f5f added assert_selector 2009-01-04 18:00:18 -06:00
gaffo cf1589823d added assert_tag, assert_no_tag 2009-01-04 17:42:54 -06:00
gaffo 0f0dab0b0b Upaded to webrat newest
Signed-off-by: gaffo <mike@uberu.com>
2009-01-04 15:21:14 -06:00
Amos King b3d6c9d89b assert_contain and assert_not_contain fully functional 2008-12-31 17:01:46 -06:00
Josh Knowles e19b1cc323 Rails and Merb integration tests for following redirects 2008-12-29 23:14:26 -05:00
Josh Knowles e77495bc04 Refactor redirect handling as Merb response doesn't support the redirect? method. All integration specs now passing again. 2008-12-29 22:45:55 -05:00
Josh Knowles 7044eb5863 Make merb integration test load 'local' webrat, instead of the gem. 2008-12-29 22:14:58 -05:00
Nicolas Sanguinetti 7258ea3349 Make rails integration test load 'local' webrat, instead of the gem. 2008-12-29 22:14:52 -05:00
Josh Knowles ce364d1663 Refactor redirect support out of RailsSession & SinatraSession and into Session#request_page 2008-12-29 21:19:13 -05:00
Nicolas Sanguinetti 499dcefefe Add integration tests for sinatra 2008-12-29 06:41:50 -02:00
Nicolas Sanguinetti 33e853710e Make rails integration test load 'local' webrat, instead of the gem. 2008-12-29 06:41:30 -02:00
Nicolas Sanguinetti 25c3fd73db Rename sinatra session spec so it matches the other ones 2008-12-29 06:14:27 -02:00
Nicolas Sanguinetti 47bc51b864 Merge commit 'brynary/master' 2008-12-29 06:11:04 -02:00
Nicolas Sanguinetti a058c8e5cc Fix sinatra spec for redirects 2008-12-29 06:05:04 -02:00
Bryan Helmkamp 2562942b6d Adding merb app for integration testing 2008-12-29 02:10:05 -05:00
Bryan Helmkamp add38820e5 Adding two tests for Rails integration 2008-12-29 01:30:26 -05:00
Bryan Helmkamp 39e0200608 Adding a Rails app for integration testing 2008-12-29 01:11:41 -05:00
Bryan Helmkamp b4dd150250 Moving spec/webrat to spec/private and spec/api to spec/public (a la Merb) 2008-12-29 01:06:04 -05:00
Josh Knowles 4b6558e7e5 Properly set referer and redirect to proper location 2008-12-28 21:12:34 -05:00
Bryan Helmkamp 29274f9b4b Merge commit 'joshknowles/master'
Conflicts:
	lib/webrat/rails.rb
	spec/webrat/rails/rails_session_spec.rb
2008-12-28 19:35:42 -05:00
Bryan Helmkamp 7c603f834c Minor refactorings 2008-12-27 20:18:55 -05:00
Kieran Pilkington 45f36b8ed9 adding specs for the selenium environment/port settings 2008-12-28 12:52:10 +13:00
Mike Gaffney f864bbde52 fixing typos 2008-12-27 17:48:31 -06:00
Mike Gaffney 83fd944ecc removing removed files 2008-12-27 17:24:30 -06:00
Mike Gaffney 449edf4a10 updated from master 2008-12-27 17:22:51 -06:00
Mike Gaffney fbcd509097 added code, working on specs 2008-12-27 16:44:54 -06:00
Bryan Helmkamp 0eaad52768 Cleanup the way the tests switch Webrat modes 2008-12-25 23:28:29 -05:00
gaffo 22c7834512 Sets the Webrat mode with Configuration#mode= in the config block 2008-12-25 23:07:10 -05:00
Bryan Helmkamp 6d7fc04f71 Add pending spec for bug in #within that needs fixing 2008-12-25 22:53:23 -05:00
Josh Knowles 89e9ea91e9 Support forwarding headers when following redirects when using the SinatraSession 2008-12-25 18:28:54 -05:00
Josh Knowles d0504d9344 First pass at initial specs for Webrat::SinatraSession 2008-12-25 17:58:56 -05:00
Josh Knowles b88b2b2949 Forward headers during redirects when using the RailsSession. 2008-12-25 16:53:06 -05:00
Bryan Helmkamp bd6f4986fb Specs are only pending on MRI. They pass on JRuby 2008-12-25 12:23:06 -05:00
Bryan Helmkamp 5015122fa9 Use a more liberal regexp to try to pass on all platforms 2008-12-25 12:11:48 -05:00
Bryan Helmkamp 267a66cbc1 Try to fix issue where Mechanize mode leaks into spec run 2008-12-25 12:03:05 -05:00
Graham Ashton df2df61267 Ensure that Webrat::MechanizeSession.request_page always uses an absolute URL.
Signed-off-by: Bryan Helmkamp <bryan@brynary.com>
2008-12-25 15:03:42 +08:00
Noah Davis 0b9fd99bc0 stripping anchor tags from URIs before passing to rails integration session 2008-12-19 14:32:02 -05:00
Bryan Helmkamp a5e6af2fe7 Better inspect output for Webrat elements 2008-12-12 15:43:27 -05:00
gaffo ee86067829 updating per reccomendations 2008-12-09 00:12:09 -06:00
gaffo 24ad539671 merging in current codebase 2008-12-08 23:48:00 -06:00
gaffo 2811a089bc webrat config now does the require 2008-12-08 23:19:44 -06:00
Bryan Helmkamp c05c0f6c73 Adding FormLocator. Removing some dead methods 2008-11-30 15:24:50 -05:00
Bryan Helmkamp ac4feb3b7e Working on SelectOptionLocator 2008-11-30 15:09:54 -05:00
Bryan Helmkamp 565e5d221d Add a couple failing specs for select behavior that needs fixing 2008-11-30 00:19:16 -05:00
Bryan Helmkamp 1723157528 Extracting SelectOptionLocator 2008-11-29 12:55:57 -05:00
Bryan Helmkamp 3134d1ce73 Add pending spec for not unencoding entities in textarea default values 2008-11-29 00:21:49 -05:00
Bryan Helmkamp 0b1dfbe0a2 Search for buttons using DOM 2008-11-28 18:30:38 -05:00
Bryan Helmkamp 97bb64f4f9 Add "rake spec_deps" task to test specs for dependency issues and correct some issues 2008-11-28 03:11:19 -05:00
Bryan Helmkamp ba0e50104b Parse with nokogiri when running the specs on MRI 2008-11-28 03:04:10 -05:00
Bryan Helmkamp 17808cbfb4 Add guilt-inducing pending specs for the set_hidden_field and submit_form methods 2008-11-28 03:02:07 -05:00
Bryan Helmkamp 87211f260d Use REXML and Hpricot together when Nokogiri is not available
This gets us the ability to use XPath consistently, as well as Hpricot's
forgiving parser, when using JRuby
2008-11-28 02:02:17 -05:00
Bryan Helmkamp 18e65bfa44 Cleaning up some more specs 2008-11-28 00:55:45 -05:00
Bryan Helmkamp 31aa659a67 Ensure all example HTML is wrapped in <html> tags 2008-11-28 00:34:35 -05:00
Bryan Helmkamp 3744009dd2 Only run Nokogiri spec when parsing with nokogiri 2008-11-28 00:14:36 -05:00
Bryan Helmkamp 226ab89a1a Fixing up XHTML in some specs 2008-11-27 00:29:20 -05:00
Bryan Helmkamp 1d5ec1aff9 Un-pending spec that now works 2008-11-27 00:27:13 -05:00
Bryan Helmkamp 557d9711e5 Correcting specdoc 2008-11-26 13:47:36 -05:00