mercurial/testing/storage.py
changeset 39998 2f80eaf38ed4
parent 39883 3e896b51aa5d
child 39999 44c98cbc665f
equal deleted inserted replaced
39997:dbcb466d0065 39998:2f80eaf38ed4
   394         self.assertTrue(f.cmp(nullid, b'foo'))
   394         self.assertTrue(f.cmp(nullid, b'foo'))
   395 
   395 
   396         with self.assertRaises(error.LookupError):
   396         with self.assertRaises(error.LookupError):
   397             f.cmp(b'\x01' * 20, b'irrelevant')
   397             f.cmp(b'\x01' * 20, b'irrelevant')
   398 
   398 
   399         self.assertEqual(f.revdiff(nullrev, nullrev), b'')
       
   400 
       
   401         with self.assertRaises(IndexError):
       
   402             f.revdiff(0, nullrev)
       
   403 
       
   404         with self.assertRaises(IndexError):
       
   405             f.revdiff(nullrev, 0)
       
   406 
       
   407         with self.assertRaises(IndexError):
       
   408             f.revdiff(0, 0)
       
   409 
       
   410         # Emitting empty list is an empty generator.
   399         # Emitting empty list is an empty generator.
   411         gen = f.emitrevisions([])
   400         gen = f.emitrevisions([])
   412         with self.assertRaises(StopIteration):
   401         with self.assertRaises(StopIteration):
   413             next(gen)
   402             next(gen)
   414 
   403 
   456 
   445 
   457         self.assertFalse(f.renamed(node))
   446         self.assertFalse(f.renamed(node))
   458 
   447 
   459         self.assertFalse(f.cmp(node, fulltext))
   448         self.assertFalse(f.cmp(node, fulltext))
   460         self.assertTrue(f.cmp(node, fulltext + b'extra'))
   449         self.assertTrue(f.cmp(node, fulltext + b'extra'))
   461 
       
   462         self.assertEqual(f.revdiff(0, 0), b'')
       
   463         self.assertEqual(f.revdiff(nullrev, 0),
       
   464                          b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07%s' %
       
   465                          fulltext)
       
   466 
       
   467         self.assertEqual(f.revdiff(0, nullrev),
       
   468                          b'\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00')
       
   469 
   450 
   470         # Emitting a single revision works.
   451         # Emitting a single revision works.
   471         gen = f.emitrevisions([node])
   452         gen = f.emitrevisions([node])
   472         rev = next(gen)
   453         rev = next(gen)
   473 
   454 
   574         self.assertTrue(f.cmp(node1, fulltext0))
   555         self.assertTrue(f.cmp(node1, fulltext0))
   575         self.assertTrue(f.cmp(node2, fulltext1))
   556         self.assertTrue(f.cmp(node2, fulltext1))
   576 
   557 
   577         with self.assertRaises(error.LookupError):
   558         with self.assertRaises(error.LookupError):
   578             f.cmp(b'\x01' * 20, b'irrelevant')
   559             f.cmp(b'\x01' * 20, b'irrelevant')
   579 
       
   580         self.assertEqual(f.revdiff(0, 1),
       
   581                          b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x01' +
       
   582                          fulltext1)
       
   583 
       
   584         self.assertEqual(f.revdiff(0, 2),
       
   585                          b'\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x02' +
       
   586                          fulltext2)
       
   587 
   560 
   588         # Nodes should be emitted in order.
   561         # Nodes should be emitted in order.
   589         gen = f.emitrevisions([node0, node1, node2], revisiondata=True)
   562         gen = f.emitrevisions([node0, node1, node2], revisiondata=True)
   590 
   563 
   591         rev = next(gen)
   564         rev = next(gen)