def test_Element_copy(self): parent = htree.Element(None) node = htree.Element('p', id='foo') node.append(htree.Text('some text)')) parent.append(node) copy = node.copy() self.assertNotEqual(id(node), id(copy)) self.assertTrue(htree.is_element(node)) self.assertTrue(htree.is_element(copy)) self.assertEqual(node.tag, copy.tag) self.assertEqual(node[:], copy[:]) self.assertNotEqual(node.parent, copy.parent) self.assertEqual(copy.parent, None) self.assertEqual(node.parent, parent) self.assertEqual(node.items(), copy.items()) copy.set('class', 'bar') self.assertNotEqual(node.items(), copy.items())
def test_non_node(self): obj = 'not a node' self.assertFalse(htree.is_node(obj)) self.assertFalse(htree.is_text(obj)) self.assertFalse(htree.is_text(obj, strict=True)) self.assertFalse(htree.is_raw_text(obj)) self.assertFalse(htree.is_comment(obj)) self.assertFalse(htree.is_element(obj)) self.assertFalse(htree.is_entity(obj))
def test_Entity_type(self): node = htree.Entity('amp') self.assertTrue(htree.is_node(node)) self.assertFalse(htree.is_text(node)) self.assertFalse(htree.is_text(node, strict=True)) self.assertFalse(htree.is_raw_text(node)) self.assertFalse(htree.is_comment(node)) self.assertFalse(htree.is_element(node)) self.assertTrue(htree.is_entity(node)) self.assertTrue(repr(node).startswith('<Entity("&") at ')) self.assertEqual(node.parent, None)
def test_Comment_type(self): node = htree.Comment('Some text.') self.assertTrue(htree.is_node(node)) self.assertFalse(htree.is_text(node)) self.assertFalse(htree.is_text(node, strict=True)) self.assertFalse(htree.is_raw_text(node)) self.assertTrue(htree.is_comment(node)) self.assertFalse(htree.is_element(node)) self.assertFalse(htree.is_entity(node)) self.assertTrue(repr(node).startswith('<Comment("Some t...") at ')) self.assertEqual(node.parent, None)
def test_Element_type(self): node = htree.Element() self.assertTrue(htree.is_node(node)) self.assertFalse(htree.is_text(node)) self.assertFalse(htree.is_text(node, strict=True)) self.assertFalse(htree.is_raw_text(node)) self.assertFalse(htree.is_comment(node)) self.assertTrue(htree.is_element(node)) self.assertFalse(htree.is_entity(node)) self.assertTrue(repr(node).startswith('<Element("None") at ')) self.assertEqual(node.parent, None) self.assertEqual(node.tag, None)
def test_Text_subclass_type(self): class TextSubclass(htree.Text): pass node = TextSubclass('Some text.') self.assertTrue(isinstance(node, TextSubclass)) self.assertTrue(htree.is_node(node)) self.assertTrue(htree.is_text(node)) self.assertFalse(htree.is_text(node, strict=True)) self.assertFalse(htree.is_raw_text(node)) self.assertFalse(htree.is_comment(node)) self.assertFalse(htree.is_element(node)) self.assertFalse(htree.is_entity(node)) self.assertTrue(repr(node).startswith('<TextSubclass("Some t...") at ')) self.assertEqual(node.parent, None)
def test_Element_init(self): node = htree.Element('p', id='foo') self.assertTrue(htree.is_element(node)) self.assertEqual(node.tag, 'p') self.assertEqual(list(node.items()), [('id', 'foo')]) self.assertEqual(node[:], [])