Commit Graph

1360 Commits

Author SHA1 Message Date
Joshua Peek
8b46c50eac Kill mock routing assertion that tests router implementation 2009-10-10 21:30:51 -05:00
Joshua Peek
21be1dcffa Relative url generations are covered more thoroughly by url rewriter tests 2009-10-10 21:30:50 -05:00
Joshua Peek
5d071b4bc2 Drop implementation specific routing test assertions 2009-10-10 21:30:50 -05:00
Michael Koziarski
9415935902 Switch to on-by-default XSS escaping for rails.
This consists of:

  * String#html_safe! a method to mark a string as 'safe'
  * ActionView::SafeBuffer a string subclass which escapes anything unsafe which is concatenated to it
  * Calls to String#html_safe! throughout the rails helpers
  * a 'raw' helper which lets you concatenate trusted HTML from non-safety-aware sources (e.g. presantized strings in the DB)
  * New ERB implementation based on erubis which uses a SafeBuffer instead of a String

Hat tip to Django for the inspiration.
2009-10-08 09:31:20 +13:00
Joshua Peek
86ed58d912 Use with_routing helper in tests instead of modifying global route set 2009-10-03 23:31:38 -05:00
Joshua Peek
61411f2aeb Redraw default routes on all internal integration tests. We don't need SimpleRouteCase anymore 2009-10-03 23:18:32 -05:00
Joshua Peek
8287a112c9 Avoid creating new controller constants during test runtime. All routable controllers should be defined beforehand. 2009-10-03 23:03:08 -05:00
Joshua Peek
7eaed071a2 Changing directories during the test breaks file loading when ran by itself 2009-10-03 22:02:51 -05:00
Joshua Peek
018b79dd36 File extra test folders into controller, dispatch, or template 2009-10-03 21:05:51 -05:00
Joshua Peek
84e94551f6 Add custom "with_routing" to internal tests to fix reseting session after using
with_routing. This only affects our internal AP tests.
2009-10-03 20:45:49 -05:00
Joshua Peek
a6757a02e1 Move middleware and route configuration from AC::Dispatcher to Rails application object 2009-09-26 21:59:28 -05:00
Joshua Peek
14866fa3d8 Allow setting a default application for all integration tests 2009-09-26 21:38:48 -05:00
Joshua Peek
acfeec5151 Allow integration test rack app to be set with "@app" ivar instead of using open_session 2009-09-26 20:51:05 -05:00
Joshua Peek
198081a639 Remove deprecated calls to Dispatcher.to_prepare 2009-09-26 19:57:36 -05:00
Joshua Peek
1f72700575 Move default middleware stack into initializer 2009-09-26 13:41:32 -05:00
Joshua Peek
088ce2904d Fix generic url rewriter in integration tests 2009-09-25 11:10:39 -05:00
Joshua Peek
9f96708f53 Resurrect AC::Benchmarking [#3140 state:resolved] 2009-09-24 12:13:09 -05:00
José Valim
2407479603 Fixes Sam Ruby tests suite.
Signed-off-by: Yehuda Katz <wycats@gmail.com>
2009-09-21 17:56:24 -07:00
José Valim
a0233dd3b2 Use NewCallbacks on ActionDispatch::Callbacks. 2009-09-20 10:56:38 -03:00
José Valim
7cc1c2e71d Add Orchestra instrumentation to fragment and page caching. 2009-09-20 10:56:38 -03:00
Joshua Peek
0540781539 Namespace TestControllers inside their test case class 2009-09-19 13:04:12 -05:00
Joshua Peek
db0af8075d Avoid conflict with a "MetalTest" module used in tests 2009-09-19 12:52:52 -05:00
Joshua Peek
12b3799448 Avoid conflicts with another ContentTypeController used in testing 2009-09-19 12:50:14 -05:00
Joshua Peek
5bc47a93b7 Make sure caching test is using a generatable url 2009-09-19 11:56:11 -05:00
Joshua Peek
52aeb8d2e7 Beef up AD::Rescue to replace global exception handling lost in ApplicationController 2009-09-15 16:33:15 -05:00
Joshua Peek
90d7ae23c6 Remove global exception catching from ApplicationController.
It was severely broken since it was ported to NewBase and is causing problems with normal exception catching. A replacement is coming soon.
2009-09-15 10:05:46 -05:00
Joshua Peek
a0e43073e2 Rewrite resource routing tests that are coupled to the router implementation 2009-09-13 18:43:16 -05:00
Joshua Peek
a3fcfd819b Need to reset session for AP rescue tests after altering the route set 2009-09-13 17:52:33 -05:00
Nathaniel Talbott
f024aabee3 Fix filtering parameters when there are Fixnum or other un-dupable values.
[#3184 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-09-10 18:53:50 -07:00
Joshua Peek
1a0f822037 Use draw/connect mapper api instead of directly using add_named_route 2009-09-06 23:21:04 -05:00
Joshua Peek
2ae84e04aa Add fake controllers for url rewriter tests 2009-09-06 23:02:55 -05:00
Joshua Peek
ab8aac09d6 Need to reset session in internal integration tests after altering the route set 2009-09-06 22:01:58 -05:00
Joshua Peek
9f47f8d892 Fix isolated running of AddressesTest 2009-09-06 21:42:05 -05:00
Joshua Peek
1c02fc295d Fix isolated running of ActionPackAssertionTest 2009-09-06 21:19:29 -05:00
Joshua Peek
c3accd7ded Fix failing isolated routing test 2009-09-05 19:39:33 -05:00
Yehuda Katz + Carl Lerche
66a4585f88 Fix the */* with Net::HTTP bug [#3100 state:resolved] 2009-09-01 15:54:29 -07:00
José Valim
3f78de67b5 Ensure that blocks are also handled inside the responder. 2009-08-29 18:21:19 +02:00
Joshua Peek
ba5995dcd9 Reset session in integration tests after changing routes to reload the middleware stack 2009-08-27 12:43:26 -05:00
Jeffrey Hardy
05b529ca57 UrlRewriter#rewrite_url should call #to_param on the value given in :anchor option, just as #url_for does
[#2746 state:committed]

Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
2009-08-26 14:11:26 -07:00
Joshua Peek
78129b1731 Track all AC base subclasses as possible controllers for internal testing 2009-08-25 23:34:48 -05:00
Joshua Peek
b58acea569 Move legacy param_parsers config onto AD::ParamsParser 2009-08-21 16:49:33 -05:00
Joshua Peek
24ad9ae3d2 Cleanup route reloading in tests. Prefer with_routing over using ActionController::Routing::Routes directly 2009-08-16 21:14:26 -05:00
Joshua Peek
911acc10de Axe "best fit" generation support 2009-08-15 18:08:46 -05:00
Yehuda Katz
1310231c15 Got tests to pass with some more changes.
* request.formats is much simpler now
    * For XHRs or Accept headers with a single item, we use the Accept header
    * For other requests, we use params[:format] or fallback to HTML
    * This is primarily to work around the fact that browsers provide completely
      broken Accept headers, so we have to whitelist the few cases we can
      specifically isolate and treat other requests as coming from the browser
    * For APIs, we can support single-item Accept headers, which disambiguates
      from the browsers
  * Requests to an action that only has an XML template from the browser will
    no longer find the template. This worked previously because most browsers
    provide a catch-all */*, but this was mostly accidental behavior. If you
    want to serve XML, either use the :xml format in links, or explicitly
    specify the XML template: render "template.xml".
2009-08-15 12:32:02 -07:00
Yehuda Katz
9f5cd0156a More cleanup of ActionView and reduction in need for blocks in some cases:
* only one of partial_name or :as will be available as a local
  * `object` is removed
  * Simplify _layout_for in most cases.
    * Remove <% render :partial do |args| %>
    * <% render :partial do %> still works fine
2009-08-15 12:32:01 -07:00
Joshua Peek
940a391c9b Attempt to rewrite most of the highly coupled router segments tests 2009-08-14 16:16:29 -05:00
Joshua Peek
f86a4b84dd Kill routing timed tests 2009-08-14 14:30:19 -05:00
José Valim
8692b11e81 Merge branch 'master' of git://github.com/rails/rails 2009-08-13 10:27:53 +02:00
José Valim
4f9047ecc8 Ensure collections are not treated as nested resources. 2009-08-13 10:27:41 +02:00
Yehuda Katz
4bf516e072 More perf work:
* Move #set_cookie and #delete_cookie inline to optimize. These optimizations should
    almost certainly be sent back upstream to Rack. The optimization involves using
    an ivar for cookies instead of indexing into the headers each time.
  * Was able to use a bare Hash for headers now that cookies have their own joining
    semantics (some code assumed that the raw cookies were an Array).
  * Cache blankness of body on body=
  * Improve expand_cache_key for Arrays of a single element (common in our case)
  * Use a simple layout condition check unless conditions are used
  * Cache visible actions
  * Lazily load the UrlRewriter
  * Make etag an ivar that is set on prepare!
2009-08-11 15:03:53 -07:00