def test_join(self): tag = Div() list_ele = ['foo', 'Br', 'Div', 'Pre'] result = tag.join(list_ele) self.assertEqual(len(result), 7)
def test_get_parent(self): darth_vader = Div() luke = Div().append_to(darth_vader) self.assertEqual(luke.get_parent(), darth_vader)
def test_siblings(self): c = Div() d1 = Div().append_to(c) d2 = Div().append_to(c) d3 = Div().append_to(c) self.assertEqual(d2.siblings(), [d1, d3])
def test_iter_reversed(self): d = Div() childs = [A(), P(), P(), Div(), 'test', 1] d(childs) for t_child, child in zip(reversed(childs), reversed(d)): self.assertEqual(t_child, child)
def test_next_all(self): c = Div() d1 = Div().append_to(c) d2 = Div().append_to(c) d3 = Div().append_to(c) self.assertEqual(d1.next_all(), [d2, d3])
def test_hash(self): div1 = Div() div2 = div1.clone() test_dict = {div1: 0} test_dict[div2] = 1 self.assertEqual(len(test_dict), 2)
def test_iter_chidls(self): d = Div() childs = [A(), P(), P(), Div(), 'test', 1] d(childs) for i, child in enumerate(d): self.assertEqual(childs[i], child)
def test__insert_negative_index(self): d = Div() child = Div() d._insert(DOMGroup(None, child), idx=-1) self.assertEqual(child._own_index, 0)
def test_append_to(self): self.page(Div(), Div()) new2 = Div().append_to(self.page) self.assertEqual(new2._own_index, 2)
def repr(self): self(Div()(P()(self.foo)), P()(self.bar))
def repr(self): self(Div()(self.foo), Div()(self.bar))
def test_prepend(self): self.page(Div(), Div()) new2 = Div() self.page.prepend(new2) self.assertEqual(new2._own_index, 0)
def test_before(self): new1 = Div().append_to(self.page) new2 = Div() new1.before(new2) self.assertEqual(new1._own_index, new2._own_index + 1)
def test_after(self): new1 = Div().append_to(self.page) new2 = Div() new1.after(new2) self.assertEqual(new1._own_index, new2._own_index - 1)
def test_children(self): test = [A(), Div(), P(), 'test'] div = Div()(test) self.assertEqual(list(div.children()), test[:-1])
def test_replace_with(self): old = Div().append_to(self.page) old.replace_with(A()) self.assertTrue(isinstance(self.page[0], A))
def test_iadd(self): a = A() div = Div() div += a self.assertTrue(a in div) self.assertEqual(div[0], a)
def test_remove(self): new = Div().append_to(self.page) new.remove() self.assertTrue(new not in self.page)
def test_childs_index(self): div = Div() a = A() div(P(), P(), a) self.assertEqual(div[2], a)
def test_pop(self): new = Div().append_to(self.page) self.page.pop(0) self.assertTrue(new not in self.page) new2 = Div().append_to(self.page) self.page.pop() self.assertTrue(new2 not in self.page) new3 = Div() self.page(child_foo=new3) self.page.pop('child_foo') self.assertTrue(new3 not in self.page) new4, new5 = Div(), Div() self.page(child_foo_1=new4) self.page(child_foo_2=new4) self.page.pop(['child_foo_1', 'child_foo_2']) self.assertTrue(new4 not in self.page and new5 not in self.page) with self.assertRaises(DOMModByKeyError): test = Div()(test_key=A()) test.pop('nonexistentkey') with self.assertRaises(DOMModByIndexError): test = Div()(A(), P()) test.pop(2)
def test_next_childs(self): d = Div() childs = [A(), P(), P(), Div(), 'test', 1] d(childs) self.assertEqual(childs[0], next(d))
def test_empty(self): new = Div().append_to(self.page) self.page.empty() self.assertTrue(new not in self.page)
def test_next(self): c = Div() d1 = Div().append_to(c) d2 = Div().append_to(c) self.assertEqual(d1.next(), d2)
def test_next_magic(self): div = Div()(A(), P(), Div()) test = next(div) self.assertTrue(isinstance(test, A))
def test_prev(self): c = Div() d1 = Div().append_to(c) d2 = Div().append_to(c) self.assertEqual(d2.prev(), d1)
def test_reverse(self): div = Div()(A(), Div(), P()) test = next(reversed(div)) self.assertTrue(isinstance(test, P))
def test_prev_all(self): c = Div() d1 = Div().append_to(c) d2 = Div().append_to(c) d3 = Div().append_to(c) self.assertEqual(d3.prev_all(), [d1, d2])
def test_contents(self): test = [A(), Div(), P()] div = Div()(test) self.assertEqual(div.contents(), test)
def test_parent(self): c = Div() d1 = Div().append_to(c) self.assertEqual(d1.parent, c)
def test_escaped(self): html_escapable_content = '"&<>£¢ì' t_escaped = Div()(Escaped(html_escapable_content)) self.assertEqual(t_escaped.render(), '<div>"&<>£¢ì</div>')