3 use Test::More tests => 23 ;
4 BEGIN {use_ok('VJournal::Format');}
6 =head1 Low-level link formatting
8 Check link formatting for known sites. Use cases simple name, name with
9 underscore and alternate title specifed.
15 is(MicroBlog::Format::user_link("lj","besm6"),'<a href="http://besm6.livejournal.com"><img src="/img/lj.gif"><b>besm6</b></a>','LJ simple');
16 is(MicroBlog::Format::user_link("lj","vitus_wagner"),'<a href="http://vitus-wagner.livejournal.com"><img src="/img/lj.gif"><b>vitus_wagner</b></a>','LJ underscore');
17 is(MicroBlog::Format::user_link("lj","besm6","Artem"),'<a href="http://besm6.livejournal.com"><img src="/img/lj.gif"><b>Artem</b></a>','LJ title');
23 is(MicroBlog::Format::user_link("dw","besm6"),'<a href="http://besm6.dreamwidth.org"><img src="/img/dw.gif"><b>besm6</b></a>','DW simple');
24 is(MicroBlog::Format::user_link("dw","vitus_wagner"),'<a href="http://vitus-wagner.dreamwidth.org"><img src="/img/dw.gif"><b>vitus_wagner</b></a>','DW underscore');
25 is(MicroBlog::Format::user_link("dw","besm6","Artem"),'<a href="http://besm6.dreamwidth.org"><img src="/img/dw.gif"><b>Artem</b></a>','DW title');
31 is(MicroBlog::Format::user_link("ljr","kouzdra"),'<a href="http://lj.rossia.org/users/kouzdra"><img src="/img/ljr.gif"><b>kouzdra</b></a>','LJR simple');
32 is(MicroBlog::Format::user_link("ljr","some_user"),'<a href="http://lj.rossia.org/users/some_user"><img src="/img/ljr.gif"><b>some_user</b></a>','LJ underscore');
33 is(MicroBlog::Format::user_link("ljr","kouzdra","Anton"),'<a href="http://lj.rossia.org/users/kouzdra"><img src="/img/ljr.gif"><b>Anton</b></a>','LJ title');
37 =head2 simple cases for all sites
41 is(MicroBlog::Format::find_user_links('<lj user="filin">'),
42 MicroBlog::Format::user_link('lj','filin'),"Parse LJ");
45 is(MicroBlog::Format::find_user_links('<dw user="filin">'),
46 MicroBlog::Format::user_link('dw','filin'),"Parse DW");
48 is(MicroBlog::Format::find_user_links('<ljr user="filin">'),
49 MicroBlog::Format::user_link('ljr','filin'),"Parse LJR");
55 is(MicroBlog::Format::find_user_links('<lj user=filin>'),
56 MicroBlog::Format::user_link('lj','filin'),"No quotes");
62 is(MicroBlog::Format::find_user_links('<lj user="filin" >'),
63 MicroBlog::Format::user_link('lj','filin'),"Space before closing tag");
64 is(MicroBlog::Format::find_user_links('<lj user="filin">'),
65 MicroBlog::Format::user_link('lj','filin'),"Two spaces");
66 is(MicroBlog::Format::find_user_links('<lj user="filin" />'),
67 MicroBlog::Format::user_link('lj','filin'),"XML empty tag");
68 is(MicroBlog::Format::find_user_links("<lj\tuser=filin>"),
69 MicroBlog::Format::user_link('lj','filin'),"tab instead of space");
75 is(MicroBlog::Format::find_user_links("<lj user=filin title=\"Artem\">"),
76 MicroBlog::Format::user_link('lj','filin','Artem'),"title");
78 is(MicroBlog::Format::find_user_links("<lj user=filin title=\"Other guy\">"),
79 MicroBlog::Format::user_link('lj','filin','Other guy'),"Title with space");
81 is(MicroBlog::Format::find_user_links("<lj\nuser=filin\ntitle=\"Other guy\">"),
82 MicroBlog::Format::user_link('lj','filin','Other guy'),"Multiline");
85 =head2 Multiple user names
90 is(MicroBlog::Format::find_user_links('<lj user="filin"> and <lj user="kilka">'),
91 MicroBlog::Format::user_link('lj','filin')." and ".
92 MicroBlog::Format::user_link('lj','kilka')
93 ,"Two user links on same line");
95 is(MicroBlog::Format::find_user_links("<lj user=\"filin\">\n\n<lj user=\"kilka\">"),
96 MicroBlog::Format::user_link('lj','filin')."\n\n".
97 MicroBlog::Format::user_link('lj','kilka')
98 ,"Two user links on separate lines");