| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
find_by_* and find_by_*! are not deprecated for example, so lets add a
note only where it is needed
[ci skip]
|
|\
| |
| | |
clean up security guide: his => their [ci skip]
|
|/ |
|
| |
|
|\
| |
| | |
Improve ERB dependency detection
|
| | |
|
| |
| |
| |
| | |
Each chunk of text coming after `render` is now handled individually as a possible list of arguments.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current implementation can't handle some special cases of oddly-formatted Ruby. Now we are able to detect them:
* Multi-line arguments on the `render` call
* Strings containing quotes, e.g. `"something's wrong"`
* Multiple kinds of identifiers - instance variables, class variables and globals
* Method chains as arguments for the `render` call
Also, this fix reduces the rate of "false positives" which showed up when we had calls/access to identifiers containing `render`, like `surrender` and `rendering`.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Just create a local variable whenever we need the record, rather than
doing an extra find for every test on the setup method.
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Update fixture class name deprecation warning to give more information about caller
|
| | | |
|
|/ /
| |
| |
| | |
sup haters
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Make AR::Base#touch fire the after_commit and after_rollback callbacks.
Closes #12031.
|
| | | |
|
|/ /
| |
| |
| |
| | |
Ensure the child can actually be touched. The `Bulb` model has no
timestamp column, thus trying to touch it would return `nil`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change breaks tests in activesupport/test/core_ext/module_test.rb:
* test_delegation_exception_backtrace
* test_delegation_exception_backtrace_with_allow_nil
This reverts commit 0167765e3f84260522bc2f32d926c1f5dd44957c.
|
| |
| |
| |
| |
| |
| |
| | |
The revert is needed because of a regression described in #13369, routes
with trailing slash are no longer recognized properly.
This reverts commit 50311f1391ddd8e0349d74eb57f04b7e0045a27d.
|
| |
| |
| |
| |
| |
| | |
After introducing 50311f1 a regression was introduced: routes with
trailing slash are no longer recognized properly. This commit provides a
failing test for this situation.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This gets the whole Active Record suite working without calling
`self.i_suck_and_my_tests_are_order_dependent!` on `ActiveSupport::TestCase`.
Note that the test files themselves still run in order. This means
that only order dependencies within a single test file were addressed.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This solves order depndent problems in `base_test.rb`. The leaked column
information crashed test cases using the `Weird` class later on:
```
2) Error:
BasicsTest#test_group_weirds_by_from:
SyntaxError: /Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape
... attribute_before_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *arg...
... ^
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape
...te_before_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *args)
... ^
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:387: invalid hex escape
...e_type_cast("\x{A4CA}\x{A4DE}\x{A4A8}", *args)
... ^
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:385:in `module_eval'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:385:in `define_proxy_call'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:294:in `block in define_attribute_method'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:285:in `each'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:285:in `define_attribute_method'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `block in define_attribute_methods'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `each'
/Users/senny/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:252:in `define_attribute_methods'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:72:in `block in define_attribute_methods'
/Users/senny/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/mutex_m.rb:73:in `synchronize'
/Users/senny/.rbenv/versions/2.0.0-p353/lib/ruby/2.0.0/mutex_m.rb:73:in `mu_synchronize'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:69:in `define_attribute_methods'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:174:in `method_missing'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:45:in `public_send'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:45:in `_assign_attribute'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:32:in `block in assign_attributes'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:26:in `each'
/Users/senny/Projects/rails/activerecord/lib/active_record/attribute_assignment.rb:26:in `assign_attributes'
/Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:458:in `init_attributes'
/Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:191:in `initialize'
/Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:30:in `new'
/Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:30:in `new'
/Users/senny/Projects/rails/activerecord/lib/active_record/persistence.rb:33:in `create'
test/cases/base_test.rb:646:in `test_group_weirds_by_from'
```
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes the tests inside `migration_test.rb` order independent.
The assignments to `Reminder.table_name_prefix` and `Reminder.table_name_suffix`
previously leaked and had impact on following test cases.
This patch isolates the assignments on a throw-away subclass.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This solves order dependent issues where the last test
leaked the query cache state. This resulted in the following error:
```
QueryCacheExpiryTest#test_cache_is_expired_by_habtm_delete [test/cases/query_cache_test.rb:275]:
not all expectations were satisfied
unsatisfied expectations:
- expected exactly twice, invoked once: #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x7f93e0c65838>.clear_query_cache(any_parameters)
```
|
| | |
| | |
| | |
| | | |
This fixes test order issues.
|
|/ / |
|
| |
| |
| |
| | |
any line number maths
|
| |
| |
| |
| |
| |
| | |
This has been added 9 years ago in
a677da209b16f43198b3485dda89dce862fb9bfb, and removed 6 years ago in
38f8252e2d0a109d1b833d6b289cd989e7bfffe4.
|
| |
| |
| |
| | |
callbacks
|
| | |
|
|\ \
| | |
| | | |
Use single quotes in generated files
|
| | | |
|
| | |
| | |
| | |
| | | |
https://github.com/rails/rails/blob/e64a83cdbd3ce836f3339c600c1006b20c23d8fd/activerecord/test/cases/relation/merging_test.rb#L80-91
|
| | |
| | |
| | |
| | | |
rather than allocating a new Relation, just make the AST directly
|
| | | |
|
|/ /
| |
| |
| |
| | |
Conflicts:
activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
|
| |
| |
| |
| |
| |
| |
| | |
This fixes broken `rake test_sqlite3_mem` suite for Active Record.
The problem is that that the old database with the schema is lost
when establishing a new connection. Upon reconnting we are left
with a blank database and tests down the line start failing.
|
|\ \
| | |
| | | |
sqlite >= 3.8.0 supports partial indexes
|
|/ / |
|
|\ \
| | |
| | | |
Active Record's subclass_from_attributes shouldn't assume :type is for STI unless there is a type column.
|
|/ /
| |
| |
| |
| |
| |
| | |
The `subclass_from_attrs` method is called even if the column specified by
the `inheritance_column` setting doesn't exist. This prevents setting associations
via the attributes hash if the association name clashes with the value of the setting,
typically `:type`. This worked previously in Rails 3.2.
|