예제 #1
0
 def test_copy(self):
     grandchild = nodes.Text('rawsource')
     child = nodes.emphasis('rawsource', grandchild, att='child')
     e = nodes.Element('rawsource', child, att='e')
     # Shallow copy:
     e_copy = e.copy()
     self.assert_(e is not e_copy)
     # Internal attributes (like `rawsource`) are not copied.
     self.assertEquals(e.rawsource, 'rawsource')
     self.assertEquals(e_copy.rawsource, '')
     self.assertEquals(e_copy['att'], 'e')
     # Children are not copied.
     self.assertEquals(len(e_copy), 0)
     # Deep copy:
     e_deepcopy = e.deepcopy()
     self.assertEquals(e_deepcopy.rawsource, '')
     self.assertEquals(e_deepcopy['att'], 'e')
     # Children are copied recursively.
     self.assertEquals(e_deepcopy[0][0], grandchild)
     self.assert_(e_deepcopy[0][0] is not grandchild)
     self.assertEquals(e_deepcopy[0]['att'], 'child')
예제 #2
0
 def test_copy(self):
     grandchild = nodes.Text('rawsource')
     child = nodes.emphasis('rawsource', grandchild, att='child')
     e = nodes.Element('rawsource', child, att='e')
     # Shallow copy:
     e_copy = e.copy()
     self.assertTrue(e is not e_copy)
     # Internal attributes (like `rawsource`) are also copied.
     self.assertEqual(e.rawsource, 'rawsource')
     self.assertEqual(e_copy.rawsource, e.rawsource)
     self.assertEqual(e_copy['att'], 'e')
     # Children are not copied.
     self.assertEqual(len(e_copy), 0)
     # Deep copy:
     e_deepcopy = e.deepcopy()
     self.assertEqual(e_deepcopy.rawsource, e.rawsource)
     self.assertEqual(e_deepcopy['att'], 'e')
     # Children are copied recursively.
     self.assertEqual(e_deepcopy[0][0], grandchild)
     self.assertTrue(e_deepcopy[0][0] is not grandchild)
     self.assertEqual(e_deepcopy[0]['att'], 'child')