import cStringIO from Ft.Lib import Uri from Ft.Xml.Domlette import Print from Ft.Xml import InputSource from Ft.Xml.Lib import TreeCompare # whitespace is significant!! EXPECTED_1 = """ Pieter Aaron
404 Error Way
404-555-1234 404-555-4321 404-555-5555 pieter.aaron@inter.net
Gegbefuna Nwannem
666 Murtala Mohammed Blvd.
999-101-1001 nwanneg@naija.ng
Emeka Ndubuisi
42 Spam Blvd
767-555-7676 767-555-7642 800-SKY-PAGEx767676 endubuisi@spamtron.com
Vasia Zhugenev
2000 Disaster Plaza
000-987-6543 000-000-0000 vxz@magog.ru
""" EXPECTED_2 = """ Pieter Aaron
404 Error Way
404-555-1234 404-555-4321 404-555-5555 pieter.aaron@inter.net
"""""" Gegbefuna Nwannem
666 Murtala Mohammed Blvd.
999-101-1001 nwanneg@naija.ng
Emeka Ndubuisi
42 Spam Blvd
767-555-7676 767-555-7642 800-SKY-PAGEx767676 endubuisi@spamtron.com
"""""" Gegbefuna Nwannem
666 Murtala Mohammed Blvd.
999-101-1001 nwanneg@naija.ng
Vasia Zhugenev
2000 Disaster Plaza
000-987-6543 000-000-0000 vxz@magog.ru
""" def Test(tester): base = Uri.OsPathToUri(__file__, attemptAbsolute=True) tester.startGroup('Simple XLinks') from Ft.Xml.XLink.Processor import Processor tester.startTest('Process w/xlink:show="embed"') uri1 = Uri.Absolutize('addr_book1.xml', base) isrc = InputSource.DefaultFactory.fromUri(uri1) p = Processor() doc = p.run(isrc) stream = cStringIO.StringIO() Print(doc, stream) actual = stream.getvalue() tester.compare(EXPECTED_1, actual, func=TreeCompare.TreeCompare) tester.testDone() tester.startTest('Process w/xlink:show="replace"') uri3 = Uri.Absolutize('addr_book3.xml', base) isrc = InputSource.DefaultFactory.fromUri(uri3) p = Processor() doc = p.run(isrc) stream = cStringIO.StringIO() Print(doc, stream) actual = stream.getvalue() tester.compare(EXPECTED_2, actual, func=TreeCompare.TreeCompare) tester.testDone() return tester.groupDone()