# File test/contrib_test.rb, line 232 def test_umlaut koln_iso = 'Köln' koln_utf = 'Köln' source_iso = "<?xml version='1.0' encoding='ISO-8859-1'?><test>#{koln_iso}</test>" source_utf = "<?xml version='1.0' encoding='UTF-8'?><test>#{koln_utf}</test>" doc = REXML::Document.new(source_iso) assert_equal 'ISO-8859-1', doc.xml_decl.encoding assert_equal koln_utf, doc.root.text out = '' ; doc.write out assert_equal source_iso, out doc.xml_decl.encoding = 'UTF-8' out = '' ; doc.write out assert_equal source_utf, out doc = Document.new "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<intranet>\n<position><aktuell datum=\"01-10-11\">Technik</aktuell></position>\n<hauptspalte>\n<headline>Technik</headline>\nDie Technik ist das R\374ckgrat der meisten Gesch\344ftsprozesse bei Home of the Brave. Deshalb sollen hier alle relevanten technischen Abl\344ufe, Daten und Einrichtungen beschrieben werden, damit jeder im Bedarfsfall die n\366tigen Informationen, Anweisungen und Verhaltensempfehlungen nachlesen und/oder abrufen kann.\n</hauptspalte>\n<nebenspalte>\n <link ziel=\"Flash/\">Flash</link><umbruch/>\n N\374tzliches von Flashern f\374r Flasher.<umbruch/>\n <link neu=\"ja\" ziel=\"Cvs/\">CVS-FAQ</link><umbruch/>\n FAQ zur Benutzung von CVS bei HOB\n</nebenspalte>\n</intranet>\n" tn = XPath.first(doc, "//nebenspalte/text()[2]") assert_equals "Nützliches von Flashern für Flasher.".unpack('C*').pack('U*'), tn.to_s.strip o = '' tn.write( Output.new(o, "ISO-8859-1") ) assert_equals "Nützliches von Flashern für Flasher.", o.strip doc = Document.new File.new 'test/xmlfile-bug.xml' tn = XPath.first(doc, "//nebenspalte/text()[2]") assert_equals "Nützliches von Flashern für Flasher.".unpack('C*').pack('U*'), tn.to_s.strip o = '' tn.write( Output.new(o, "ISO-8859-1") ) assert_equals "Nützliches von Flashern für Flasher.", o.strip end