def test_is_branch_wildcard_multiple(self): scheme = ListBranchingScheme(["*/trunk/*"]) self.assertTrue(scheme.is_branch("bla/trunk/bloe")) self.assertFalse(scheme.is_branch("bla/trunk")) self.assertFalse(scheme.is_branch("trunk/bloe")) self.assertFalse(scheme.is_branch("blie/trunk/bloe/bla")) self.assertFalse(scheme.is_branch("bla"))
def test_is_branch_wildcard(self): scheme = ListBranchingScheme(["trunk/*"]) self.assertTrue(scheme.is_branch("trunk/foo")) self.assertFalse(scheme.is_branch("trunk"))
def test_is_branch_wildcard_root(self): scheme = ListBranchingScheme(["*/trunk"]) self.assertTrue(scheme.is_branch("bla/trunk")) self.assertFalse(scheme.is_branch("trunk")) self.assertFalse(scheme.is_branch("bla"))
class ListScheme(TestCase): def setUp(self): TestCase.setUp(self) self.scheme = ListBranchingScheme(["foo", "bar/bloe"]) def test_create_from_string(self): self.scheme = ListBranchingScheme( 'QlpoOTFBWSZTWXb2s-UAAADBAAAQAQCgACGYGYQYXckU4UJB29rPlA..') self.assertEquals(["foo"], self.scheme.branch_list) def test_is_tag_empty(self): self.assertFalse(self.scheme.is_tag("")) def test_is_tag_sub(self): self.assertFalse(self.scheme.is_tag("foo")) def test_is_tag_tag(self): self.assertFalse(self.scheme.is_tag("tags/foo")) def test_is_branch_empty(self): self.assertFalse(self.scheme.is_branch("")) def test_is_branch_slash(self): self.assertFalse(self.scheme.is_branch("/")) def test_is_branch_wildcard(self): scheme = ListBranchingScheme(["trunk/*"]) self.assertTrue(scheme.is_branch("trunk/foo")) self.assertFalse(scheme.is_branch("trunk")) def test_is_branch_wildcard_root(self): scheme = ListBranchingScheme(["*/trunk"]) self.assertTrue(scheme.is_branch("bla/trunk")) self.assertFalse(scheme.is_branch("trunk")) self.assertFalse(scheme.is_branch("bla")) def test_is_branch_wildcard_multiple(self): scheme = ListBranchingScheme(["*/trunk/*"]) self.assertTrue(scheme.is_branch("bla/trunk/bloe")) self.assertFalse(scheme.is_branch("bla/trunk")) self.assertFalse(scheme.is_branch("trunk/bloe")) self.assertFalse(scheme.is_branch("blie/trunk/bloe/bla")) self.assertFalse(scheme.is_branch("bla")) def test_is_branch_parent_root_root(self): self.assertFalse(ListBranchingScheme([""]).is_branch_parent("")) def test_is_branch_parent_root(self): self.assertTrue( ListBranchingScheme(["trunk/*"]).is_branch_parent("trunk")) def test_is_branch_parent_other(self): self.assertFalse( ListBranchingScheme(["trunk/*"]).is_branch_parent("trunk/foo")) def test_is_tag_parent_other(self): self.assertFalse( ListBranchingScheme(["trunk"]).is_tag_parent("trunk/foo")) def test_is_branch_slashsub(self): self.assertTrue(self.scheme.is_branch("/foo")) def test_is_branch_sub(self): self.assertTrue(self.scheme.is_branch("foo")) def test_is_branch_sub_sub_slash(self): self.assertFalse(self.scheme.is_branch("/foo/foo")) def test_is_branch_sub_sub(self): self.assertFalse(self.scheme.is_branch("foo/bar")) def test_is_branch_unknown(self): self.assertFalse(self.scheme.is_branch("foobla")) def test_is_branch_doubleslash(self): self.assertTrue(self.scheme.is_branch("//foo/")) def test_is_branch_nested(self): self.assertTrue(self.scheme.is_branch("bar/bloe")) def test_unprefix_notbranch_empty(self): self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "") def test_unprefix_wildcard(self): scheme = ListBranchingScheme(["*/trunk"]) self.assertEquals(("bla/trunk", "bla/trunk", "foo"), scheme.unprefix("bla/trunk/foo")) def test_unprefix_wildcard_multiple(self): scheme = ListBranchingScheme(["trunk/*/*"]) self.assertEquals(("trunk/foo/bar", "trunk/foo/bar", "bla/blie"), scheme.unprefix("trunk/foo/bar/bla/blie")) def test_unprefix_wildcard_nonexistant(self): scheme = ListBranchingScheme(["*/trunk"]) self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "bla") self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "trunk") self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "trunk/bla") def test_unprefix_notbranch_slash(self): self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "/") def test_unprefix_notbranch_unknown(self): self.assertRaises(InvalidSvnBranchPath, self.scheme.unprefix, "blie/bloe/bla") def test_unprefix_branch_slash(self): self.assertEqual(self.scheme.unprefix("/foo"), ("foo", "foo", "")) def test_unprefix_branch(self): self.assertEqual(self.scheme.unprefix("foo"), ("foo", "foo", "")) def test_unprefix_nested_slash(self): self.assertEqual(self.scheme.unprefix("/foo/foo"), ("foo", "foo", "foo")) def test_unprefix_nested(self): self.assertEqual(self.scheme.unprefix("foo/bar"), ("foo", "foo", "bar")) def test_unprefix_double_nested(self): self.assertEqual(self.scheme.unprefix("foo/bar/bla"), ("foo", "foo", "bar/bla")) def test_unprefix_double_slash(self): self.assertEqual(self.scheme.unprefix("//foo/"), ("foo", "foo", "")) def test_unprefix_nested_branch(self): self.assertEqual(self.scheme.unprefix("bar/bloe"), ("bar/bloe", "bar/bloe", "")) def test_str(self): self.assertEqual( "list-QlpoOTFBWSZTWSDz6woAAAPRgAAQAACzBJAAIAAiDRo9QgyYjmbjatAeLuSKcKEgQefWFA..", str(self.scheme)) def test_parse_text(self): self.assertEqual(["bla/bloe"], parse_list_scheme_text("bla/bloe\n")) def test_parse_text_no_newline(self): self.assertEqual(["bla/bloe", "blie"], parse_list_scheme_text("bla/bloe\nblie")) def test_parse_text_comment(self): self.assertEqual(["bla/bloe", "blie"], parse_list_scheme_text("bla/bloe\n# comment\nblie"))