⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_fs.py

📁 一款基于web的项目管理、bug跟踪系统。提供了与svn集成的操作界面、问题跟踪
💻 PY
📖 第 1 页 / 共 3 页
字号:
            def test_get_path_history_copied_dir(self):        history = self.repos.get_path_history('/branches/v1x', None)        self.assertEqual(('branches/v1x', 12, 'copy'), history.next())        self.assertEqual(('tags/v1.1', 10, 'unknown'), history.next())        self.assertEqual(('branches/v1x', 11, 'delete'), history.next())        self.assertEqual(('branches/v1x', 9, 'edit'), history.next())        self.assertEqual(('branches/v1x', 8, 'copy'), history.next())        self.assertEqual(('tags/v1', 7, 'unknown'), history.next())        self.assertRaises(StopIteration, history.next)    # Diffs    def _cmp_diff(self, expected, got):        if expected[0]:            old = self.repos.get_node(*expected[0])            self.assertEqual((old.path, old.rev), (got[0].path, got[0].rev))        if expected[1]:            new = self.repos.get_node(*expected[1])            self.assertEqual((new.path, new.rev), (got[1].path, got[1].rev))        self.assertEqual(expected[2], (got[2], got[3]))            def test_diff_file_different_revs(self):        diffs = self.repos.get_changes('trunk/README.txt', 2, 'trunk/README.txt', 3)        self._cmp_diff((('trunk/README.txt', 2),                        ('trunk/README.txt', 3),                        (Node.FILE, Changeset.EDIT)), diffs.next())        self.assertRaises(StopIteration, diffs.next)    def test_diff_file_different_files(self):        diffs = self.repos.get_changes('branches/v1x/README.txt', 12,                                      'branches/v1x/README2.txt', 12)        self._cmp_diff((('branches/v1x/README.txt', 12),                        ('branches/v1x/README2.txt', 12),                        (Node.FILE, Changeset.EDIT)), diffs.next())        self.assertRaises(StopIteration, diffs.next)    def test_diff_file_no_change(self):        diffs = self.repos.get_changes('trunk/README.txt', 7,                                      'tags/v1/README.txt', 7)        self.assertRaises(StopIteration, diffs.next)     def test_diff_dir_different_revs(self):        diffs = self.repos.get_changes('trunk', 4, 'trunk', 8)        self._cmp_diff((None, ('trunk/dir1/dir2', 8),                        (Node.DIRECTORY, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('trunk/dir1/dir3', 8),                        (Node.DIRECTORY, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('trunk/README2.txt', 6),                        (Node.FILE, Changeset.ADD)), diffs.next())        self._cmp_diff((('trunk/dir2', 4), None,                        (Node.DIRECTORY, Changeset.DELETE)), diffs.next())        self._cmp_diff((('trunk/dir3', 4), None,                        (Node.DIRECTORY, Changeset.DELETE)), diffs.next())        self.assertRaises(StopIteration, diffs.next)    def test_diff_dir_different_dirs(self):        diffs = self.repos.get_changes('trunk', 1, 'branches/v1x', 12)        self._cmp_diff((None, ('branches/v1x/dir1', 12),                        (Node.DIRECTORY, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('branches/v1x/dir1/dir2', 12),                        (Node.DIRECTORY, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('branches/v1x/dir1/dir3', 12),                        (Node.DIRECTORY, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('branches/v1x/README.txt', 12),                        (Node.FILE, Changeset.ADD)), diffs.next())        self._cmp_diff((None, ('branches/v1x/README2.txt', 12),                        (Node.FILE, Changeset.ADD)), diffs.next())        self.assertRaises(StopIteration, diffs.next)    def test_diff_dir_no_change(self):        diffs = self.repos.get_changes('trunk', 7,                                      'tags/v1', 7)        self.assertRaises(StopIteration, diffs.next)            # Changesets    def test_changeset_repos_creation(self):        chgset = self.repos.get_changeset(0)        self.assertEqual(0, chgset.rev)        self.assertEqual('', chgset.message)        self.assertEqual('', chgset.author)        self.assertEqual(datetime(2005,4,1,9,57,41,0,utc), chgset.date)        self.assertRaises(StopIteration, chgset.get_changes().next)    def test_changeset_added_dirs(self):        chgset = self.repos.get_changeset(1)        self.assertEqual(1, chgset.rev)        self.assertEqual('Initial directory layout.', chgset.message)        self.assertEqual('john', chgset.author)        self.assertEqual(datetime(2005,4,1,10,0,52,0,utc), chgset.date)        changes = chgset.get_changes()        self.assertEqual(('branches', Node.DIRECTORY, Changeset.ADD, None, -1),                         changes.next())        self.assertEqual(('tags', Node.DIRECTORY, Changeset.ADD, None, -1),                         changes.next())        self.assertEqual(('trunk', Node.DIRECTORY, Changeset.ADD, None, -1),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_file_edit(self):        chgset = self.repos.get_changeset(3)        self.assertEqual(3, chgset.rev)        self.assertEqual('Fixed README.\n', chgset.message)        self.assertEqual('kate', chgset.author)        self.assertEqual(datetime(2005,4,1,13,24,58,0,utc), chgset.date)        changes = chgset.get_changes()        self.assertEqual(('trunk/README.txt', Node.FILE, Changeset.EDIT,                          'trunk/README.txt', 2), changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_dir_moves(self):        chgset = self.repos.get_changeset(5)        self.assertEqual(5, chgset.rev)        self.assertEqual('Moved directories.', chgset.message)        self.assertEqual('kate', chgset.author)        self.assertEqual(datetime(2005,4,1,16,25,39,0,utc), chgset.date)        changes = chgset.get_changes()        self.assertEqual(('trunk/dir1/dir2', Node.DIRECTORY, Changeset.MOVE,                          'trunk/dir2', 4), changes.next())        self.assertEqual(('trunk/dir1/dir3', Node.DIRECTORY, Changeset.MOVE,                          'trunk/dir3', 4), changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_file_copy(self):        chgset = self.repos.get_changeset(6)        self.assertEqual(6, chgset.rev)        self.assertEqual('More things to read', chgset.message)        self.assertEqual('john', chgset.author)        self.assertEqual(datetime(2005,4,1,18,56,46,0,utc), chgset.date)        changes = chgset.get_changes()        self.assertEqual(('trunk/README2.txt', Node.FILE, Changeset.COPY,                          'trunk/README.txt', 3), changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_root_propset(self):        chgset = self.repos.get_changeset(13)        self.assertEqual(13, chgset.rev)        self.assertEqual('Setting property on the repository_dir root',                         chgset.message)        changes = chgset.get_changes()        self.assertEqual(('/', Node.DIRECTORY, Changeset.EDIT, '/', 12),                         changes.next())        self.assertEqual(('trunk', Node.DIRECTORY, Changeset.EDIT, 'trunk', 6),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_base_path_rev(self):        chgset = self.repos.get_changeset(9)        self.assertEqual(9, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('branches/v1x/README.txt', Node.FILE,                          Changeset.EDIT, 'trunk/README.txt', 3),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_rename_and_edit(self):        chgset = self.repos.get_changeset(14)        self.assertEqual(14, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('trunk/README3.txt', Node.FILE,                          Changeset.MOVE, 'trunk/README2.txt', 13),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_edit_after_wc2wc_copy__original_deleted(self):        chgset = self.repos.get_changeset(16)        self.assertEqual(16, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('branches/v2', Node.DIRECTORY, Changeset.COPY,                          'tags/v1.1', 14),                         changes.next())        self.assertEqual(('branches/v2/README2.txt', Node.FILE,                          Changeset.EDIT, 'trunk/README2.txt', 6),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_fancy_rename_double_delete(self):        chgset = self.repos.get_changeset(19)        self.assertEqual(19, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('trunk/Xprimary_proc/Xprimary_pkg.vhd', Node.FILE,                          Changeset.DELETE,                          'trunk/Xprimary_proc/Xprimary_pkg.vhd', 18),                         changes.next())        self.assertEqual(('trunk/mpp_proc', Node.DIRECTORY,                          Changeset.COPY, 'trunk/Xprimary_proc', 18),                         changes.next())        self.assertEqual(('trunk/mpp_proc/Xprimary_proc', Node.DIRECTORY,                          Changeset.MOVE, 'trunk/Xprimary_proc', 18),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_utf_8(self):        chgset = self.repos.get_changeset(20)        self.assertEqual(20, chgset.rev)        self.assertEqual(u'Chez moi 莽a marche\n', chgset.message)        self.assertEqual(u'Jonas Borgstr枚m', chgset.author)class ScopedSubversionRepositoryTestCase(unittest.TestCase):    def setUp(self):        self.repos = SubversionRepository(REPOS_PATH + '/trunk', None,                                          logger_factory('test'))    def tearDown(self):        self.repos = None    def test_repos_normalize_path(self):        self.assertEqual('/', self.repos.normalize_path('/'))        self.assertEqual('/', self.repos.normalize_path(''))        self.assertEqual('/', self.repos.normalize_path(None))        self.assertEqual('dir1', self.repos.normalize_path('dir1'))        self.assertEqual('dir1', self.repos.normalize_path('/dir1'))        self.assertEqual('dir1', self.repos.normalize_path('dir1/'))        self.assertEqual('dir1', self.repos.normalize_path('/dir1/'))    def test_repos_normalize_rev(self):        self.assertEqual(HEAD, self.repos.normalize_rev('latest'))        self.assertEqual(HEAD, self.repos.normalize_rev('head'))        self.assertEqual(HEAD, self.repos.normalize_rev(''))        self.assertEqual(HEAD, self.repos.normalize_rev(None))        self.assertEqual(5, self.repos.normalize_rev('5'))        self.assertEqual(5, self.repos.normalize_rev(5))    def test_rev_navigation(self):        self.assertEqual(1, self.repos.oldest_rev)        self.assertEqual(None, self.repos.previous_rev(0))        self.assertEqual(1, self.repos.previous_rev(2))        self.assertEqual(HEAD, self.repos.youngest_rev)        self.assertEqual(2, self.repos.next_rev(1))        self.assertEqual(3, self.repos.next_rev(2))        # ...        self.assertEqual(None, self.repos.next_rev(HEAD))    def test_has_node(self):        self.assertEqual(False, self.repos.has_node('/dir1', 3))        self.assertEqual(True, self.repos.has_node('/dir1', 4))    def test_get_node(self):        node = self.repos.get_node('/dir1')        self.assertEqual('dir1', node.name)        self.assertEqual('/dir1', node.path)        self.assertEqual(Node.DIRECTORY, node.kind)        self.assertEqual(5, node.rev)        self.assertEqual(datetime(2005,4,1,16,25,39,0,utc), node.last_modified)        node = self.repos.get_node('/README.txt')        self.assertEqual('README.txt', node.name)        self.assertEqual('/README.txt', node.path)        self.assertEqual(Node.FILE, node.kind)        self.assertEqual(3, node.rev)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -