@@ -68,6 +68,60 @@ def db_create_and_drop(expected_database, environment_loaded: true)
68
68
db_create_and_drop ( "db/development.sqlite3" , environment_loaded : false )
69
69
end
70
70
71
+ test "db:create and db:drop don't raise errors when loading YAML with multiline ERB" do
72
+ app_file "config/database.yml" , <<-YAML
73
+ development:
74
+ database: <%=
75
+ Rails.application.config.database
76
+ %>
77
+ adapter: sqlite3
78
+ YAML
79
+
80
+ app_file "config/environments/development.rb" , <<-RUBY
81
+ Rails.application.configure do
82
+ config.database = "db/development.sqlite3"
83
+ end
84
+ RUBY
85
+
86
+ db_create_and_drop ( "db/development.sqlite3" , environment_loaded : false )
87
+ end
88
+
89
+ test "db:create and db:drop don't raise errors when loading YAML containing conditional statements in ERB" do
90
+ app_file "config/database.yml" , <<-YAML
91
+ development:
92
+ <% if Rails.application.config.database %>
93
+ database: <%= Rails.application.config.database %>
94
+ <% else %>
95
+ database: db/default.sqlite3
96
+ <% end %>
97
+ adapter: sqlite3
98
+ YAML
99
+
100
+ app_file "config/environments/development.rb" , <<-RUBY
101
+ Rails.application.configure do
102
+ config.database = "db/development.sqlite3"
103
+ end
104
+ RUBY
105
+
106
+ db_create_and_drop ( "db/development.sqlite3" , environment_loaded : false )
107
+ end
108
+
109
+ test "db:create and db:drop don't raise errors when loading YAML containing multiple ERB statements on the same line" do
110
+ app_file "config/database.yml" , <<-YAML
111
+ development:
112
+ database: <% if Rails.application.config.database %><%= Rails.application.config.database %><% else %>db/default.sqlite3<% end %>
113
+ adapter: sqlite3
114
+ YAML
115
+
116
+ app_file "config/environments/development.rb" , <<-RUBY
117
+ Rails.application.configure do
118
+ config.database = "db/development.sqlite3"
119
+ end
120
+ RUBY
121
+
122
+ db_create_and_drop ( "db/development.sqlite3" , environment_loaded : false )
123
+ end
124
+
71
125
def with_database_existing
72
126
Dir . chdir ( app_path ) do
73
127
set_database_url
0 commit comments