aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #8994 from Springest/fix_default_scope_update_all_delete_allJon Leighton2013-01-182-0/+31
|\ | | | | Fix .update_all and .delete_all when using a condition on a joined table in a default_scope
| * Fix .update_all and .delete_all when using a condition on a joined tableDerek Kraan2013-01-112-0/+31
| | | | | | | | | | | | | | | | | | in a default_scope. `Model.joins(...).where(condition_on_joined_table).update_all` / `delete_all` worked, but the same operation implemented with a default_scope generated a SQL error because ActiveRecord ignored the join but implemented the where condition anyways.
* | Revert "Merge pull request #8989 from robertomiranda/use-rails-4-find-by"Guillermo Iguaran2013-01-1814-55/+55
| | | | | | | | | | This reverts commit 637a7d9d357a0f3f725b0548282ca8c5e7d4af4a, reversing changes made to 5937bd02dee112646469848d7fe8a8bfcef5b4c1.
* | Merge pull request #8989 from robertomiranda/use-rails-4-find-byGuillermo Iguaran2013-01-1814-55/+55
|\ \ | | | | | | Replace deprecated find_by_* with find_by
| * | User Rails 4 find_byrobertomiranda2013-01-1814-55/+55
| | |
* | | Undeprecate the :extend optionJon Leighton2013-01-182-0/+26
| | | | | | | | | | | | | | | | | | | | | Suggested by @dhh. It doesn't affect the generated SQL, so seems reasonable to continue to allow it as an association option.
* | | CollectionProxy should be default scopedJon Leighton2013-01-181-0/+5
| | | | | | | | | | | | Fixes #8795
* | | Merge pull request #8912 from senny/8879_association_empty_methodJon Leighton2013-01-181-0/+7
|\ \ \ | |/ / |/| | `CollectionAssociation#empty?` respects newly builded records
| * | `CollectionAssociation#empty?` respects newly builded recordsYves Senn2013-01-131-0/+7
| | |
* | | Don't rely on Hash key's orderingVitor Baptista2013-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we set encoding latin1 for a PostgreSQL database, it calls PostgreSQLAdapter::create_database with options that have, among other things: { 'encoding' => 'latin1' } Then, we use reverse_merge(:encoding => "utf8") to setup the default encoding. In the end, the hash looks like: { :encoding => 'utf8', 'encoding' => 'latin1' } The call to options.symbolize_keys calls to_sym on each_key of this Hash. It usually means that the encoding passed overwrites the default utf8, but it's not guaranteed. So, we shouldn't rely on it. The same was happening in ActiveRecord::ConnectionHandling.
* | | Revert "Merge pull request #8942 from yahonda/tested_only_with_mysql"Carlos Antonio da Silva2013-01-151-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1fc294f988e93ac59057a16b0e44b9cf93af9720, reversing changes made to fb9ac47c286fbdfe05263d4d0346e50892090603. Reason: these tests should run fine independent of database, since they should only take into account the configuration options. The problem was related to a change in the way "nil" is handled by the rescue clause, in Ruby 2.0 it raises an exception asking for class or module, in 1.9 it passes.
* | | Address test_create_when_database_exists_outputs_info_to_stderr failuresYasuo Honda2013-01-151-0/+4
|/ / | | | | | | | | When tested with ruby-2.0.0-rc1 `rake test` executes this test even if the target adapter is not mysql nor mysql2.
* / Bring back "database already exists" messages when running rake tasksCarlos Antonio da Silva2013-01-123-7/+27
|/ | | | | | | | | | When running tasks such "rake db:setup", instead of showing messages like "db_development already exists", it was showing a big stack trace and a message "Couldn't create database for ..." with the configuration options, a very confusing message with a big trace. This brings back the functionality present in 3-2, showing the same message.
* Merge pull request #8568 from inossidabile/fix-in_clause_lengthJon Leighton2013-01-111-7/+7
|\ | | | | Correct source for in_clause_length for eager loading (Fix for #8474)
| * Eager loading made to use relation's in_clause_length instead of host's one ↵Boris Staal2012-12-201-7/+7
| | | | | | | | (fixes #8474)
* | Fix syntax error and remove duplicated testCarlos Antonio da Silva2013-01-081-6/+4
| |
* | * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * ↵Aaron Patterson2013-01-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | dealing with empty hashes. Thanks Damien Mathieu Conflicts: actionpack/CHANGELOG.md actionpack/lib/action_dispatch/http/request.rb actionpack/lib/action_dispatch/middleware/params_parser.rb activerecord/CHANGELOG.md activerecord/lib/active_record/relation/predicate_builder.rb activerecord/test/cases/relation/where_test.rb
* | Revert "Merge branch 'master-sec'"Jeremy Kemper2013-01-081-6/+0
| | | | | | | | | | This reverts commit 88cc1688d0cb828c17706b41a8bd27870f2a2beb, reversing changes made to f049016cd348627bf8db0d72382d7580bf802a79.
* | Merge branch 'master-sec'Aaron Patterson2013-01-081-0/+6
|\ \ | | | | | | | | | | | | | | | * master-sec: CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml. * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * dealing with empty hashes. Thanks Damien Mathieu
| * | * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * ↵Aaron Patterson2013-01-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dealing with empty hashes. Thanks Damien Mathieu Conflicts: actionpack/CHANGELOG.md actionpack/lib/action_dispatch/http/request.rb actionpack/lib/action_dispatch/middleware/params_parser.rb activerecord/CHANGELOG.md activerecord/lib/active_record/relation/predicate_builder.rb activerecord/test/cases/relation/where_test.rb
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-01-091-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: guides/source/getting_started.md
| * | | prefer american spelling of 'behavior'Gosha Arinich2013-01-071-1/+1
| | | |
* | | | Ignore binds payload with nil column in AR log subscriberCarlos Antonio da Silva2013-01-081-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests were raising the following error: Could not log "sql.active_record" event. NoMethodError: undefined method `type' for nil:NilClass` Due to the way binds were being logged, the column info was considered always present, but that is not true for some of the tests listed in the issue. Closes #8806.
* | | | Reset test data, and fix bug that the inserted data were not actually selectedAkira Matsuda2013-01-081-11/+16
| | | |
* | | | Reset AR::Migration.verbose change to avoid depending on test run orderAkira Matsuda2013-01-081-0/+1
| |/ / |/| |
* | | Fix failing test under sqlite3Akira Matsuda2013-01-071-1/+1
| | |
* | | Namespace HashWithIndifferentAccessAkira Matsuda2013-01-072-6/+5
| | |
* | | Needs to reset SchemaMigration first, or the tests fail in sqlite3Akira Matsuda2013-01-071-1/+1
| | |
* | | Fix error when assigning NaN to an integer columnTristan Harward2013-01-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also covers any non-castable case by returning nil, which is in-line with the intention of the former implementation, but covers the odd cases which respond to to_i but raise an error when it's called, such as NaN, Infinity and -Infinity. Fixes #8757
* | | Remove unnecessary begin..rescue..end, use only rescueAkira Matsuda2013-01-063-21/+15
| | |
* | | deprecate `assert_blank` and `assert_present`.Yves Senn2013-01-054-7/+7
| | | | | | | | | | | | | | | They don't add any benefits over `assert object.blank?` and `assert object.present?`
* | | Use better variable names for ltree tests, remove instance variableCarlos Antonio da Silva2013-01-052-14/+12
| | |
* | | Revert "[#8743] Test case"Rafael Mendonça França2013-01-051-5/+0
| | | | | | | | | | | | | | | | | | This reverts commit 162e2859813b31c50700b453aa61992dfa57139e. This commit was added by mistake, sorry :bow:
* | | [#8743] Test caseCédric FABIANSKI2013-01-051-0/+5
| | | | | | | | | | | | | | | | | | | | | - Reverting #a3cf03ef99 fixes the issue Conflicts: activerecord/test/cases/relations_test.rb
* | | Support for PostgreSQL's ltree data type.Rob Worley2013-01-044-2/+64
| | |
* | | Change duplicated test nameRafael Mendonça França2013-01-031-2/+2
| | |
* | | Fix undefined method `to_i' introduced since 3.2.8Jason Stirk2013-01-042-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug introduced in 96a13fc7 which breaks behaviour of integer fields. In 3.2.8, setting the value of an integer field to a non-integer (eg. Array, Hash, etc.) would default to 1 (true) : # 3.2.8 p = Post.new p.category_id = [ 1, 2 ] p.category_id # => 1 p.category_id = { 3 => 4 } p.category_id # => 1 In 3.2.9 and above, this will raise a NoMethodError : # 3.2.9 p = Post.new p.category_id = [ 1, 2 ] NoMethodError: undefined method `to_i' for [1, 2]:Array Whilst at first blush this appear to be sensible, it combines in bad ways with scoping. For example, it is common to use scopes to control access to data : @collection = Posts.where(:category_id => [ 1, 2 ]) @new_post = @collection.new In 3.2.8, this would work as expected, creating a new Post object (albeit with @new_post.category_id = 1). However, in 3.2.9 this will cause the NoMethodError to be raised as above. It is difficult to avoid triggering this error without descoping before calling .new, breaking any apps running on 3.2.8 that rely on this behaviour. This patch deviates from 3.2.8 in that it does not retain the somewhat spurious behaviour of setting the attribute to 1. Instead, it explicitly sets these invalid values to nil : p = Post.new p.category_id = [ 1, 2 ] p.category_id # => nil This also fixes the situation where a scope using an array will "pollute" any newly instantiated records. @new_post = @collection.new @new_post.category_id # => nil Finally, 3.2.8 exhibited a behaviour where setting an object to an integer field caused it to be coerced to "1". This has not been retained, as it is spurious and surprising in the same way that setting Arrays and Heshes was : c = Category.find(6) p = Post.new # 3.2.8 p.category_id = c p.category_id # => 1 # This patch p.category_id = c p.category_id # => nil This commit includes explicit test cases that expose the original issue with calling new on a scope that uses an Array. As this is a common situation, an explicit test case is the best way to prevent regressions in the future. It also updates and separates existing tests to be explicit about the situation that is being tested (eg. AR objects vs. other objects vs. non-integers)
* | | Merge pull request #8728 from amatsuda/model_all_returns_a_relationRafael Mendonça França2013-01-031-1/+1
|\ \ \ | | | | | | | | A small fix for an AR test case
| * | | need to to_a the Relation to execute SQL hereAkira Matsuda2013-01-041-1/+1
| | | |
* | | | Merge pull request #8705 from amparo-luna/change_update_attributes_to_updateGuillermo Iguaran2013-01-0312-81/+119
|\ \ \ \ | |/ / / |/| | | Rename update_attributes method to update
| * | | Rename update_attributes method to update, keep update_attributes as an aliasAmparo Luna + Guillermo Iguaran2013-01-0312-81/+119
| | | |
* | | | CVE-2012-5664 options hashes should only be extracted if there are extra ↵Aaron Patterson2013-01-021-0/+12
|/ / / | | | | | | | | | | | | | | | | | | parameters Conflicts: activerecord/lib/active_record/dynamic_matchers.rb
* | | Merge pull request #8682 from amatsuda/rm_as_frozen_object_errorGuillermo Iguaran2013-01-013-6/+3
|\ \ \ | | | | | | | | remove meaningless AS::FrozenObjectError
| * | | remove meaningless AS::FrozenObjectErrorAkira Matsuda2013-01-023-6/+3
| |/ /
* | | Standardize the use of current_adapter?Rafael Mendonça França2013-01-019-19/+19
| | |
* | | Merge pull request #8678 from yahonda/remove_column_oracleRafael Mendonça França2013-01-011-2/+3
|\ \ \ | | | | | | | | Address a failure test_remove_column_with_multi_column_index with Oracle
| * | | Address a failure test_remove_column_with_multi_column_index with Oracle ↵Yasuo Honda2013-01-021-2/+3
| |/ / | | | | | | | | | | | | | | | | | | database Not only PostgreSQL, Oracle database adapter drops the multi-column index if any of the indexed columns dropped by remove_column.
* / / unused scopeAkira Matsuda2013-01-021-2/+0
|/ /
* | Alias refute methods to assert_not and perfer assert_not on testsRafael Mendonça França2012-12-3110-40/+40
| |
* | Add active_support/testing/autorunRafael Mendonça França2012-12-312-2/+2
| | | | | | | | | | minitest/autorun load minitest/spec polluting the global namespace with the DSL that we don't want on Rails