/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_xml.py

  • Committer: Jelmer Vernooij
  • Date: 2020-01-30 18:07:32 UTC
  • mfrom: (7472 work)
  • mto: This revision was merged to the branch mainline in revision 7473.
  • Revision ID: jelmer@jelmer.uk-20200130180732-6xcdyr3bhipain1k
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
236
236
 
237
237
    def test_unpack_basis_inventory_5(self):
238
238
        """Unpack canned new-style inventory"""
239
 
        inp = BytesIO(_basis_inv_v5)
240
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory(inp)
 
239
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
240
            breezy.osutils.split_lines(_basis_inv_v5))
241
241
        eq = self.assertEqual
242
242
        eq(len(inv), 4)
243
243
        eq(inv.revision_id,
249
249
        eq(inv.get_entry(ie.parent_id).kind, 'directory')
250
250
 
251
251
    def test_unpack_inventory_5a(self):
252
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
253
 
            _inventory_v5a, revision_id=b'test-rev-id')
 
252
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
253
            breezy.osutils.split_lines(_inventory_v5a), revision_id=b'test-rev-id')
254
254
        self.assertEqual(b'test-rev-id', inv.root.revision)
255
255
 
256
256
    def test_unpack_inventory_5a_cache_and_copy(self):
258
258
        # But the returned objects should be copies if return_from_cache is
259
259
        # False
260
260
        entry_cache = fifo_cache.FIFOCache()
261
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
262
 
            _inventory_v5a, revision_id=b'test-rev-id',
 
261
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
262
            breezy.osutils.split_lines(_inventory_v5a), revision_id=b'test-rev-id',
263
263
            entry_cache=entry_cache, return_from_cache=False)
264
264
        for entry in inv.iter_just_entries():
265
265
            key = (entry.file_id, entry.revision)
274
274
        # The returned objects should be exact if return_from_cache is
275
275
        # True
276
276
        entry_cache = fifo_cache.FIFOCache()
277
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
278
 
            _inventory_v5a, revision_id=b'test-rev-id',
 
277
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
278
            breezy.osutils.split_lines(_inventory_v5a), revision_id=b'test-rev-id',
279
279
            entry_cache=entry_cache, return_from_cache=True)
280
280
        for entry in inv.iter_just_entries():
281
281
            key = (entry.file_id, entry.revision)
286
286
                self.assertIs(entry, entry_cache[key])
287
287
 
288
288
    def test_unpack_inventory_5b(self):
289
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
290
 
            _inventory_v5b, revision_id=b'test-rev-id')
 
289
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
290
            breezy.osutils.split_lines(_inventory_v5b), revision_id=b'test-rev-id')
291
291
        self.assertEqual(b'a-rev-id', inv.root.revision)
292
292
 
293
293
    def test_repack_inventory_5(self):
294
 
        inp = BytesIO(_committed_inv_v5)
295
 
        inv = breezy.bzr.xml5.serializer_v5.read_inventory(inp)
 
294
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
295
            breezy.osutils.split_lines(_committed_inv_v5))
296
296
        outp = BytesIO()
297
297
        breezy.bzr.xml5.serializer_v5.write_inventory(inv, outp)
298
298
        self.assertEqualDiff(_expected_inv_v5, outp.getvalue())
299
 
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory(
300
 
            BytesIO(outp.getvalue()))
 
299
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory_from_lines(
 
300
            breezy.osutils.split_lines(outp.getvalue()))
301
301
        self.assertEqual(inv, inv2)
302
302
 
303
303
    def assertRoundTrips(self, xml_string):
377
377
        inv = self.get_sample_inventory()
378
378
        inv.add(inventory.TreeReference(b'nested-id', 'nested', b'tree-root-321',
379
379
                                        b'rev_outer', b'rev_inner'))
380
 
        txt = xml7.serializer_v7.write_inventory_to_string(inv)
381
380
        lines = xml7.serializer_v7.write_inventory_to_lines(inv)
382
 
        self.assertEqual(breezy.osutils.split_lines(txt), lines)
383
 
        self.assertEqualDiff(_expected_inv_v7, txt)
384
 
        inv2 = xml7.serializer_v7.read_inventory_from_string(txt)
 
381
        self.assertEqualDiff(_expected_inv_v7, b''.join(lines))
 
382
        inv2 = xml7.serializer_v7.read_inventory_from_lines(lines)
385
383
        self.assertEqual(5, len(inv2))
386
384
        for path, ie in inv.iter_entries():
387
385
            self.assertEqual(ie, inv2.get_entry(ie.file_id))
388
386
 
389
387
    def test_roundtrip_inventory_v6(self):
390
388
        inv = self.get_sample_inventory()
391
 
        txt = xml6.serializer_v6.write_inventory_to_string(inv)
392
389
        lines = xml6.serializer_v6.write_inventory_to_lines(inv)
393
 
        self.assertEqual(breezy.osutils.split_lines(txt), lines)
394
 
        self.assertEqualDiff(_expected_inv_v6, txt)
395
 
        inv2 = xml6.serializer_v6.read_inventory_from_string(txt)
 
390
        self.assertEqualDiff(_expected_inv_v6, b''.join(lines))
 
391
        inv2 = xml6.serializer_v6.read_inventory_from_lines(lines)
396
392
        self.assertEqual(4, len(inv2))
397
393
        for path, ie in inv.iter_entries():
398
394
            self.assertEqual(ie, inv2.get_entry(ie.file_id))
402
398
        s_v6 = breezy.bzr.xml6.serializer_v6
403
399
        s_v7 = xml7.serializer_v7
404
400
        self.assertRaises(errors.UnexpectedInventoryFormat,
405
 
                          s_v7.read_inventory_from_string, _expected_inv_v5)
 
401
                          s_v7.read_inventory_from_lines,
 
402
                          breezy.osutils.split_lines(_expected_inv_v5))
406
403
        self.assertRaises(errors.UnexpectedInventoryFormat,
407
 
                          s_v6.read_inventory_from_string, _expected_inv_v7)
 
404
                          s_v6.read_inventory_from_lines,
 
405
                          breezy.osutils.split_lines(_expected_inv_v7))
408
406
 
409
407
    def test_tree_reference(self):
410
408
        s_v5 = breezy.bzr.xml5.serializer_v5
415
413
        inv.add(inventory.TreeReference(b'nested-id', 'nested', b'tree-root-321',
416
414
                                        b'rev-outer', b'rev-inner'))
417
415
        self.assertRaises(errors.UnsupportedInventoryKind,
418
 
                          s_v5.write_inventory_to_string, inv)
 
416
                          s_v5.write_inventory_to_lines, inv)
419
417
        self.assertRaises(errors.UnsupportedInventoryKind,
420
 
                          s_v6.write_inventory_to_string, inv)
421
 
        txt = s_v7.write_inventory_to_string(inv)
422
 
        lines = s_v7.write_inventory_to_lines(inv)
423
 
        self.assertEqual(breezy.osutils.split_lines(txt), lines)
424
 
        inv2 = s_v7.read_inventory_from_string(txt)
 
418
                          s_v6.write_inventory_to_lines, inv)
 
419
        lines = s_v7.write_inventory_to_chunks(inv)
 
420
        inv2 = s_v7.read_inventory_from_lines(lines)
425
421
        self.assertEqual(b'tree-root-321',
426
422
                         inv2.get_entry(b'nested-id').parent_id)
427
423
        self.assertEqual(b'rev-outer', inv2.get_entry(b'nested-id').revision)
430
426
 
431
427
    def test_roundtrip_inventory_v8(self):
432
428
        inv = self.get_sample_inventory()
433
 
        txt = xml8.serializer_v8.write_inventory_to_string(inv)
434
 
        inv2 = xml8.serializer_v8.read_inventory_from_string(txt)
 
429
        lines = xml8.serializer_v8.write_inventory_to_lines(inv)
 
430
        inv2 = xml8.serializer_v8.read_inventory_from_lines(lines)
435
431
        self.assertEqual(4, len(inv2))
436
432
        for path, ie in inv.iter_entries():
437
433
            self.assertEqual(ie, inv2.get_entry(ie.file_id))
438
434
 
439
435
    def test_inventory_text_v8(self):
440
436
        inv = self.get_sample_inventory()
441
 
        txt = xml8.serializer_v8.write_inventory_to_string(inv)
442
437
        lines = xml8.serializer_v8.write_inventory_to_lines(inv)
443
 
        self.assertEqual(breezy.osutils.split_lines(txt), lines)
444
 
        self.assertEqualDiff(_expected_inv_v8, txt)
 
438
        self.assertEqualDiff(_expected_inv_v8, b''.join(lines))
445
439
 
446
440
    def test_revision_text_v6(self):
447
441
        """Pack revision to XML v6"""
480
474
        self.assertIsInstance(rev.message, text_type)
481
475
 
482
476
        # ie.revision should either be None or a utf-8 revision id
483
 
        inv = s_v5.read_inventory_from_string(_inventory_utf8_v5)
 
477
        inv = s_v5.read_inventory_from_lines(breezy.osutils.split_lines(_inventory_utf8_v5))
484
478
        rev_id_1 = u'erik@b\xe5gfors-01'.encode('utf8')
485
479
        rev_id_2 = u'erik@b\xe5gfors-02'.encode('utf8')
486
480
        fid_root = u'TRE\xe9_ROOT'.encode('utf8')
515
509
        s_v5 = breezy.bzr.xml5.serializer_v5
516
510
        e = self.assertRaises(
517
511
            errors.UnexpectedInventoryFormat,
518
 
            s_v5.read_inventory_from_string, b"<Notquitexml")
 
512
            s_v5.read_inventory_from_lines, [b"<Notquitexml"])
519
513
        self.assertEqual(str(e), "unclosed token: line 1, column 0")
520
514
 
521
515