def test_stable(self): f = Div() self.assertTrue(f.stable) f(Div()) self.assertFalse(f.stable) f.render() self.assertTrue(f.stable)
def test_render(self): d = Div()(Content(name='test1')).inject(self.test_contents) self.assertEqual(Counter(d.render()), Counter('<div>1</div>')) d = Div()(Content(name='test1'), Content(name='test2')).inject(self.test_contents) self.assertEqual(Counter(d.render()), Counter('<div>11 2 3 test_string</div>')) d = Div()(Content(name='test1')).inject({'test1': Div()}) self.assertEqual(Counter(d.render()), Counter('<div><div></div></div>')) t_repr = Div()(Content(name='test21')) d = Div()(Content(name='test2', t_repr=t_repr)).inject(self.test_contents) self.assertEqual(Counter(d.render()), Counter('<div><div>1 2 3</div></div>'))
def test_container_view(self): test_instance = self.test_model() a = Div()(test_instance) self.assertEqual(a.render(), '<div><p>foo</p><p>bar</p></div>') b = Span()(Div()(test_instance)) self.assertEqual(b.render(), '<span><div><p>foo</p><p>bar</p></div></span>')
def test_bool_args(self): d = Div('test_boolean') self.assertTrue('test_boolean' in d.attrs) self.assertEqual(d.attrs['test_boolean'], bool) self.assertEqual(d.render(), '<div test_boolean></div>') with self.assertRaises(WrongArgsError): d = Div(1)
def test_escaped(self): html_escapable_content = '"&<>£¢ì' t_escaped = Div()(Escaped(html_escapable_content)) self.assertEqual(t_escaped.render(), '<div>"&<>£¢ì</div>')
def test_tag_bool_attrs(self): d = Div(test_boolean=bool) self.assertTrue('test_boolean' in d.attrs) self.assertEqual(d.attrs['test_boolean'], bool) self.assertEqual(d.render(), '<div test_boolean></div>')