def test_root(self): a = Div() b = Div().append_to(a) c = Div().append_to(b) self.assertEqual(c.root, a) self.assertEqual(b.root, a) self.assertEqual(a.root, a) c = b.pop() self.assertEqual(c.root, c) self.assertEqual(b.root, a) self.assertEqual(a.root, a) b(c) d = Div() a.move_childs(d) self.assertEqual(c.root, d) self.assertEqual(b.root, d) self.assertEqual(a.root, a) c(a) self.assertEqual(c.root, d) self.assertEqual(b.root, d) self.assertEqual(a.root, d) c.empty() self.assertEqual(a.root, 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)