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'))
示例#5
0
    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))