]> www.wagner.pp.ru Git - oss/vjournal.git/blob - t/user_link.t
760e66f8857d17076c5c2126287523924e572838
[oss/vjournal.git] / t / user_link.t
1 #!/usr/bin/perl
2
3 # Test comment for test commit
4
5 use Test::More tests => 23 ;
6 BEGIN {use_ok('VJournal::Format');}
7
8 =head1 Low-level link formatting
9
10 Check link formatting for known sites. Use cases simple name, name with
11 underscore and alternate title specifed.
12
13 =head2 Livejournal
14
15 =cut
16
17 is(MicroBlog::Format::user_link("lj","besm6"),'<a href="http://besm6.livejournal.com"><img src="/img/lj.gif"><b>besm6</b></a>','LJ simple');
18 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');
19 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');
20
21 =head2 Dreamwidth
22
23 =cut
24
25 is(MicroBlog::Format::user_link("dw","besm6"),'<a href="http://besm6.dreamwidth.org"><img src="/img/dw.gif"><b>besm6</b></a>','DW simple');
26 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');
27 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');
28
29 =head2 lj.rossia.org
30
31 =cut
32
33 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');
34 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');
35 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');
36
37 =head1 html parsing
38
39 =head2 simple cases for all sites
40
41 =cut
42
43 is(MicroBlog::Format::find_user_links('<lj user="filin">'),
44    MicroBlog::Format::user_link('lj','filin'),"Parse LJ");
45
46    
47 is(MicroBlog::Format::find_user_links('<dw user="filin">'),
48    MicroBlog::Format::user_link('dw','filin'),"Parse DW");
49
50 is(MicroBlog::Format::find_user_links('<ljr user="filin">'),
51    MicroBlog::Format::user_link('ljr','filin'),"Parse LJR");
52
53 =head2 no quotes
54
55 =cut
56
57 is(MicroBlog::Format::find_user_links('<lj user=filin>'),
58    MicroBlog::Format::user_link('lj','filin'),"No quotes");
59
60 =head2 various spaces
61
62 =cut
63
64 is(MicroBlog::Format::find_user_links('<lj user="filin" >'),
65    MicroBlog::Format::user_link('lj','filin'),"Space before closing tag");
66 is(MicroBlog::Format::find_user_links('<lj  user="filin">'),
67    MicroBlog::Format::user_link('lj','filin'),"Two spaces");
68 is(MicroBlog::Format::find_user_links('<lj user="filin" />'),
69    MicroBlog::Format::user_link('lj','filin'),"XML empty tag");
70 is(MicroBlog::Format::find_user_links("<lj\tuser=filin>"),
71    MicroBlog::Format::user_link('lj','filin'),"tab instead of space");
72
73 =head2 title
74
75 =cut
76
77 is(MicroBlog::Format::find_user_links("<lj user=filin title=\"Artem\">"),
78    MicroBlog::Format::user_link('lj','filin','Artem'),"title");
79
80 is(MicroBlog::Format::find_user_links("<lj user=filin title=\"Other guy\">"),
81    MicroBlog::Format::user_link('lj','filin','Other guy'),"Title with space");
82
83 is(MicroBlog::Format::find_user_links("<lj\nuser=filin\ntitle=\"Other guy\">"),
84    MicroBlog::Format::user_link('lj','filin','Other guy'),"Multiline");
85
86
87 =head2 Multiple user names   
88
89 =cut
90
91
92 is(MicroBlog::Format::find_user_links('<lj user="filin"> and <lj user="kilka">'),
93    MicroBlog::Format::user_link('lj','filin')." and ".
94    MicroBlog::Format::user_link('lj','kilka')
95    ,"Two user links on same line");
96
97 is(MicroBlog::Format::find_user_links("<lj user=\"filin\">\n\n<lj user=\"kilka\">"),
98 MicroBlog::Format::user_link('lj','filin')."\n\n".
99    MicroBlog::Format::user_link('lj','kilka')
100    ,"Two user links on separate lines");