@@ -2,6 +2,8 @@ import 'package:collection/collection.dart';
22import 'package:linkify/linkify.dart' ;
33import 'package:test/test.dart' ;
44
5+ import '../lib/src/phone_number.dart' ;
6+
57final listEqual = const ListEquality ().equals;
68
79void expectListEqual (List actual, List expected) {
@@ -215,14 +217,28 @@ void main() {
215217
216218 test ('Parses user tag' , () {
217219 expectListEqual (
218- linkify ("@example" ),
220+ linkify (
221+ "@example" ,
222+ linkifiers: [
223+ UrlLinkifier (),
224+ EmailLinkifier (),
225+ UserTagLinkifier (),
226+ ],
227+ ),
219228 [UserTagElement ("@example" )],
220229 );
221230 });
222231
223232 test ('Parses email, link, and user tag' , () {
224233 expectListEqual (
225- linkify ("person@example.com at https://google.com @example" ),
234+ linkify (
235+ "person@example.com at https://google.com @example" ,
236+ linkifiers: [
237+ UrlLinkifier (),
238+ EmailLinkifier (),
239+ UserTagLinkifier (),
240+ ],
241+ ),
226242 [
227243 EmailElement ("person@example.com" ),
228244 TextElement (" at " ),
@@ -232,4 +248,71 @@ void main() {
232248 ],
233249 );
234250 });
251+
252+ test ('Parses invalid phone number' , () {
253+ expectListEqual (
254+ linkify (
255+ "This is an invalid numbers 17.00" ,
256+ linkifiers: [
257+ UrlLinkifier (),
258+ EmailLinkifier (),
259+ PhoneNumberLinkifier (),
260+ ],
261+ ),
262+ [
263+ TextElement ("This is an invalid numbers 17.00" ),
264+ ],
265+ );
266+ });
267+
268+ test ('Parses german phone number' , () {
269+ expectListEqual (
270+ linkify (
271+ "This is a german example number +49 30 901820" ,
272+ linkifiers: [
273+ UrlLinkifier (),
274+ EmailLinkifier (),
275+ PhoneNumberLinkifier (),
276+ ],
277+ ),
278+ [
279+ TextElement ("This is a german example number " ),
280+ PhoneNumberElement ("+49 30 901820" ),
281+ ],
282+ );
283+ });
284+
285+ test ('Parses seattle phone number' , () {
286+ expectListEqual (
287+ linkify (
288+ "This is a seattle example number +1 206 555 0100" ,
289+ linkifiers: [
290+ UrlLinkifier (),
291+ EmailLinkifier (),
292+ PhoneNumberLinkifier (),
293+ ],
294+ ),
295+ [
296+ TextElement ("This is a seattle example number " ),
297+ PhoneNumberElement ("+1 206 555 0100" ),
298+ ],
299+ );
300+ });
301+
302+ test ('Parses uk phone number' , () {
303+ expectListEqual (
304+ linkify (
305+ "This is an example number from uk: +44 113 496 0000" ,
306+ linkifiers: [
307+ UrlLinkifier (),
308+ EmailLinkifier (),
309+ PhoneNumberLinkifier (),
310+ ],
311+ ),
312+ [
313+ TextElement ("This is an example number from uk: " ),
314+ PhoneNumberElement ("+44 113 496 0000" ),
315+ ],
316+ );
317+ });
235318}
0 commit comments