diff options
Diffstat (limited to 'test/test_generator.rb')
-rw-r--r-- | test/test_generator.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/test_generator.rb b/test/test_generator.rb index e03c49d..71974dd 100644 --- a/test/test_generator.rb +++ b/test/test_generator.rb @@ -70,4 +70,41 @@ class TestGenerator < Test::Unit::TestCase assert_equal expected, output.gsub(/[\t]/, "\s\s") end + + def test_custom_indent + hsh = { key1: 1, 'key2' => 2 } + output_plist_node = Plist::Emit.plist_node(hsh, indent: nil) + output_plist_dump_with_envelope = Plist::Emit.dump(hsh, indent: nil) + output_plist_dump_no_envelope = Plist::Emit.dump(hsh, false, indent: nil) + + expected_with_envelope = <<-STR +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> +<key>key1</key> +<integer>1</integer> +<key>key2</key> +<integer>2</integer> +</dict> +</plist> +STR + + expected_no_envelope = <<-STR +<dict> +<key>key1</key> +<integer>1</integer> +<key>key2</key> +<integer>2</integer> +</dict> +STR + assert_equal expected_no_envelope, output_plist_node + assert_equal expected_with_envelope, output_plist_dump_with_envelope + assert_equal expected_no_envelope, output_plist_dump_no_envelope + + hsh.save_plist('test.plist', indent: nil) + output_plist_file = File.read('test.plist') + assert_equal expected_with_envelope, output_plist_file + File.unlink('test.plist') + end end |