/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: 2019-05-29 03:22:34 UTC
  • mfrom: (7303 work)
  • mto: This revision was merged to the branch mainline in revision 7306.
  • Revision ID: jelmer@jelmer.uk-20190529032234-mt3fuws8gq03tapi
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
240
240
        inv = breezy.bzr.xml5.serializer_v5.read_inventory(inp)
241
241
        eq = self.assertEqual
242
242
        eq(len(inv), 4)
243
 
        eq(inv.revision_id, b'mbp@sourcefrog.net-20050905063503-43948f59fa127d92')
 
243
        eq(inv.revision_id,
 
244
           b'mbp@sourcefrog.net-20050905063503-43948f59fa127d92')
244
245
        ie = inv.get_entry(b'bar-20050824000535-6bc48cfad47ed134')
245
246
        eq(ie.kind, 'file')
246
247
        eq(ie.revision, b'mbp@foo-00')
249
250
 
250
251
    def test_unpack_inventory_5a(self):
251
252
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
252
 
                _inventory_v5a, revision_id=b'test-rev-id')
 
253
            _inventory_v5a, revision_id=b'test-rev-id')
253
254
        self.assertEqual(b'test-rev-id', inv.root.revision)
254
255
 
255
256
    def test_unpack_inventory_5a_cache_and_copy(self):
286
287
 
287
288
    def test_unpack_inventory_5b(self):
288
289
        inv = breezy.bzr.xml5.serializer_v5.read_inventory_from_string(
289
 
                _inventory_v5b, revision_id=b'test-rev-id')
 
290
            _inventory_v5b, revision_id=b'test-rev-id')
290
291
        self.assertEqual(b'a-rev-id', inv.root.revision)
291
292
 
292
293
    def test_repack_inventory_5(self):
295
296
        outp = BytesIO()
296
297
        breezy.bzr.xml5.serializer_v5.write_inventory(inv, outp)
297
298
        self.assertEqualDiff(_expected_inv_v5, outp.getvalue())
298
 
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory(BytesIO(outp.getvalue()))
 
299
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory(
 
300
            BytesIO(outp.getvalue()))
299
301
        self.assertEqual(inv, inv2)
300
302
 
301
303
    def assertRoundTrips(self, xml_string):
307
309
        lines = breezy.bzr.xml5.serializer_v5.write_inventory_to_lines(inv)
308
310
        outp.seek(0)
309
311
        self.assertEqual(outp.readlines(), lines)
310
 
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory(BytesIO(outp.getvalue()))
 
312
        inv2 = breezy.bzr.xml5.serializer_v5.read_inventory(
 
313
            BytesIO(outp.getvalue()))
311
314
        self.assertEqual(inv, inv2)
312
315
 
313
316
    def tests_serialize_inventory_v5_with_root(self):
320
323
        outp = BytesIO()
321
324
        breezy.bzr.xml5.serializer_v5.write_revision(rev, outp)
322
325
        outfile_contents = outp.getvalue()
323
 
        rev2 = breezy.bzr.xml5.serializer_v5.read_revision(BytesIO(outfile_contents))
 
326
        rev2 = breezy.bzr.xml5.serializer_v5.read_revision(
 
327
            BytesIO(outfile_contents))
324
328
        self.assertEqual(rev, rev2)
325
329
 
326
330
    def test_repack_revision_5(self):
333
337
    def test_pack_revision_5(self):
334
338
        """Pack revision to XML v5"""
335
339
        # fixed 20051025, revisions should have final newline
336
 
        rev = breezy.bzr.xml5.serializer_v5.read_revision_from_string(_revision_v5)
 
340
        rev = breezy.bzr.xml5.serializer_v5.read_revision_from_string(
 
341
            _revision_v5)
337
342
        outp = BytesIO()
338
343
        breezy.bzr.xml5.serializer_v5.write_revision(rev, outp)
339
344
        outfile_contents = outp.getvalue()
340
345
        self.assertEqual(outfile_contents[-1:], b'\n')
341
 
        self.assertEqualDiff(outfile_contents, breezy.bzr.xml5.serializer_v5.write_revision_to_string(rev))
 
346
        self.assertEqualDiff(
 
347
            outfile_contents,
 
348
            breezy.bzr.xml5.serializer_v5.write_revision_to_string(rev))
342
349
        self.assertEqualDiff(outfile_contents, _expected_rev_v5)
343
350
 
344
351
    def test_empty_property_value(self):
345
352
        """Create an empty property value check that it serializes correctly"""
346
353
        s_v5 = breezy.bzr.xml5.serializer_v5
347
354
        rev = s_v5.read_revision_from_string(_revision_v5)
348
 
        outp = BytesIO()
349
 
        props = {'empty':'', 'one':'one'}
 
355
        props = {'empty': '', 'one': 'one'}
350
356
        rev.properties = props
351
357
        txt = s_v5.write_revision_to_string(rev)
352
358
        new_rev = s_v5.read_revision_from_string(txt)
416
422
        lines = s_v7.write_inventory_to_lines(inv)
417
423
        self.assertEqual(breezy.osutils.split_lines(txt), lines)
418
424
        inv2 = s_v7.read_inventory_from_string(txt)
419
 
        self.assertEqual(b'tree-root-321', inv2.get_entry(b'nested-id').parent_id)
 
425
        self.assertEqual(b'tree-root-321',
 
426
                         inv2.get_entry(b'nested-id').parent_id)
420
427
        self.assertEqual(b'rev-outer', inv2.get_entry(b'nested-id').revision)
421
 
        self.assertEqual(b'rev-inner', inv2.get_entry(b'nested-id').reference_revision)
 
428
        self.assertEqual(
 
429
            b'rev-inner', inv2.get_entry(b'nested-id').reference_revision)
422
430
 
423
431
    def test_roundtrip_inventory_v8(self):
424
432
        inv = self.get_sample_inventory()
439
447
        """Pack revision to XML v6"""
440
448
        rev = breezy.bzr.xml6.serializer_v6.read_revision_from_string(
441
449
            _expected_rev_v5)
442
 
        serialized = breezy.bzr.xml6.serializer_v6.write_revision_to_string(rev)
 
450
        serialized = breezy.bzr.xml6.serializer_v6.write_revision_to_string(
 
451
            rev)
443
452
        self.assertEqualDiff(serialized, _expected_rev_v5)
444
453
 
445
454
    def test_revision_text_v7(self):
446
455
        """Pack revision to XML v7"""
447
456
        rev = breezy.bzr.xml7.serializer_v7.read_revision_from_string(
448
457
            _expected_rev_v5)
449
 
        serialized = breezy.bzr.xml7.serializer_v7.write_revision_to_string(rev)
 
458
        serialized = breezy.bzr.xml7.serializer_v7.write_revision_to_string(
 
459
            rev)
450
460
        self.assertEqualDiff(serialized, _expected_rev_v5)
451
461
 
452
462
    def test_revision_text_v8(self):
453
463
        """Pack revision to XML v8"""
454
464
        rev = breezy.bzr.xml8.serializer_v8.read_revision_from_string(
455
465
            _expected_rev_v8)
456
 
        serialized = breezy.bzr.xml8.serializer_v8.write_revision_to_string(rev)
 
466
        serialized = breezy.bzr.xml8.serializer_v8.write_revision_to_string(
 
467
            rev)
457
468
        self.assertEqualDiff(serialized, _expected_rev_v8)
458
469
 
459
470
    def test_revision_ids_are_utf8(self):
480
491
                    (u'b\xe5r', fid_bar1, fid_root, rev_id_1),
481
492
                    (u's\xb5bdir', fid_sub, fid_root, rev_id_1),
482
493
                    (u's\xb5bdir/b\xe5r', fid_bar2, fid_sub, rev_id_2),
483
 
                   ]
 
494
                    ]
484
495
        self.assertEqual(rev_id_2, inv.revision_id)
485
496
        self.assertIsInstance(inv.revision_id, bytes)
486
497
 
500
511
 
501
512
        self.assertEqual(len(expected), len(actual))
502
513
 
 
514
    def test_serialization_error(self):
 
515
        s_v5 = breezy.bzr.xml5.serializer_v5
 
516
        e = self.assertRaises(
 
517
            errors.UnexpectedInventoryFormat,
 
518
            s_v5.read_inventory_from_string, b"<Notquitexml")
 
519
        self.assertEqual(str(e), "unclosed token: line 1, column 0")
 
520
 
503
521
 
504
522
class TestEncodeAndEscape(TestCase):
505
523
    """Whitebox testing of the _encode_and_escape function."""