def test_status_role(self): m = ManifestModel(self.repo, rev=0) self.assertEqual('A', m.data(m.indexFromPath('foo'), role=ManifestModel.StatusRole)) m = ManifestModel(self.repo, rev=1) m.setStatusFilter('MARC') self.assertEqual('C', m.data(m.indexFromPath('foo'), role=ManifestModel.StatusRole)) self.assertEqual('R', m.data(m.indexFromPath('baz/box'), role=ManifestModel.StatusRole))
def test_name_filter_glob(self): m = ManifestModel(self.repo, rev=0) m.setNameFilter('b*x') self.assertFalse(m.indexFromPath('bar').isValid()) self.assertTrue(m.indexFromPath('baz/bax').isValid()) self.assertTrue(m.indexFromPath('baz/box').isValid()) self.assertFalse(m.indexFromPath('foo').isValid())
def test_status_filter_multi(self): m = ManifestModel(self.repo, rev=1) m.setStatusFilter('MC') self.assertNotEqual(QModelIndex(), m.indexFromPath('bar')) # modified self.assertEqual(QModelIndex(), m.indexFromPath('zzz')) # added self.assertEqual(QModelIndex(), m.indexFromPath('baz/box')) # removed self.assertNotEqual(QModelIndex(), m.indexFromPath('foo')) # clean
def test_indexfrompath(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(QModelIndex(), m.indexFromPath('')) self.assertEqual(m.index(1, 0), m.indexFromPath('bar')) self.assertEqual(m.index(0, 0), m.indexFromPath('baz')) self.assertEqual(m.index(0, 0, m.index(0, 0)), m.indexFromPath('baz/bax'))
def _setupmodel(self): self._treemodel = ManifestModel( self._repo, self._rev, statusfilter=self._statusfilter.status(), parent=self) self._treemodel.setNameFilter(self.le.text()) oldmodel = self._treeview.model() oldselmodel = self._treeview.selectionModel() self._treeview.setModel(self._treemodel) if oldmodel: oldmodel.deleteLater() if oldselmodel: oldselmodel.deleteLater() selmodel = self._treeview.selectionModel() selmodel.currentChanged.connect(self._updatecontent) selmodel.currentChanged.connect(self._updateItemFileActions) selmodel.currentChanged.connect(self._emitPathChanged) self._statusfilter.statusChanged.connect( self._treemodel.setStatusFilter) self._statusfilter.statusChanged.connect(self._autoexpandtree) self._autoexpandtree()
def test_status_filter_change(self): m = ManifestModel(self.repo, rev=1) m.setStatusFilter('C') self.assertEqual(QModelIndex(), m.indexFromPath('bar')) # modified self.assertNotEqual(QModelIndex(), m.indexFromPath('foo')) # clean m.setStatusFilter('M') self.assertNotEqual(QModelIndex(), m.indexFromPath('bar')) # modified self.assertEqual(QModelIndex(), m.indexFromPath('foo')) # clean
def test_data(self): m = ManifestModel(self.repo, rev=0) self.assertEqual('bar', m.data(m.index(1, 0))) self.assertEqual('baz', m.data(m.index(0, 0))) self.assertEqual('foo', m.data(m.index(2, 0)))
def test_pathfromindex(self): m = ManifestModel(self.repo, rev=0) self.assertEqual('', m.filePath(QModelIndex())) self.assertEqual('bar', m.filePath(m.index(1, 0))) self.assertEqual('baz', m.filePath(m.index(0, 0))) self.assertEqual('baz/bax', m.filePath(m.index(0, 0, m.index(0, 0))))
def test_rowcount_invalid(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(0, m.rowCount(m.index(1, 0)))
def test_rowcount_subdirs(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(2, m.rowCount(m.index(0, 0)))
def test_rowcount(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(3, m.rowCount())
def test_isdir(self): m = ManifestModel(self.repo, rev=0) self.assertTrue(m.isDir(m.indexFromPath(''))) self.assertTrue(m.isDir(m.indexFromPath('baz'))) self.assertFalse(m.isDir(m.indexFromPath('foo')))
def test_data(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(_aloha_ja, m.data(m.index(0, 0)))
def test_indexfrompath_qstr(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(m.index(1, 0), m.indexFromPath(QString('bar')))
def test_fileicon_path_concat(self): m = ManifestModel(self.repo, rev=0) m.fileIcon(m.indexFromPath(_aloha_ja + '.txt')) # no unicode error
def test_indexfrompath(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(m.index(0, 0), m.indexFromPath(_aloha_ja))
def test_pathfromindex(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(_aloha_ja, m.filePath(m.index(0, 0)))
def test_removed_should_be_listed(self): m = ManifestModel(self.repo, rev=1) m.setStatusFilter('MARC') self.assertTrue(m.indexFromPath('baz/box').isValid())
def test_data_subdir(self): m = ManifestModel(self.repo, rev=0) self.assertEqual('bax', m.data(m.index(0, 0, m.index(0, 0)))) self.assertEqual('box', m.data(m.index(1, 0, m.index(0, 0))))
def test_data_inexistent(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(None, m.data(QModelIndex())) self.assertEqual(None, m.data(m.index(0, 0, m.index(1, 0))))
def test_status_role_invalid(self): m = ManifestModel(self.repo, rev=0) self.assertEqual(None, m.data(QModelIndex(), role=ManifestModel.StatusRole))