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()