def __init__(self, cwd=None): MainModel.__init__(self, cwd=cwd) self.query = '' self.max_results = 500 self.start_date = '' self.end_date = '' self.commit_list = []
def create_new_branch(revision=''): """Launches a dialog for creating a new branch""" model = MainModel() model.update_status() view = CreateBranchDialog(model, qtutils.active_window()) if revision: view.set_revision(revision) view.show() return view
def test_git_config(self): """Test cola.git.config()""" self.shell('git config section.key value') model = MainModel(cwd=os.getcwd()) value = model.git.config('section.key', get=True) self.assertEqual(value, 'value') # Test config_set model.config_set('section.bool', True) value = model.git.config('section.bool', get=True) self.assertEqual(value, 'true') model.config_set('section.bool', False) # Test config_dict config_dict = model.config_dict(local=True) self.assertEqual(config_dict['section_key'], 'value') self.assertEqual(config_dict['section_bool'], False) # Test config_dict --global global_dict = model.config_dict(local=False) self.assertEqual(type(global_dict), dict)
def test_git_commit(self): """Test running 'git commit' via cola.git""" self.shell(""" echo A > A echo B > B git add A B """) model = MainModel(cwd=os.getcwd()) model.git.commit(m='commit test') log = helper.pipe('git log --pretty=oneline | wc -l') self.assertEqual(log.strip(), '1')
def create_new_branch(revision=''): """Launches a dialog for creating a new branch""" model = MainModel() model.update_status() model.revision = revision model.local_branch = '' view = createbranch.CreateBranchView(qtutils.active_window()) ctl = CreateBranchController(model, view) model.set_revision(revision) view.show() return ctl
def run(RemoteDialog): """Launches fetch/push/pull dialogs.""" # Copy global stuff over to speedup startup model = MainModel() global_model = cola.model() model.currentbranch = global_model.currentbranch model.local_branches = global_model.local_branches model.remote_branches = global_model.remote_branches model.tags = global_model.tags model.remotes = global_model.remotes parent = qtutils.active_window() view = RemoteDialog(model, parent) view.show() return view
def remote_action(action): """Launches fetch/push/pull dialogs.""" # TODO: subclass model model = MainModel() global_model = cola.model() model.currentbranch = global_model.currentbranch model.local_branches = global_model.local_branches model.remote_branches = global_model.remote_branches model.tags = global_model.tags model.remotes = global_model.remotes model.local_branch = '' model.remote_branch = '' model.remotename = '' model.tags_checkbox = False model.rebase_checkbox = False model.ffwd_only_checkbox = True view = remote.RemoteView(qtutils.active_window(), action) ctl = RemoteController(model, view, action) view.show() return ctl
class ClassicModelTestCase(helper.GitRepositoryTestCase): """Tests interfaces used by the classic view.""" def setUp(self): helper.GitRepositoryTestCase.setUp(self, commit=False) self.model = MainModel(cwd=os.getcwd()) def test_everything(self): """Test the MainModel.everything() method.""" self.shell("touch other-file") everything = self.model.everything() self.assertTrue("A" in everything) self.assertTrue("B" in everything) self.assertTrue("other-file" in everything) def test_stage_paths_untracked(self): """Test stage_paths() with an untracked file.""" self.shell( """ mkdir -p foo/bar && touch foo/bar/baz """ ) self.model.stage_paths(["foo"]) self.assertTrue("foo/bar/baz" in self.model.staged) self.assertTrue("foo/bar/baz" not in self.model.modified) self.assertTrue("foo/bar/baz" not in self.model.untracked) def test_unstage_paths(self): """Test a simple usage of unstage_paths().""" self.shell( """ git commit -m'initial commit' > /dev/null echo change > A && git add A """ ) gitcmds.unstage_paths(["A"]) self.model.update_status() self.assertTrue("A" not in self.model.staged) self.assertTrue("A" in self.model.modified) def test_unstage_paths_init(self): """Test unstage_paths() on the root commit.""" gitcmds.unstage_paths(["A"]) self.model.update_status() self.assertTrue("A" not in self.model.staged) self.assertTrue("A" in self.model.untracked) def test_unstage_paths_subdir(self): """Test unstage_paths() in a subdirectory.""" self.shell("git commit -m'initial commit' > /dev/null") self.shell( """ mkdir -p foo/bar && touch foo/bar/baz && git add foo/bar/baz """ ) gitcmds.unstage_paths(["foo"]) self.model.update_status() self.assertTrue("foo/bar/baz" in self.model.untracked) self.assertTrue("foo/bar/baz" not in self.model.staged)
def setUp(self): helper.GitRepositoryTestCase.setUp(self, commit=False) self.model = MainModel(cwd=os.getcwd())
class ClassicModelTestCase(helper.GitRepositoryTestCase): """Tests interfaces used by the classic view.""" def setUp(self): helper.GitRepositoryTestCase.setUp(self, commit=False) self.model = MainModel(cwd=os.getcwd()) def test_everything(self): """Test the MainModel.everything() method.""" self.shell('touch other-file') everything = self.model.everything() self.assertTrue('A' in everything) self.assertTrue('B' in everything) self.assertTrue('other-file' in everything) def test_stage_paths_untracked(self): """Test stage_paths() with an untracked file.""" self.shell(""" mkdir -p foo/bar && touch foo/bar/baz """) self.model.stage_paths(['foo']) self.assertTrue('foo/bar/baz' in self.model.staged) self.assertTrue('foo/bar/baz' not in self.model.modified) self.assertTrue('foo/bar/baz' not in self.model.untracked) def test_unstage_paths(self): """Test a simple usage of unstage_paths().""" self.shell(""" git commit -m'initial commit' > /dev/null echo change > A && git add A """) gitcmds.unstage_paths(['A']) self.model.update_status() self.assertTrue('A' not in self.model.staged) self.assertTrue('A' in self.model.modified) def test_unstage_paths_init(self): """Test unstage_paths() on the root commit.""" gitcmds.unstage_paths(['A']) self.model.update_status() self.assertTrue('A' not in self.model.staged) self.assertTrue('A' in self.model.untracked) def test_unstage_paths_subdir(self): """Test unstage_paths() in a subdirectory.""" self.shell("git commit -m'initial commit' > /dev/null") self.shell(""" mkdir -p foo/bar && touch foo/bar/baz && git add foo/bar/baz """) gitcmds.unstage_paths(['foo']) self.model.update_status() self.assertTrue('foo/bar/baz' in self.model.untracked) self.assertTrue('foo/bar/baz' not in self.model.staged)
class MainModelTestCase(helper.GitRepositoryTestCase): """Tests the MainModel class.""" def setUp(self): helper.GitRepositoryTestCase.setUp(self) self.model = MainModel(cwd=os.getcwd()) def test_project(self): """Test the 'project' attribute.""" project = os.path.basename(self.test_path()) self.assertEqual(self.model.project, project) def test_local_branches(self): """Test the 'local_branches' attribute.""" self.model.update_status() self.assertEqual(self.model.local_branches, ['master']) def test_remote_branches(self): """Test the 'remote_branches' attribute.""" self.model.update_status() self.assertEqual(self.model.remote_branches, []) self.shell(""" git remote add origin . git fetch origin > /dev/null 2>&1 """) self.model.update_status() self.assertEqual(self.model.remote_branches, ['origin/master']) def test_modified(self): """Test the 'modified' attribute.""" self.shell('echo change > A') self.model.update_status() self.assertEqual(self.model.modified, ['A']) def test_unstaged(self): """Test the 'unstaged' attribute.""" self.shell('echo change > A') self.shell('echo C > C') self.model.update_status() self.assertEqual(self.model.unstaged, ['A', 'C']) def test_untracked(self): """Test the 'untracked' attribute.""" self.shell('echo C > C') self.model.update_status() self.assertEqual(self.model.untracked, ['C']) def test_remotes(self): """Test the 'remote' attribute.""" self.shell('git remote add origin .') self.model.update_status() self.assertEqual(self.model.remotes, ['origin']) def test_currentbranch(self): """Test the 'currentbranch' attribute.""" self.shell('git checkout -b test > /dev/null 2>&1') self.model.update_status() self.assertEqual(self.model.currentbranch, 'test') def test_tags(self): """Test the 'tags' attribute.""" self.shell('git tag test') self.model.update_status() self.assertEqual(self.model.tags, ['test'])