20 ] |
20 ] |
21 for text, expected in data: |
21 for text, expected in data: |
22 got = uilib.remove_html_tags(text) |
22 got = uilib.remove_html_tags(text) |
23 self.assertEquals(got, expected) |
23 self.assertEquals(got, expected) |
24 |
24 |
25 def test_safe_cut(self): |
25 def test_fallback_safe_cut(self): |
26 """ tests uilib.safe_cut() behaviour with very long text""" |
26 self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">cd</a>', 4), u'ab c...') |
|
27 self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">cd</a>', 5), u'ab <a href="hello">cd</a>') |
|
28 self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&d</a>', 4), u'ab &...') |
|
29 self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&d</a> ef', 5), u'ab &d...') |
|
30 self.assertEquals(uilib.fallback_safe_cut(u'& <a href="hello">&d</a> ef', 4), u'& &d...') |
27 |
31 |
28 data = [ |
32 def test_lxml_safe_cut(self): |
29 ('opkolk', '<div><p>opkolk</p></div>'), |
33 self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 4), u'<p>aaa</p><div>a...</div>') |
30 ("""<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
34 self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 7), u'<p>aaa</p><div>aaad</div>...') |
31 tempor incididunt <strong>ut</strong> labore et dolore magna aliqua. Ut enim ad minim veniam, |
35 self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div>', 7), u'<p>aaa</p><div>aaad</div>') |
32 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
36 # Missing ellipsis due to space management but we don't care |
33 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
37 self.assertEquals(uilib.safe_cut(u'ab <a href="hello">&d</a>', 4), u'<p>ab <a href="hello">&...</a></p>') |
34 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
|
35 proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
|
36 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
37 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
|
38 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
39 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
|
40 cillum dolore eu fugiat nulla pariatur.</p> ""","""<div><p>Lorem ipsum dolor sit amet, consectetur</p></div>"""), |
|
41 ("""<p>empor incididunt utlabore et dolore magna aliqua. Ut enim ad minim veniam, |
|
42 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
43 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
|
44 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
|
45 proident, sunt in culpa qui officia d</p>""","""<div><p>empor incididunt utlabore et dolore magna aliqua.</p></div>"""), |
|
46 ("""empor <strong>incididunt</strong> utlabore et dolore magna aliqua. Ut enim ad minim veniam, |
|
47 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
48 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
|
49 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
|
50 proident, sunt in culpa qui officia""","""<div><p>empor <strong>incididunt</strong> utlabore et dolore magna aliqua.</p></div>"""), |
|
51 ("""<p>Lorem <strong>ipsum</strong> dolor <it>sit</it> amet, <strong>consectetur</strong> adipisicing elit, sed do eiusmod |
|
52 tempor incididunt <strong>ut</strong> labore et dolore magna aliqua. Ut enim ad minim veniam, |
|
53 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
54 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
|
55 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
|
56 proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
|
57 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
58 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
|
59 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
60 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
|
61 cillum dolore eu fugiat nulla pariatur.</p>""","""<div><p>Lorem <strong>ipsum</strong> dolor <it>sit</it> amet, <strong>consectetur</strong></p></div>"""), |
|
62 ("""¡""",u"""<div><p>\xa1</p></div>"""), |
|
63 ("""<strong>¡ ¡ ¡ ¡</strong>""", |
|
64 u"""<div><strong>\xa1 \xa1 \xa1 \xa1</strong></div>"""), |
|
65 ("""<strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong><strong>¡ ¡ ¡ ¡</strong>""", |
|
66 u"""<div><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong><strong>\xa1 \xa1 \xa1 \xa1</strong></div>"""), |
|
67 |
|
68 |
|
69 ] |
|
70 for text, expected in data: |
|
71 got = uilib.safe_cut(text, 30) |
|
72 self.assertEquals(got, expected) |
|
73 |
38 |
74 def test_cut(self): |
39 def test_cut(self): |
75 """tests uilib.cut() behaviour""" |
40 """tests uilib.cut() behaviour""" |
76 data = [ |
41 data = [ |
77 ('hello', 'hello'), |
42 ('hello', 'hello'), |
78 ('hello world', 'hello...'), |
43 ('hello world', 'hello wo...'), |
79 ("hell<b>O'</b> world", "hell<..."), |
44 ("hell<b>O'</b> world", "hell<b>O..."), |
80 ] |
45 ] |
81 for text, expected in data: |
46 for text, expected in data: |
82 got = uilib.cut(text, 8) |
47 got = uilib.cut(text, 8) |
83 self.assertEquals(got, expected) |
48 self.assertEquals(got, expected) |
84 |
49 |
85 def test_text_cut_no_text(self): |
50 def test_text_cut(self): |
86 """tests uilib.text_cut() behaviour with no text""" |
51 """tests uilib.text_cut() behaviour with no text""" |
87 data = [('','')] |
52 data = [('',''), |
88 for text, expected in data: |
53 ("""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
89 got = uilib.text_cut(text, 8) |
|
90 self.assertEquals(got, expected) |
|
91 |
|
92 def test_text_cut_long_text(self): |
|
93 """tests uilib.text_cut() behaviour with long text""" |
|
94 data = [("""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
95 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
54 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
96 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
55 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
97 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
56 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
98 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
57 cillum dolore eu fugiat nulla pariatur.""", |
99 proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
58 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ |
100 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
59 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, \ |
101 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
60 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo \ |
102 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
61 consequat."), |
103 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse |
62 ("""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
104 cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non |
|
105 proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
|
106 ""","""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
107 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
|
108 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
|
109 consequat.""")] |
|
110 for text, expected in data: |
|
111 got = uilib.text_cut(text, 30) |
|
112 self.assertEquals(got, expected) |
|
113 |
|
114 def test_text_cut_no_point(self): |
|
115 """tests uilib.text_cut() behaviour with no point""" |
|
116 data = [("""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
117 tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam, |
63 tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam, |
118 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
64 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
119 consequat Duis aute irure dolor in reprehenderit in voluptate velit esse |
65 consequat Duis aute irure dolor in reprehenderit in voluptate velit esse |
120 cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non |
66 cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non |
121 proident, sunt in culpa qui officia deserunt mollit anim id est laborum |
67 proident, sunt in culpa qui officia deserunt mollit anim id est laborum |
122 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
68 """, |
123 tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam, |
69 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ |
124 quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo |
70 tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam, \ |
125 consequat Duis aute irure dolor in reprehenderit in voluptate velit esse |
71 quis nostrud exercitation ullamco laboris nisi"), |
126 cillum dolore eu fugiat nulla pariatur Excepteur sint occaecat cupidatat non |
72 ] |
127 proident, sunt in culpa qui officia deserunt mollit anim id est laborum |
|
128 ""","""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
|
129 tempor incididunt ut labore et dolore magna aliqua Ut enim ad minim veniam, |
|
130 quis nostrud exercitation ullamco laboris nisi""")] |
|
131 for text, expected in data: |
73 for text, expected in data: |
132 got = uilib.text_cut(text, 30) |
74 got = uilib.text_cut(text, 30) |
133 self.assertEquals(got, expected) |
75 self.assertEquals(got, expected) |
134 |
76 |
135 def test_ajax_replace_url(self): |
77 def test_ajax_replace_url(self): |