diff options
author | Matthew Draper <matthew@trebex.net> | 2016-07-09 07:14:26 +0930 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-09 07:14:26 +0930 |
commit | 4e961ca184d39bcc3755d017e94bf03c6e656b29 (patch) | |
tree | 34cf9e4e67ca8a59ba78111fb5c6881c8993b579 /activerecord/test | |
parent | c62ac07be86a747f9b40ad25f60003e4f6022d26 (diff) | |
parent | 3b49d792231f8051a82cee37c46ac5b23de844db (diff) | |
download | rails-4e961ca184d39bcc3755d017e94bf03c6e656b29.tar.gz rails-4e961ca184d39bcc3755d017e94bf03c6e656b29.tar.bz2 rails-4e961ca184d39bcc3755d017e94bf03c6e656b29.zip |
Merge pull request #23636 from rab/fix-to_param-truncation
fix to_param to maximize content
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/integration_test.rb | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/activerecord/test/cases/integration_test.rb b/activerecord/test/cases/integration_test.rb index 08a186ae07..97a0cdb5db 100644 --- a/activerecord/test/cases/integration_test.rb +++ b/activerecord/test/cases/integration_test.rb @@ -29,10 +29,30 @@ class IntegrationTest < ActiveRecord::TestCase assert_equal '4-flamboyant-software', firm.to_param end + def test_to_param_class_method_truncates_words_properly + firm = Firm.find(4) + firm.name << ', Inc.' + assert_equal '4-flamboyant-software', firm.to_param + end + + def test_to_param_class_method_truncates_after_parameterize + firm = Firm.find(4) + firm.name = "Huey, Dewey, & Louie LLC" + # 123456789T123456789v + assert_equal '4-huey-dewey-louie-llc', firm.to_param + end + + def test_to_param_class_method_truncates_after_parameterize_with_hyphens + firm = Firm.find(4) + firm.name = "Door-to-Door Wash-n-Fold Service" + # 123456789T123456789v + assert_equal '4-door-to-door-wash-n', firm.to_param + end + def test_to_param_class_method_truncates firm = Firm.find(4) firm.name = 'a ' * 100 - assert_equal '4-a-a-a-a-a-a-a-a-a', firm.to_param + assert_equal '4-a-a-a-a-a-a-a-a-a-a', firm.to_param end def test_to_param_class_method_truncates_edge_case @@ -41,10 +61,16 @@ class IntegrationTest < ActiveRecord::TestCase assert_equal '4-david', firm.to_param end + def test_to_param_class_method_truncates_case_shown_in_doc + firm = Firm.find(4) + firm.name = 'David Heinemeier Hansson' + assert_equal '4-david-heinemeier', firm.to_param + end + def test_to_param_class_method_squishes firm = Firm.find(4) firm.name = "ab \n" * 100 - assert_equal '4-ab-ab-ab-ab-ab-ab', firm.to_param + assert_equal '4-ab-ab-ab-ab-ab-ab-ab', firm.to_param end def test_to_param_class_method_multibyte_character |