def testMultiple(self): data = ( ( """BEGIN:VCARD VERSION:3.0 N:Thompson;Default;;; FN:Default Thompson EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA item1.X-ABADR:us UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson END:VCARD """.replace( "\n", "\r\n" ), ( """BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Default Thompson N:Thompson;Default;;; TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.X-ABADR:us END:VCARD """.replace( "\n", "\r\n" ), ), ), ( """BEGIN:VCARD VERSION:3.0 N:Thompson;Default;;; FN:Default Thompson EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA item1.X-ABADR:us UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson END:VCARD BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E2:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Another Thompson N:Thompson;Another;;; TEL;type=WORK;type=pref:1-555-555-5556 TEL;type=CELL:1-444-444-4445 item1.X-ABADR:us END:VCARD """.replace( "\n", "\r\n" ), ( """BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Default Thompson N:Thompson;Default;;; TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.X-ABADR:us END:VCARD """.replace( "\n", "\r\n" ), """BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E2:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Another Thompson N:Thompson;Another;;; TEL;type=WORK;type=pref:1-555-555-5556 TEL;type=CELL:1-444-444-4445 item1.X-ABADR:us END:VCARD """.replace( "\n", "\r\n" ), ), ), ) for item, results in data: cards = Card.parseMultipleTextData(StringIO.StringIO(item)) self.assertEqual(len(cards), len(results)) for card, result in zip(cards, results): self.assertEqual( str(card), result, "\n".join(difflib.unified_diff(str(card).splitlines(), result.splitlines())) )
def testMultiple(self): data = ( ("""BEGIN:VCARD VERSION:3.0 N:Thompson;Default;;; FN:Default Thompson EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA item1.X-ABADR:us UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson END:VCARD """.replace("\n", "\r\n"), ("""BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Default Thompson N:Thompson;Default;;; TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.X-ABADR:us END:VCARD """.replace("\n", "\r\n"), )), ("""BEGIN:VCARD VERSION:3.0 N:Thompson;Default;;; FN:Default Thompson EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;USA item1.X-ABADR:us UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson END:VCARD BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E2:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Another Thompson N:Thompson;Another;;; TEL;type=WORK;type=pref:1-555-555-5556 TEL;type=CELL:1-444-444-4445 item1.X-ABADR:us END:VCARD """.replace("\n", "\r\n"), ( """BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E1:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Default Thompson N:Thompson;Default;;; TEL;type=WORK;type=pref:1-555-555-5555 TEL;type=CELL:1-444-444-4444 item1.X-ABADR:us END:VCARD """.replace("\n", "\r\n"), """BEGIN:VCARD VERSION:3.0 UID:ED7A5AEC-AB19-4CE0-AD6A-2923A3E5C4E2:ABPerson item1.ADR;type=WORK;type=pref:;;1245 Test;Sesame Street;California;11111;U SA EMAIL;type=INTERNET;type=WORK;type=pref:[email protected] FN:Another Thompson N:Thompson;Another;;; TEL;type=WORK;type=pref:1-555-555-5556 TEL;type=CELL:1-444-444-4445 item1.X-ABADR:us END:VCARD """.replace("\n", "\r\n"), )), ) for item, results in data: cards = Card.parseMultipleTextData(StringIO.StringIO(item)) self.assertEqual(len(cards), len(results)) for card, result in zip(cards, results): self.assertEqual( str(card), result, "\n".join( difflib.unified_diff( str(card).splitlines(), result.splitlines())))