diff options
author | Robin Dupret <robin.dupret@gmail.com> | 2013-10-22 13:17:52 +0200 |
---|---|---|
committer | Robin Dupret <robin.dupret@gmail.com> | 2013-10-22 14:13:14 +0200 |
commit | 52b252614e275da799b6a15cebbfd067c59987d1 (patch) | |
tree | 941a7fc64fc84da3442b66338805829c16f6d16d /railties/test | |
parent | 99044beb8163d42d6f0bcf26c7215e209e7f2bc7 (diff) | |
download | rails-52b252614e275da799b6a15cebbfd067c59987d1.tar.gz rails-52b252614e275da799b6a15cebbfd067c59987d1.tar.bz2 rails-52b252614e275da799b6a15cebbfd067c59987d1.zip |
Make the application name snake cased when it contains spaces
The application name is used to fill the `database.yml` and
`session_store.rb` files ; previously, if the provided name contained
whitespaces, it led to unexpected names in these files.
Since Shellwords.escape adds backslashes to escape spaces, the app_name
should remove them and replace any space with an underscore (just like
periods previously).
Also improve the assert_file helper to work with paths containing spaces
using String#shellescape.
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/generators/app_generator_test.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 2f0dfc7d3e..24f01c878c 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -367,6 +367,16 @@ class AppGeneratorTest < Rails::Generators::TestCase assert_no_match(/run bundle install/, output) end + def test_application_name_with_spaces + path = File.join(destination_root, "foo bar".shellescape) + + # This also applies to MySQL apps but not with SQLite + run_generator [path, "-d", 'postgresql'] + + assert_file "foo bar/config/database.yml", /database: foo_bar_development/ + assert_file "foo bar/config/initializers/session_store.rb", /key: '_foo_bar/ + end + protected def action(*args, &block) |