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

📄 svn_fs.py

📁 一款基于web的项目管理、bug跟踪系统。提供了与svn集成的操作界面、问题跟踪
💻 PY
📖 第 1 页 / 共 3 页
字号:
        self.assertEqual(datetime(2005,4,1,13,24,58,0,utc), node.last_modified)    def test_get_node_specific_rev(self):        node = self.repos.get_node('/dir1', 4)        self.assertEqual('dir1', node.name)        self.assertEqual('/dir1', node.path)        self.assertEqual(Node.DIRECTORY, node.kind)        self.assertEqual(4, node.rev)        self.assertEqual(datetime(2005,4,1,15,42,35,0,utc), node.last_modified)        node = self.repos.get_node('/README.txt', 2)        self.assertEqual('README.txt', node.name)        self.assertEqual('/README.txt', node.path)        self.assertEqual(Node.FILE, node.kind)        self.assertEqual(2, node.rev)        self.assertEqual(datetime(2005,4,1,13,12,18,0,utc), node.last_modified)    def test_get_dir_entries(self):        node = self.repos.get_node('/')        entries = node.get_entries()        self.assertEqual('dir1', entries.next().name)        self.assertEqual('mpp_proc', entries.next().name)        self.assertEqual('v2', entries.next().name)        self.assertEqual('README3.txt', entries.next().name)        self.assertEqual(u'R\xe9sum\xe9.txt', entries.next().name)        self.assertEqual('README.txt', entries.next().name)        self.assertRaises(StopIteration, entries.next)    def test_get_file_entries(self):        node = self.repos.get_node('/README.txt')        entries = node.get_entries()        self.assertRaises(StopIteration, entries.next)    def test_get_dir_content(self):        node = self.repos.get_node('/dir1')        self.assertEqual(None, node.content_length)        self.assertEqual(None, node.content_type)        self.assertEqual(None, node.get_content())    def test_get_file_content(self):        node = self.repos.get_node('/README.txt')        self.assertEqual(8, node.content_length)        self.assertEqual('text/plain', node.content_type)        self.assertEqual('A test.\n', node.get_content().read())    def test_get_dir_properties(self):        f = self.repos.get_node('/dir1')        props = f.get_properties()        self.assertEqual(0, len(props))    def test_get_file_properties(self):        f = self.repos.get_node('/README.txt')        props = f.get_properties()        self.assertEqual('native', props['svn:eol-style'])        self.assertEqual('text/plain', props['svn:mime-type'])    # Revision Log / node history     def test_get_node_history(self):        node = self.repos.get_node('/README3.txt')        history = node.get_history()        self.assertEqual(('README3.txt', 14, 'copy'), history.next())        self.assertEqual(('README2.txt', 6, 'copy'), history.next())        self.assertEqual(('README.txt', 3, 'edit'), history.next())        self.assertEqual(('README.txt', 2, 'add'), history.next())        self.assertRaises(StopIteration, history.next)    def test_get_node_history_follow_copy(self):        node = self.repos.get_node('dir1/dir3', )        history = node.get_history()        self.assertEqual(('dir1/dir3', 5, 'copy'), history.next())        self.assertEqual(('dir3', 4, 'add'), history.next())        self.assertRaises(StopIteration, history.next)    # Revision Log / path history     def test_get_path_history(self):        history = self.repos.get_path_history('dir3', None)        self.assertEqual(('dir3', 5, 'delete'), history.next())        self.assertEqual(('dir3', 4, 'add'), history.next())        self.assertRaises(StopIteration, history.next)    def test_get_path_history_copied_file(self):        history = self.repos.get_path_history('README3.txt', None)        self.assertEqual(('README3.txt', 14, 'copy'), history.next())        self.assertEqual(('README2.txt', 6, 'unknown'), history.next())        self.assertRaises(StopIteration, history.next)            def test_get_path_history_copied_dir(self):        history = self.repos.get_path_history('dir1/dir3', None)        self.assertEqual(('dir1/dir3', 5, 'copy'), history.next())        self.assertEqual(('dir3', 4, 'unknown'), history.next())        self.assertRaises(StopIteration, history.next)    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(4)        self.assertEqual(4, chgset.rev)        self.assertEqual('More directories.', chgset.message)        self.assertEqual('john', chgset.author)        self.assertEqual(datetime(2005,4,1,15,42,35,0,utc), chgset.date)        changes = chgset.get_changes()        self.assertEqual(('dir1', Node.DIRECTORY, 'add', None, -1),                         changes.next())        self.assertEqual(('dir2', Node.DIRECTORY, 'add', None, -1),                         changes.next())        self.assertEqual(('dir3', Node.DIRECTORY, '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(('README.txt', Node.FILE, Changeset.EDIT,                          '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(('dir1/dir2', Node.DIRECTORY, Changeset.MOVE,                          'dir2', 4), changes.next())        self.assertEqual(('dir1/dir3', Node.DIRECTORY, Changeset.MOVE,                          '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(('README2.txt', Node.FILE, Changeset.COPY,                          '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, '/', 6),                         changes.next())        self.assertRaises(StopIteration, changes.next)    def test_changeset_copy_from_outside_and_delete(self):        chgset = self.repos.get_changeset(21)        self.assertEqual(21, chgset.rev)        self.assertEqual('copy from outside of the scope + delete',                         chgset.message)        changes = chgset.get_changes()        self.assertEqual(('v2', 'dir', Changeset.ADD, None, -1),                         changes.next())        self.assertRaises(StopIteration, changes.next)class RecentPathScopedRepositoryTestCase(unittest.TestCase):    def setUp(self):        self.repos = SubversionRepository(REPOS_PATH + '/trunk/dir1', None,                                          logger_factory('test'))    def tearDown(self):        self.repos = None    def test_rev_navigation(self):        self.assertEqual(False, self.repos.has_node('/', 1))        self.assertEqual(False, self.repos.has_node('/', 2))        self.assertEqual(False, self.repos.has_node('/', 3))        self.assertEqual(True, self.repos.has_node('/', 4))        # We can't make this work anymore because of #5213.        # self.assertEqual(4, self.repos.oldest_rev)        self.assertEqual(1, self.repos.oldest_rev) # should really be 4...        self.assertEqual(None, self.repos.previous_rev(4))class NonSelfContainedScopedTestCase(unittest.TestCase):    def setUp(self):        self.repos = SubversionRepository(REPOS_PATH + '/tags/v1', None,                                          logger_factory('test'))    def tearDown(self):        self.repos = None    def test_mixed_changeset(self):        chgset = self.repos.get_changeset(7)        self.assertEqual(7, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('/', Node.DIRECTORY, Changeset.ADD, None, -1),                         changes.next())        self.assertRaises(TracError, lambda: self.repos.get_node(None, 6))class AnotherNonSelfContainedScopedTestCase(unittest.TestCase):    def setUp(self):        self.repos = SubversionRepository(REPOS_PATH + '/branches', None,                                          logger_factory('test'))    def tearDown(self):        self.repos = None    def test_mixed_changeset_with_edit(self):        chgset = self.repos.get_changeset(9)        self.assertEqual(9, chgset.rev)        changes = chgset.get_changes()        self.assertEqual(('v1x/README.txt', Node.FILE, Changeset.EDIT,                          'v1x/README.txt', 8),                         changes.next())def suite():    global has_svn    suite = unittest.TestSuite()    if has_svn:        suite.addTest(unittest.makeSuite(SubversionRepositoryTestCase,            'test', suiteClass=SubversionRepositoryTestSetup))        suite.addTest(unittest.makeSuite(ScopedSubversionRepositoryTestCase,            'test', suiteClass=SubversionRepositoryTestSetup))        suite.addTest(unittest.makeSuite(RecentPathScopedRepositoryTestCase,            'test', suiteClass=SubversionRepositoryTestSetup))        suite.addTest(unittest.makeSuite(NonSelfContainedScopedTestCase,            'test', suiteClass=SubversionRepositoryTestSetup))        suite.addTest(unittest.makeSuite(AnotherNonSelfContainedScopedTestCase,            'test', suiteClass=SubversionRepositoryTestSetup))    else:        print "SKIP: versioncontrol/tests/svn_fs.py (no svn bindings)"    return suiteif __name__ == '__main__':    runner = unittest.TextTestRunner()    runner.run(suite())

⌨️ 快捷键说明

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