common/test/unittest_uilib.py
branchtls-sprint
changeset 1646 88182252fd11
parent 362 a6a319f000c3
child 1977 606923dff11b
equal deleted inserted replaced
1645:374586978230 1646:88182252fd11
    19             ('<p></p>', ''),
    19             ('<p></p>', ''),
    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_fallback_safe_cut(self):
    25     def test_fallback_safe_cut(self):
    26         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">cd</a>', 4), u'ab c...')
    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>')
    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">&amp;d</a>', 4), u'ab &amp;...')
    28         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&amp;d</a>', 4), u'ab &amp;...')
    29         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&amp;d</a> ef', 5), u'ab &amp;d...')
    29         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&amp;d</a> ef', 5), u'ab &amp;d...')
    30         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&igrave;d</a>', 4), u'ab ì...')
    30         self.assertEquals(uilib.fallback_safe_cut(u'ab <a href="hello">&igrave;d</a>', 4), u'ab ì...')
    31         self.assertEquals(uilib.fallback_safe_cut(u'&amp; <a href="hello">&amp;d</a> ef', 4), u'&amp; &amp;d...')
    31         self.assertEquals(uilib.fallback_safe_cut(u'&amp; <a href="hello">&amp;d</a> ef', 4), u'&amp; &amp;d...')
    32         
    32 
    33     def test_lxml_safe_cut(self):
    33     def test_lxml_safe_cut(self):
    34         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 4), u'<p>aaa</p><div>a...</div>')
    34         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 4), u'<p>aaa</p><div>a...</div>')
    35         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 7), u'<p>aaa</p><div>aaad</div>...')
    35         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div> ef', 7), u'<p>aaa</p><div>aaad</div>...')
    36         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div>', 7), u'<p>aaa</p><div>aaad</div>')
    36         self.assertEquals(uilib.safe_cut(u'aaa<div>aaad</div>', 7), u'<p>aaa</p><div>aaad</div>')
    37         # Missing ellipsis due to space management but we don't care
    37         # Missing ellipsis due to space management but we don't care
    73                 ]
    73                 ]
    74         for text, expected in data:
    74         for text, expected in data:
    75             got = uilib.text_cut(text, 30)
    75             got = uilib.text_cut(text, 30)
    76             self.assertEquals(got, expected)
    76             self.assertEquals(got, expected)
    77 
    77 
    78     def test_ajax_replace_url(self):
       
    79         # NOTE: for the simplest use cases, we could use doctest
       
    80         arurl = uilib.ajax_replace_url
       
    81         self.assertEquals(arurl('foo', 'Person P'),
       
    82                           "javascript: replacePageChunk('foo', 'Person%20P');")
       
    83         self.assertEquals(arurl('foo', 'Person P', 'oneline'),
       
    84                           "javascript: replacePageChunk('foo', 'Person%20P', 'oneline');")
       
    85         self.assertEquals(arurl('foo', 'Person P', 'oneline', name='bar', age=12),
       
    86                           'javascript: replacePageChunk(\'foo\', \'Person%20P\', \'oneline\', {"age": 12, "name": "bar"});')
       
    87         self.assertEquals(arurl('foo', 'Person P', name='bar', age=12),
       
    88                           'javascript: replacePageChunk(\'foo\', \'Person%20P\', \'null\', {"age": 12, "name": "bar"});')
       
    89 
       
    90 tree = ('root', (
    78 tree = ('root', (
    91     ('child_1_1', (
    79     ('child_1_1', (
    92     ('child_2_1', ()), ('child_2_2', (
    80     ('child_2_1', ()), ('child_2_2', (
    93     ('child_3_1', ()),
    81     ('child_3_1', ()),
    94     ('child_3_2', ()),
    82     ('child_3_2', ()),
   114 def make_tree(tuple):
   102 def make_tree(tuple):
   115     n = Node(tuple[0])
   103     n = Node(tuple[0])
   116     for child in tuple[1]:
   104     for child in tuple[1]:
   117         n.append(make_tree(child))
   105         n.append(make_tree(child))
   118     return n
   106     return n
   119     
   107 
   120 class UIlibHTMLGenerationTC(TestCase):
   108 class UIlibHTMLGenerationTC(TestCase):
   121     """ a basic tree node, caracterised by an id"""
   109     """ a basic tree node, caracterised by an id"""
   122     def setUp(self):
   110     def setUp(self):
   123         """ called before each test from this class """        
   111         """ called before each test from this class """
   124         self.o = make_tree(tree)
   112         self.o = make_tree(tree)
   125 
   113 
   126     def test_generated_html(self):
   114     def test_generated_html(self):
   127         s = uilib.render_HTML_tree(self.o, selected_node="child_2_2")
   115         s = uilib.render_HTML_tree(self.o, selected_node="child_2_2")
   128         self.assertTextEqual(s, generated_html)
   116         self.assertTextEqual(s, generated_html)
   129     
   117 
   130     
   118 
   131 if __name__ == '__main__':
   119 if __name__ == '__main__':
   132     unittest_main()
   120     unittest_main()
   133 
   121