Skip to content

Commit

Permalink
ruby: fix 'Util::Expander.expand_vars()' to return empty hash when ni…
Browse files Browse the repository at this point in the history
…l passed
  • Loading branch information
kwatch committed Feb 5, 2014
1 parent dad3a3d commit f518e42
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/migr8.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2167,7 +2167,7 @@ def expand_vars(vars)
d.each do |k, v|
dict[k] = expand_value(v, dict)
end
end
end if vars
return dict
end

Expand Down
43 changes: 43 additions & 0 deletions test/Util_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,49 @@
Oktest.scope do


topic Migr8::Util::Expander do


topic '.expand_vars()' do

spec "returns Hash object, even when arg is nil." do
ok {Migr8::Util::Expander.expand_vars([{}])} == {}
ok {Migr8::Util::Expander.expand_vars([{'x'=>123}])} == {'x'=>123}
ok {Migr8::Util::Expander.expand_vars([])} == {}
ok {Migr8::Util::Expander.expand_vars(nil)} == {}
end

spec "expands variables in Hash object." do
vars = [
{'table' => 'users'},
{'column' => 'name'},
{'index' => '${table}_${column}_idx'},
]
expanded = {
'table' => 'users',
'column' => 'name',
'index' => 'users_name_idx',
}
ok {Migr8::Util::Expander.expand_vars(vars)} == expanded
end

spec "raises error when unknown variable name exists." do
vars = [
{'table' => 'users'},
#{'column' => 'name'},
{'index' => '${table}_${column}_idx'},
]
expected = Migr8::Util::Expander::UnknownVariableError
pr = proc { Migr8::Util::Expander.expand_vars(vars) }
ok {pr}.raise?(expected, '${column}: no such variable.')
end

end


end


topic Migr8::Util::CommandOptionDefinition do

klass = Migr8::Util::CommandOptionDefinition
Expand Down

0 comments on commit f518e42

Please sign in to comment.