aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add backticks around String#camelizeRyuta Kamizono2017-08-041-2/+2
| | | | [ci skip]
* Merge pull request #30011 from guilherme/fix-migration-generator-special-casesSean Griffin2017-08-032-1/+23
|\ | | | | Handling add/remove to/from migration edge cases
| * Handling add/remove to/from migration edge casesGuilherme Reis Campos2017-08-032-1/+23
| | | | | | | | Making sure the table name is parsed correctly when an add/remove column migration have 'from'/'to' in the table name.
* | Merge pull request #30039 from ricardotk002/fix-string-camelize-invalid-optionSean Griffin2017-08-033-0/+26
|\ \ | | | | | | Update String#camelize to provide feedback when a wrong option is sent
| * | Fix changelog formatSean Griffin2017-08-031-1/+0
| | |
| * | Update String#camelize to provide feedback when wrong option is passedRicardo Díaz2017-08-023-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | String#camelize was returning nil without any feedback when an invalid option was passed as parameter. This update makes the method to raises an ArgumentError when the option passed is invalid, similar to what Ruby does for String#downcase (and others) in 2.4.1. https://ruby-doc.org/core-2.4.1/String.html#method-i-downcase
* | | Merge pull request #29984 from colorfulfool/form-helpers-unicode-sanitizationRafael França2017-08-022-1/+15
|\ \ \ | | | | | | | | Allow non-English values for collection_radio_buttons
| * | | Allow non-English values for collection_radio_buttons/check_boxescolorfulfool2017-08-022-1/+15
| | | |
* | | | Merge pull request #29958 from znz/file-nullMatthew Draper2017-08-025-5/+5
|\ \ \ \ | | | | | | | | | | Use File::NULL instead of "/dev/null"
| * | | | Use File::NULL instead of "/dev/null"Kazuhiro NISHIYAMA2017-07-315-5/+5
| | |_|/ | |/| |
* | | | Merge pull request #29914 from ↵Matthew Draper2017-08-023-19/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | kamipo/relation_merger_should_not_fill_empty_values `Relation::Merger` should not fill `values` with empty values
| * | | | `get_value` and `set_value` in `Relation` are no longer used externallyRyuta Kamizono2017-07-251-9/+10
| | | | |
| * | | | `Relation::Merger` should not fill `values` with empty valuesRyuta Kamizono2017-07-252-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `Relation#merge` will almost fill `values` with empty values (e.g. `other.order_values` is always true, it should be `other.order_values.any?`). This means that `Relation#merge` always changes `values` even if actually `values` is nothing changed. This behavior will makes `Relation#empty_scope?` fragile. So `Relation#merge` should avoid unnecessary changes.
* | | | | Merge pull request #29842 from kamipo/fix_find_by_with_rangeMatthew Draper2017-08-023-4/+12
|\ \ \ \ \ | | | | | | | | | | | | Fix `find_by` with range conditions
| * | | | | Fix `find_by` with range conditionsRyuta Kamizono2017-07-203-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `StatementCache` doesn't support range conditions. So we need to through the args to `FinderMethods#find_by` if range value is passed.
* | | | | | Merge pull request #29271 from rails/unlock-minitestKasper Timm Hansen2017-08-0222-75/+105
|\ \ \ \ \ \ | | | | | | | | | | | | | | Unlock minitest for Rails' test suite
| * \ \ \ \ \ Merge remote-tracking branch 'origin/master' into unlock-minitestRafael Mendonça França2017-08-012023-2034/+16833
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | |
| * | | | | | Merge pull request #29995 from y-yagi/fix_test_runner_outputKasper Timm Hansen2017-07-302-2/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix test runner's output
| | * | | | | | Fix test runner's outputyuuji.yaginuma2017-07-302-2/+2
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output changed due to specification change of `SummaryReporter#aggregated_results` in minitest 5.10.2. In my opinion, that should fix rails's test runner(proceeding with #29354). However, we still need discussion and the fix itself is minor, so I think that we can fix only the test first.
| * | | | | | Merge pull request #29823 from y-yagi/fix_record_not_unique_errorKasper Timm Hansen2017-07-171-20/+20
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Move `reset_pk_sequence!` test to `AdapterTestWithoutTransaction`
| | * | | | | | Move `reset_pk_sequence!` test to `AdapterTestWithoutTransaction`yuuji.yaginuma2017-07-171-20/+20
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If execute PostgreSQL test with specifying 53853 for seed, the following error will occur. ``` 1) Error: TransactionTest#test_restore_custom_primary_key_after_rollback: ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "movies_pkey" DETAIL: Key (movieid)=(2) already exists. : INSERT INTO "movies" ("name") VALUES ($1) RETURNING "movieid" ``` travis is here https://travis-ci.org/rails/rails/jobs/254095918 As with #29287, it seems like a problem that the value of primary key obtained from connection gets different. Therefore, fixed to execute that test within transaction.
| * | | | | | Merge pull request #29808 from ↵Kasper Timm Hansen2017-07-161-0/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/reset_colun_information_after_schema_changed Reset column information after schema changed
| | * | | | | | Reset column information after schema changedyuuji.yaginuma2017-07-161-0/+2
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following failures. https://travis-ci.org/rails/rails/jobs/253990014
| * | | | | | Merge pull request #29380 from ↵Kasper Timm Hansen2017-07-151-0/+4
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/insert_environment_value_to_table_before_check_environment Insert environment value to `InternalMetadata` table before check environment
| | * | | | | | Insert environment value to `InternalMetadata` after recreating the tableyuuji.yaginuma2017-06-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes `ActiveRecord::DatabaseTasksUtilsTask#test_raises_an_error_when_called_with_protected_environment` test fails. https://travis-ci.org/rails/rails/jobs/238861562 https://travis-ci.org/rails/rails/jobs/239950092 There seems to be an error because `environment` value is not exist. This is because did not set the environment after recreating the table in `SchemaMigrationsTest#test_initializes_internal_metadata_for_encoding_utf8mb4`. Therefore, we create value after the test to maintain the original state.
| * | | | | | | Stupid empty line added after merge.Kasper Timm Hansen2017-07-151-1/+0
| | | | | | | |
| * | | | | | | Bump minitest; Use double quotesKasper Timm Hansen2017-07-152-2/+2
| | | | | | | |
| * | | | | | | Merge branch 'master' into unlock-minitestKasper Timm Hansen2017-07-151037-3778/+6367
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge pull request #29479 from yahonda/unlock-minitest_mysql_booleanRafael França2017-06-161-0/+7
| |\ \ \ \ \ \ \ \ | | |_|/ / / / / / | |/| | | | | | | Add teardown to reset_connection at MysqlTypeLookupTest
| | * | | | | | | Add teardown to reset_connection at MysqlTypeLookupTestYasuo Honda2017-06-071-0/+7
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to address `Mysql2BooleanTest#test_column_type_without_emulated_booleans` failure
| * | | | | | | Merge pull request #29359 from y-yagi/load_schema_before_assertionMatthew Draper2017-06-061-0/+6
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Load schema before assertion
| | * | | | | | | Load schema before assertionyuuji.yaginuma2017-06-061-0/+6
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, test fails because the load schema when pluck is executed. Steps to reproduce: ``` bin/test -a postgresql -w --seed 61689 test/cases/*test.rb -n "/^(?:InheritanceComputeTypeTest#(?:test_inheritance_new_with_subclass_as_default)|CalculationsTest#(?:test_pluck_loaded_relation))$/" # Running: .F Failure: CalculationsTest#test_pluck_loaded_relation [/home/yaginuma/program/rails/master_y_yagi/rails/activerecord/test/cases/calculations_test.rb:722]: 1 instead of 0 queries were executed. Queries: SELECT c.relname FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = ANY (current_schemas(false)) AND c.relname = 'companies' AND c.relkind IN ('r','v','m'). Expected: 0 Actual: 1 bin/test test/cases/calculations_test.rb:7 ```
| * | | | | | | Merge pull request #29341 from y-yagi/explicitly_clear_type_map_before_run_testMatthew Draper2017-06-042-10/+12
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Explicitly clear type map before run `test_only_reload_type_map_once_for_every_unknown_type`
| | * | | | | | | Explicitly clear type map before run ↵yuuji.yaginuma2017-06-032-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `test_only_reload_type_map_once_for_every_unknown_type` Currently, the following test fails. ``` bin/test -a sqlite3_mem --seed 37473 test/cases/relation_test.rb ``` This is due to reset connection in `test_respond_to_for_non_selected_element` postprocessing. This reset is added with #29332 for `test_only_reload_type_map_once_for_every_unknown_type`. Since the above test expects the type map to be empty at the time of test run, I think that it is better to empty the type map before test run.
| * | | | | | | | Reset the fixture cache after (re)loading the schemaMatthew Draper2017-06-031-0/+2
| |/ / / / / / /
| * | | | | | | Merge pull request #29332 from yahonda/unlock-minitest_unknown_type_fixRafael França2017-06-021-0/+5
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Clean up `type_map` at the end of test_respond_to_for_non_selected_element
| | * | | | | | | Clean up `type_map` at the end of test_respond_to_for_non_selected_elementYasuo Honda2017-06-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `test_only_reload_type_map_once_for_every_unknown_type` expects no one already registers unknown OID to `type_map`. However, `test_respond_to_for_non_selected_element` registers it and does not clean up it. Addresses #29331 at unlock-minitest branch
| * | | | | | | | Merge branch 'master' into unlock-minitestRafael Mendonça França2017-06-0268-338/+459
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #29317 from alexcameron89/fix_persistence_save_testMatthew Draper2017-06-021-21/+7
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Use existing class in PersistenceTest::SaveTest
| | * | | | | | | | Use existing class in PersistenceTest::SaveTestAlex Kitchens2017-06-011-21/+7
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating a new class for widgets was causing failing tests because it clashed with other widget classes. This test does not need to create its own class, so I changed it to an existing class. ``` ARCONN=mysql2 bin/test --seed 25364 test/cases/*test.rb -n \ "/^(?:PrimaryKeyIntegerTest#(?:test_primary_key_with_serial_integer_are_automatically_numbered)|PersistenceTest::SaveTest#(?:test_save_touch_false))$/" ```
| * | | | | | | | Merge pull request #29287 from alexcameron89/fix-db-statement-test-48104Matthew Draper2017-06-011-0/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix random minitest error: database_statements_test
| | * | | | | | | | Reset primary key sequence in FixturesResetPkSequenceTestsAlex Kitchens2017-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primary key sequence for each test in FixturesResetPkSequenceTest is reset. The state in some of the FixturesResetPkSequenceTest tests are leaking, causing failurse in others. Using a seed of `48104`, the `FixturesResetPkSequenceTest#test_resets_to_min_pk_with_specified_pk_and_sequence` runs before the `DatabaseStatementsTest` tests, and the tests fail with duplicate primary key errors: ``` Run options: --seed 48104 -n "/^(?:FixturesResetPkSequenceTest#(?:test_resets_to_min_pk_with_specified_pk_and_sequence)|DatabaseStatementsTest#(?:test_create_should_return_the_inserted_id|test_exec_insert|test_insert_should_return_the_inserted_id))$/" .EEE 1) Error: DatabaseStatementsTest#test_exec_insert: ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "accounts_pkey" DETAIL: Key (id)=(2) already exists. 2) Error: DatabaseStatementsTest#test_create_should_return_the_inserted_id: ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "accounts_pkey" DETAIL: Key (id)=(3) already exists. 3) Error: DatabaseStatementsTest#test_insert_should_return_the_inserted_id: ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "accounts_pkey" DETAIL: Key (id)=(4) already exists. ```
| * | | | | | | | | Merge pull request #29298 from alexcameron89/minitest-59389Rafael França2017-05-311-0/+2
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Ensure fixtures are loaded for FoxyFixturesTest
| | * | | | | | | | | Ensure fixtures are loaded for FoxyFixturesTestAlex Kitchens2017-05-311-0/+2
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the fixtures are properly loaded for FoxyFixturesTest When tests are randomized, FoxyFixturesTest often fails due to unloaded fixtures.
| * | | | | | | | | Merge pull request #29291 from y-yagi/make_sure_to_disable_extension_after_testMatthew Draper2017-05-311-6/+2
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | Make sure to disable extension after test
| | * | | | | | | | Make sure to disable extension after testyuuji.yaginuma2017-05-311-6/+2
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If keep the extension, can not test properly to make sure that extension can be enabled.
| * | | | | | | | Merge pull request #29277 from y-yagi/reset_time_zone_to_previous_valueKasper Timm Hansen2017-05-301-1/+8
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Reset time zone to previous value
| | * | | | | | | | Reset time zone to previous valueyuuji.yaginuma2017-05-301-1/+8
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `CurrentAttributesTest` changed the global time zone, it is necessary to restore the original value after changing the test. The reproduction step: ``` ./bin/test -w --seed 5549 test/current_attributes_test.rb test/core_ext/date_ext_test.rb ```
| * | | | | | | | Merge branch 'master' into unlock-minitestKasper Timm Hansen2017-05-29421-2199/+3517
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge pull request #29071 from y-yagi/fix_default_scoping_testKasper Timm Hansen2017-05-281-0/+4
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Explicitly create necessary data for test