@@ -68,6 +68,58 @@ - (void)testMatrixIdentifiers
6868 XCTAssertTrue ([MXTools isMatrixGroupIdentifier: @" +matrix:matrix.org" ]);
6969}
7070
71+ - (void )testEmailAddresses
72+ {
73+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
74+ XCTAssertTrue ([MXTools isEmailAddress: @" alice@matrix" ]);
75+ XCTAssertTrue ([MXTools isEmailAddress: @" al-i_ce@matrix" ]);
76+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
77+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
78+ XCTAssertTrue ([MXTools isEmailAddress: @" *@example.net" ]);
79+ XCTAssertTrue ([MXTools
isEmailAddress: @" fred&[email protected] " ]);
80+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
81+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
82+ XCTAssertTrue ([MXTools isEmailAddress: @" mailbox.sub1.sub2@this-domain" ]);
83+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
84+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
85+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
86+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
87+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
88+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
89+ XCTAssertTrue ([MXTools isEmailAddress: @" admin@mailserver1" ]);
90+ XCTAssertTrue ([MXTools
isEmailAddress: @" #!$%&'*+-/=?^_`{}|[email protected] " ]);
91+ XCTAssertTrue ([MXTools isEmailAddress: @" example@localhost" ]);
92+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
93+ XCTAssertTrue ([MXTools isEmailAddress: @" user@localserver" ]);
94+ XCTAssertTrue ([MXTools isEmailAddress: @" user@tt" ]);
95+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
96+ XCTAssertTrue ([MXTools
isEmailAddress: @" [email protected] " ]);
97+
98+ XCTAssertFalse ([MXTools isEmailAddress: @" alice.matrix.org" ]);
99+ XCTAssertFalse ([MXTools
isEmailAddress: @" al [email protected] " ]);
100+ XCTAssertFalse ([MXTools
isEmailAddress: @" al([email protected] " ]);
101+ XCTAssertFalse ([MXTools isEmailAddress: @" alice@" ]);
102+ XCTAssertFalse ([MXTools
isEmailAddress: @" al\n [email protected] " ]);
103+ XCTAssertFalse ([MXTools
isEmailAddress: @" al@[email protected] " ]);
104+ XCTAssertFalse ([MXTools
isEmailAddress: @" al@[email protected] " ]);
105+ XCTAssertFalse ([MXTools isEmailAddress: @" Just a string" ]);
106+ XCTAssertFalse ([MXTools isEmailAddress: @" string" ]);
107+ XCTAssertFalse ([MXTools isEmailAddress: @" me@" ]);
108+ XCTAssertFalse ([MXTools isEmailAddress: @" @example.com" ]);
109+ XCTAssertFalse ([MXTools
isEmailAddress: @" [email protected] " ]);
110+ XCTAssertFalse ([MXTools
isEmailAddress: @" [email protected] " ]);
111+ XCTAssertFalse ([MXTools
isEmailAddress: @" [email protected] " ]);
112+ XCTAssertFalse ([MXTools isEmailAddress: @" me\\ @example.com" ]);
113+ XCTAssertFalse ([MXTools isEmailAddress: @" Abc.example.com" ]);
114+ XCTAssertFalse ([MXTools
isEmailAddress: @" A@b@[email protected] " ]);
115+ XCTAssertFalse ([MXTools
isEmailAddress: @" a\" b(c)d,e:f;g<h>i[j\\ k][email protected] " ]);
116+ XCTAssertFalse ([MXTools
isEmailAddress: @" just\" not\" [email protected] " ]);
117+ XCTAssertFalse ([MXTools
isEmailAddress: @" this is\" not\\ [email protected] " ]);
118+ XCTAssertFalse ([MXTools
isEmailAddress: @" this\\ still\\\" not\\\\ [email protected] " ]);
119+ XCTAssertFalse ([MXTools
isEmailAddress: @" [email protected] " ]);
120+ XCTAssertFalse ([MXTools
isEmailAddress: @" [email protected] " ]);
121+ }
122+
71123
72124#pragma mark - Strings encoding
73125
0 commit comments