3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
5
# the Free Software Foundation; either version 3 of the License, or
6
6
# (at your option) any later version.
8
8
# This program is distributed in the hope that it will be useful,
19
19
from bzrlib.errors import NotBranchError, BzrError
21
21
from bzrlib.tests import TestCase
22
from scheme import (ListBranchingScheme, NoBranchingScheme,
22
from mapping3.scheme import (ListBranchingScheme, NoBranchingScheme,
23
23
BranchingScheme, TrunkBranchingScheme,
24
24
SingleBranchingSchemev0,
25
25
SingleBranchingScheme,
26
UnknownBranchingScheme,
26
UnknownBranchingScheme,
27
27
parse_list_scheme_text, find_commit_paths,
28
28
guess_scheme_from_branch_path, guess_scheme_from_history,
29
29
guess_scheme_from_path, scheme_from_branch_list)
274
274
def test_parse_text_comment(self):
275
275
self.assertEqual(["bla/bloe", "blie"], parse_list_scheme_text("bla/bloe\n# comment\nblie"))
277
278
class TrunkScheme(TestCase):
278
279
def test_is_branch_empty(self):
279
280
self.assertFalse(TrunkBranchingScheme().is_branch(""))
591
592
class TestGuessBranchingSchemeFromHistory(TestCase):
592
593
def test_simple(self):
593
594
scheme = guess_scheme_from_history([
594
("", {"trunk": ('M', None, None)}, 0)], 1)
595
({"trunk": ('M', None, None)}, 0, None)], 1)
595
596
self.assertIsInstance(scheme, TrunkBranchingScheme)
596
597
self.assertEqual(0, scheme.level)
598
599
def test_simple_with_relpath(self):
599
600
scheme = guess_scheme_from_history([
600
("", {"trunk": ('M', None, None)}, 0)], 1,
601
({"trunk": ('M', None, None)}, 0, None)], 1,
602
603
self.assertIsInstance(scheme, TrunkBranchingScheme)
603
604
self.assertEqual(0, scheme.level)
605
606
def test_simple_prefer_relpath(self):
606
607
scheme = guess_scheme_from_history([
607
("", {"trunk": ('M', None, None)}, 1),
608
("", {"trunk": ('M', None, None)}, 2),
609
("", {"trunk/bar": ('M', None, None)}, 3),
608
({"trunk": ('M', None, None)}, 1, None),
609
({"trunk": ('M', None, None)}, 2, None),
610
({"trunk/bar": ('M', None, None)}, 3, None),
611
612
relpath="trunk/bar")
612
613
self.assertIsInstance(scheme, SingleBranchingScheme)
615
616
def test_simple_notwant_single(self):
616
617
scheme = guess_scheme_from_history([
617
("", {"foo": ('M', None, None)}, 1),
618
("", {"foo": ('M', None, None)}, 2),
619
("", {"foo/bar": ('M', None, None)}, 3),
618
({"foo": ('M', None, None)}, 1, None),
619
({"foo": ('M', None, None)}, 2, None),
620
({"foo/bar": ('M', None, None)}, 3, None),
621
622
self.assertIsInstance(scheme, NoBranchingScheme)
623
624
def test_simple_no_bp_common(self):
624
625
scheme = guess_scheme_from_history([
625
("", {"foo": ('M', None, None)}, 1),
626
("", {"trunk": ('M', None, None)}, 2),
627
("", {"trunk": ('M', None, None)}, 3),
626
({"foo": ('M', None, None)}, 1, None),
627
({"trunk": ('M', None, None)}, 2, None),
628
({"trunk": ('M', None, None)}, 3, None),
629
630
self.assertIsInstance(scheme, TrunkBranchingScheme)
636
637
scheme = guess_scheme_from_history([], 0, "trunk")
637
638
self.assertIsInstance(scheme, TrunkBranchingScheme)
639
641
class SchemeFromBranchListTests(TestCase):
640
642
def test_nobranchingscheme(self):
641
643
self.assertIsInstance(scheme_from_branch_list(["."]), NoBranchingScheme)