@@ -111,6 +111,59 @@ public function testToString()
111111 public function testFromString ()
112112 {
113113
114+ /**
115+ * @see conjoon/php-lib-conjoon#12
116+ */
117+ $ tests = [
118+ [
119+ [
"Peter, Parker " ,
"[email protected] " ],
120+ [
"\"Peter, Parker \"" ,
"[email protected] " ]
121+ ],
122+ [
123+ [
"Parker Peter " ,
"[email protected] " ],
124+ [
"Parker Peter " ,
"[email protected] " ],
125+ ],
126+ [
127+ [
"Parker \" Peter " ,
"[email protected] " ],
128+ [
"\"Parker \\\" Peter \"" ,
"[email protected] " ],
129+ ],
130+ [
131+ [
"Parker ' Peter " ,
"[email protected] " ],
132+ [
"\"Parker \' Peter \"" ,
"[email protected] " ],
133+ ],
134+ [
135+ [
"Parker \"Parker, Peter Peter " ,
"[email protected] " ],
136+ [
"\"Parker \\\"Parker, Peter Peter \"" ,
"[email protected] " ],
137+ ],
138+ [
139+ [
"Schäfer, Peter " ,
"[email protected] " ],
140+ [
"\"Schäfer, Peter \"" ,
"[email protected] " ]
141+ ],
142+ [
143+ [
'"Schäfer, Peter" ' ,
"[email protected] " ],
144+ [
'"\"Schäfer, Peter\"" ' ,
"[email protected] " ]
145+ ],
146+ [
147+ [
'"Schä"fer, Pe"ter" ' ,
"[email protected] " ],
148+ [
'"\"Schä\"fer, Pe\"ter\"" ' ,
"[email protected] " ]
149+ ]
150+
151+ ];
152+
153+ foreach ($ tests as $ test ) {
154+ [$ input , $ output ] = $ test ;
155+
156+ $ mailAddress = new MailAddress ($ input [1 ], $ input [0 ]);
157+
158+ $ jsonString = json_encode ($ mailAddress ->toJson ());
159+ $ fromStringMailAddress = MailAddress::fromString ($ jsonString );
160+
161+ $ this ->assertSame ($ output [1 ], $ fromStringMailAddress ->getAddress ());
162+ $ this ->assertSame ($ output [0 ], $ fromStringMailAddress ->getName ());
163+ }
164+
165+
166+
114167 $ name = "Peter Parker " ;
115168116169 $ mailAddress = new MailAddress ($ address , $ name );
@@ -166,39 +219,4 @@ public function testCopy()
166219 }
167220
168221
169- /**
170- * @see conjoon/php-lib-conjoon#12
171- */
172- public function testForAddressThatNeedToBeSanitized ()
173- {
174- $ tests = [
175- [
176- [
"Parker, Peter " ,
"[email protected] " ],
177- [
"\"Parker, Peter \"" ,
"[email protected] " ],
178- ],
179- [
180- [
"Parker Peter " ,
"[email protected] " ],
181- [
"Parker Peter " ,
"[email protected] " ],
182- ],
183- [
184- [
"Parker \" Peter " ,
"[email protected] " ],
185- [
"\"Parker \\\" Peter \"" ,
"[email protected] " ],
186- ],
187- [
188- [
"Parker ' Peter " ,
"[email protected] " ],
189- [
"\"Parker \' Peter \"" ,
"[email protected] " ],
190- ],
191- [
192- [
"Parker \"Parker, Peter Peter " ,
"[email protected] " ],
193- [
"\"Parker \\\"Parker, Peter Peter \"" ,
"[email protected] " ],
194- ]
195- ];
196-
197- foreach ($ tests as $ test ) {
198- [$ input , $ output ] = $ test ;
199- $ mailAddress = new MailAddress ($ input [1 ], $ input [0 ]);
200- $ this ->assertSame ($ output [1 ], $ mailAddress ->getAddress ());
201- $ this ->assertSame ($ output [0 ], $ mailAddress ->getName ());
202- }
203- }
204222}
0 commit comments