spec/dslh_spec.rb in dslh-0.3.5 vs spec/dslh_spec.rb in dslh-0.3.6
- old
+ new
@@ -773,10 +773,18 @@
dsl = Dslh.deval(template)
evaluated = Dslh.eval(dsl, :key_conv => proc {|i| i.to_s }, :dump_old_hash_array_format => true)
expect(evaluated).to eq(template)
end
+ it 'should convert json to dsl (use braces)' do
+ template = JSON.parse(drupal_multi_az_template)
+
+ dsl = Dslh.deval(template)
+ evaluated = Dslh.eval(dsl, :key_conv => proc {|i| i.to_s }, :use_braces_instead_of_do_end => true)
+ expect(evaluated).to eq(template)
+ end
+
it 'should convert json to dsl with key_conf' do
template = JSON.parse(drupal_multi_az_template)
key_conv = proc do |k|
k.to_s.gsub('::', '__')
@@ -2747,8 +2755,51 @@
GlossSee "markup"
end
end
end
end
+ EOS
+ end
+
+ it 'should convert hash to dsl (use braces)' do
+ h = {"glossary"=>
+ {"title"=>"example glossary",
+ "GlossDiv"=>
+ {"title"=>"S",
+ "GlossList"=>
+ {"GlossEntry"=>
+ {"ID"=>"SGML",
+ "SortAs"=>"SGML",
+ "GlossTerm"=>"Standard Generalized Markup Language",
+ "Acronym"=>"SGML",
+ "Abbrev"=>"ISO 8879:1986",
+ "GlossDef"=>
+ {"para"=>
+ "A meta-markup language, used to create markup languages such as DocBook.",
+ "GlossSeeAlso"=>["GML", "XML"]},
+ "GlossSee"=>"markup"}}}}}
+
+ dsl = Dslh.deval(h, :use_braces_instead_of_do_end => true)
+ expect(dsl).to eq(<<-EOS)
+glossary {
+ title "example glossary"
+ GlossDiv {
+ title "S"
+ GlossList {
+ GlossEntry {
+ ID "SGML"
+ SortAs "SGML"
+ GlossTerm "Standard Generalized Markup Language"
+ Acronym "SGML"
+ Abbrev "ISO 8879:1986"
+ GlossDef {
+ para "A meta-markup language, used to create markup languages such as DocBook."
+ GlossSeeAlso "GML", "XML"
+ }
+ GlossSee "markup"
+ }
+ }
+ }
+}
EOS
end
end