aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorRobin Dupret <robin.dupret@gmail.com>2013-10-22 13:17:52 +0200
committerRobin Dupret <robin.dupret@gmail.com>2013-10-22 14:13:14 +0200
commit52b252614e275da799b6a15cebbfd067c59987d1 (patch)
tree941a7fc64fc84da3442b66338805829c16f6d16d /railties/test
parent99044beb8163d42d6f0bcf26c7215e209e7f2bc7 (diff)
downloadrails-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.rb10
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)