aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
Commit message (Collapse)AuthorAgeFilesLines
* Added controller-level etag additions that will be part of the action etag ↵David Heinemeier Hansson2012-08-291-0/+32
| | | | computation *Jeremy Kemper/DHH*
* Add automatic template digests to all CacheHelper#cache calls (originally ↵David Heinemeier Hansson2012-08-2910-5/+158
| | | | spiked in the cache_digests plugin) *DHH*
* Add Missing Keys from Journey on failed URL formatschneems2012-08-283-12/+23
| | | | | | | | | | | | | | | | | | | | | | | Many named routes have keys that are required to successfully resolve. If a key is left off like this: <%= link_to 'user', user_path %> This will produce an error like this: No route matches {:action=>"show", :controller=>"users"} Since we know that the :id is missing, we can add extra debugging information to the error message. No route matches {:action=>"show", :controller=>"users"} missing required keys: [:id] This will help new and seasoned developers look closer at their parameters. I've also subclassed the routing error to be clear that this error is a result of attempting to generate a url and not because the user is trying to visit a bad url. While this may sound trivial this error message is misleading and confuses most developers. The important part isn't what's in the options its's what's missing. Adding this information to the error message will make debugging much more obvious. This is the sister pull request of https://github.com/rails/journey/pull/44 which will be required to get they missing keys into the correct error message. Example Development Error in Rails: http://cl.ly/image/3S0T0n1T3421
* Add missing requireRafael Mendonça França2012-08-281-0/+1
|
* Merge pull request #7452 from arunagw/memcached_dalliRafael Mendonça França2012-08-281-4/+4
|\ | | | | Memcached to dalli for actionpack test.
| * Let's run action pack tests with DalliArun Agrawal2012-08-271-4/+4
| | | | | | There is no memcache gem left in repo.
* | Deprecate AV::RecordIdentifier in controllersPiotr Sarnacki2012-08-281-0/+41
| | | | | | | | | | | | | | | | Methods provided by RecordIdentifier are not widely used in controllers nowadays as they're view specific (this is probably a legacy left after RJS rendering directly in controllers). However if people still need to use it, it's trivial to include ActionView::RecordIdentifier by themselves.
* | Fix ActionView::RecordIdentifier to work as a singletonPiotr Sarnacki2012-08-281-0/+9
| | | | | | | | | | We extend it with self, but the methods were not working properly were used directly on module.
* | Deprecate Template#mime_typePiotr Sarnacki2012-08-281-0/+7
| |
* | Don't require action_dispatch in ActionView::UrlHelpersPiotr Sarnacki2012-08-282-2/+3
| | | | | | | | | | | | | | | | | | | | ActionDispatch::Routing::UrlFor was always required in UrlHelpers. This was changed by splitting previous implementation of UrlHelper into 2 modules: ActionView::Helpers::UrlHelper and ActionView::Routing::UrlHelper. The former one keeps only basic implementation of url_for. The latter adds features that allow to use routes and is only required when url_helpers or mounted_helpers are required.
* | Use ActionView::Base.logger instead of AC::Base.loggerPiotr Sarnacki2012-08-281-1/+1
| |
* | Add ActionView::Base.default_formatsPiotr Sarnacki2012-08-281-0/+11
| | | | | | | | | | | | | | | | default_formats array is used by LookupContext in order to allow rendering templates when :formats option is not passed. Previously it was always set to Mime::SET, which created dependency on Action Pack. In order to remove this dependency, Mime::SET is used only if ActionController is loaded.
* | Deprecate mime types lookup in auto_discovery_link_tagPiotr Sarnacki2012-08-281-1/+10
| | | | | | | | | | | | Automatically handling mime types for things other than :rss and :atom is not functionality that justifies dependency on Mime::Type from actionpack.
* | Remove stubs from LogSubscriber testsPiotr Sarnacki2012-08-281-3/+4
| | | | | | | | | | | | | | We can use another way to instantiate ActionView::Base, by passing renderer as a first option. Thanks to that we can just pass prefixes to LookupContext instead stubbing them on the controller. This is also good, because that kind of API is used in Rails code.
* | Move action_controller/vendor/html-scanner to action_viewPiotr Sarnacki2012-08-283-3/+3
| | | | | | | | | | | | This is another step in moving Action View's dependencies in Action Pack to Action View itself. Also, HtmlScanner seems to be better suited for views rather than controllers.
* | Move ActionController::RecordIdentifier to ActionViewPiotr Sarnacki2012-08-281-1/+1
|/ | | | | | | Since it's more about DOM classes and ids it belongs to Action View better. What's more, it's more convenient to make it part of Action View to follow the rule that Action Pack can depend on Action View, but not the other way round.
* Create variable only in the test that uses itCarlos Antonio da Silva2012-08-251-3/+3
| | | | | Instead of building a Blog::Post instance for every test in form helper tests, just build it in the test that uses it.
* correct handling of date selects when using both disabled and discard optionsVasiliy Ermolovich2012-08-251-0/+24
| | | | | | | | | | | | we should take disabled option not only from `html_options` hash but from `options` hash too like `build_select` method does it. So datetime_select("post", "updated_at", { :discard_minute => true }, { :disabled => true }) datetime_select("post", "updated_at", :discard_minute => true , :disabled => true) both these variants work now closes #7431
* Extract ActiveRecord::SessionStore from RailsPrem Sichanugrist2012-08-241-288/+0
| | | | | This functionality will be available from gem `active_record-session_store` instead.
* option_tags coerced to "" instead of nilSandeep2012-08-211-0/+12
|
* Make sure :via works with mountPratik Naik2012-08-201-0/+9
|
* Access @rs only through attr_accessortomykaira2012-08-201-11/+11
|
* Added X-Content-Type-Options to the header defaults.Jim Jones2012-08-181-1/+3
| | | | With a value of "nosniff", this prevents Internet Explorer from MIME-sniffing a response away from the declared content-type.
* Merge pull request #7244 from lucasuyezu/masterCarlos Antonio da Silva2012-08-152-0/+22
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix indentation on template errors to consider line number character count. For instance, when an error is shown, if the related source code snippet has line numbers from, lets say, 8-12, the lines are left aligned, which means the code indent is wrong: 8: foo 9: bar 10: raise 11: baz 12: ... This changes it to right align the source code snippet, so that the indentation is correct: 8: foo 9: bar 10: raise 11: baz 12: ...
| * Indentation should consider line number character count.Lucas Uyezu2012-08-132-0/+22
| |
* | Extract common controllers to abstract_unitRafael Mendonça França2012-08-133-45/+33
| |
* | Implementing Routing ConcernsRafael Mendonça França2012-08-131-0/+94
|/ | | | | | | This pattern was introduced as a plugin by @dhh. The original implementation can be found in https://github.com/rails/routing_concerns
* push header merge down to a private method so that live responses can have ↵Aaron Patterson2012-08-131-0/+11
| | | | their own header object
* live response headers can be merged with a hashAaron Patterson2012-08-131-0/+6
|
* Add support for start_hour and end_hour options in select_hour helperEvan Tann2012-08-131-0/+29
| | | | Updated documentation to demonstrate start_hour and end_hour options
* Ensure option_html_attributes does not modify the given option hashesCarlos Antonio da Silva2012-08-111-0/+9
| | | | We can avoid creating extra hashes with #merge, and use #merge! instead.
* Simplify html attributes generation for options_for_selectCarlos Antonio da Silva2012-08-111-5/+6
| | | | | | | Further simplify the option_html_attributes method after the changes introduced in dacbcbe55745aa9e5484b10b11f65ccca7db1c54 to not escape the html options here (since they're going to be escaped down the chain in content tag).
* Merge pull request #7314 from schneems/schneems/form_for_errorRafael Mendonça França2012-08-101-0/+14
|\ | | | | Check for Blank Record in form_for
| * check for nil or empty record in form_forschneems2012-08-101-0/+14
| | | | | | | | if nil or an empty array is passed into form_for you get a horrible error message, this one is much more indicative of what the programmer needs to know to fix the problem.
* | Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-111-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* | Test actual content of permanent cookiebrainopia2012-08-101-1/+1
|/
* set the controller under test so we no longer need the reset! methodAaron Patterson2012-08-091-38/+4
|
* Do not mark strip_tags result as html_safeSantiago Pastorino2012-08-091-2/+2
| | | | | | Thanks to Marek Labos & Nethemba CVE-2012-3465
* push drawing once to it's own moduleAaron Patterson2012-08-091-32/+20
|
* refactor the before_setup hooks to a moduleAaron Patterson2012-08-091-13/+12
|
* switch callbacks to minitest hooksAaron Patterson2012-08-091-3/+6
|
* some testsEgor Homakov2012-08-091-0/+27
|
* Allow data attributes to be set as a first-level option for form_for, so you ↵David Heinemeier Hansson2012-08-081-0/+6
| | | | can write `form_for @record, data: { behavior: 'autosave' }` instead of `form_for @record, html: { data: { behavior: 'autosave' } }` *DHH*
* Deprecate `button_to_function` and `link_to_function` helpers.Rafael Mendonça França2012-08-071-0/+42
| | | | | | | | | | | | | | | | | | | | | | We recommend the use of Unobtrusive JavaScript instead. For example: link_to "Greeting", "#", :class => "nav_link" $(function() { $('.nav_link').click(function() { // Some complex code return false; }); }); or link_to "Greeting", '#', onclick: "alert('Hello world!'); return false", class: "nav_link" for simple cases. This reverts commit 3acdd652e9fe99481c879c84c5807a84eb9ad724.
* Revert "Merge pull request #7033 from kron4eg/master". Not a a fan at all of ↵David Heinemeier Hansson2012-08-071-54/+0
| | | | | | | what this makes ERB files look like. This reverts commit 46b8bceedd3e47169c50a04c93161424909c75fb, reversing changes made to 2f58795e783150f2e1b1f6c64e305703f0061129.
* Restoring the '%' trim mode for ERb templates, allowing for a leading ↵Artiom Di2012-08-071-0/+54
| | | | percent sign on a line to indicate non-inserted Ruby code.
* Do not include application.js if it doesn't existsPrem Sichanugrist2012-08-061-0/+9
| | | | | | Rails were including 'application.js' to the pack when using `javascript_include_tag :all` even there's no application.js in the public directory.
* Don't use `html_escape` to test the escapingRafael Mendonça França2012-08-054-4/+4
|
* removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-067-12/+13
| | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* Revert "polymorphic_url with an array generates a query string"Andrew White2012-08-041-14/+0
| | | | | Passing options as the last value in an array doesn't work with form_for. This reverts commit 61c8a4d926343903593a27080216af7e4ed81268.