diff options
Diffstat (limited to 'test/test_generator_basic_types.rb')
-rw-r--r-- | test/test_generator_basic_types.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/test_generator_basic_types.rb b/test/test_generator_basic_types.rb index 3483373..ed59757 100644 --- a/test/test_generator_basic_types.rb +++ b/test/test_generator_basic_types.rb @@ -49,4 +49,38 @@ class TestBasicTypes < Test::Unit::TestCase assert_equal wrap('date', test_date.strftime('%Y-%m-%dT%H:%M:%SZ')), [test_date].to_plist(false) assert_equal wrap('date', test_datetime.strftime('%Y-%m-%dT%H:%M:%SZ')), [test_datetime].to_plist(false) end + + # generater tests from patrick's plist.rb code + def test_to_plist + assert_equal( Plist::_xml("<string>Hello, World</string>"), "Hello, World".to_plist ) + assert_equal( Plist::_xml("<real>151936595.697543</real>"), 151936595.697543.to_plist ) + assert_equal( Plist::_xml("<date>2006-04-21T16:47:58Z</date>"), DateTime.parse("2006-04-21T16:47:58Z").to_plist ) + assert_equal( Plist::_xml("<integer>999000</integer>"), 999000.to_plist ) + assert_equal( Plist::_xml("<false/>"), false.to_plist ) + assert_equal( Plist::_xml("<true/>"), true.to_plist ) + + assert_equal( Plist::_xml("<array>\n\t<true/>\n\t<false/>\n</array>"), + [ true, false ].to_plist ) + + assert_equal( Plist::_xml("<dict>\n\t<key>False</key>\n\t<false/>\n\t<key>True</key>\n\t<true/>\n</dict>"), + { 'True' => true, 'False' => false }.to_plist ) + + source = File.open("test/assets/AlbumData.xml") { |f| f.read } + + result = Plist::parse_xml(source) + + assert_equal( result, Plist::parse_xml(result.to_plist) ) + + File.delete('hello.plist') if File.exists?('hello.plist') + "Hello, World".save_plist('hello.plist') + assert_equal( Plist::_xml("<string>Hello, World</string>"), + File.open('hello.plist') {|f| f.read } ) + File.delete('hello.plist') if File.exists?('hello.plist') + end + + def test_escape_string_values + assert_equal( Plist::_xml("<string><plist></string>"), "<plist>".to_plist ) + assert_equal( Plist::_xml("<string>Fish & Chips</string>"), "Fish & Chips".to_plist ) + end + end |