Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Commit

Permalink
work in progress #125
Browse files Browse the repository at this point in the history
  • Loading branch information
mfrasca committed Sep 15, 2015
1 parent 216a808 commit c0871bd
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 8 deletions.
3 changes: 3 additions & 0 deletions bauble/connmgr.glade
Expand Up @@ -277,6 +277,7 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
<signal name="changed" handler="on_text_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
Expand Down Expand Up @@ -322,6 +323,7 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
<signal name="changed" handler="on_text_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
Expand Down Expand Up @@ -506,6 +508,7 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="secondary_icon_activatable">False</property>
<property name="primary_icon_sensitive">True</property>
<property name="secondary_icon_sensitive">True</property>
<signal name="changed" handler="on_pictureroot2_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
Expand Down
3 changes: 0 additions & 3 deletions bauble/connmgr.py
Expand Up @@ -444,9 +444,6 @@ def connection_uri(self):
params['type'] = type.lower()
return self.parameters_to_uri(params)

def _get_connection_name(self):
return self.connection_name

def check_parameters_valid(self):
"""
check that all of the information in the current connection
Expand Down
8 changes: 5 additions & 3 deletions bauble/editor.py
Expand Up @@ -700,6 +700,10 @@ def __init__(self, **kwargs):
def image_set_from_file(self, *args):
pass

def run_FileChooserDialog(
self, text, parent, action, buttons, last_folder, target):
self.widget_set_value(target, self.response_FileChooserDialog)

def set_title(self, *args):
pass

Expand Down Expand Up @@ -885,9 +889,7 @@ def on_text_entry_changed(self, widget, value=None):
attr = self.__get_widget_attr(widget)
if attr is None:
return
if value is None:
value = widget.props.text
value = value and utils.utf8(value) or None
value = self.view.widget_get_value(widget)
logger.debug("on_text_entry_changed(%s, %s) - %s → %s"
% (widget, attr, getattr(self.model, attr), value))
self.__set_model_attr(attr, value)
Expand Down
6 changes: 4 additions & 2 deletions bauble/plugins/tag/test.py
Expand Up @@ -175,7 +175,8 @@ def test_when_user_edits_name_name_is_memorized(self):
model = Tag()
view = MockTagView()
presenter = TagEditorPresenter(model, view)
presenter.on_text_entry_changed('tag_name_entry', u'1234')
view.widget_set_value('tag_name_entry', u'1234')
presenter.on_text_entry_changed('tag_name_entry')
self.assertEquals(model.tag, u'1234')

def test_when_user_inserts_existing_name_warning_ok_deactivated(self):
Expand Down Expand Up @@ -213,7 +214,8 @@ def test_when_user_edits_fields_ok_active(self):
view = MockTagView()
presenter = TagEditorPresenter(model, view)
self.assertTrue(not view.sensitive) # not changed
presenter.on_text_entry_changed('tag_name_entry', u'1234')
view.widget_set_value('tag_name_entry', u'1234')
presenter.on_text_entry_changed('tag_name_entry')
self.assertEquals(model.tag, u'1234')
self.assertTrue(view.sensitive) # changed

Expand Down
80 changes: 80 additions & 0 deletions bauble/test/test_connmgr.py
Expand Up @@ -225,3 +225,83 @@ def test_set_default_toggles_sensitivity(self):
view.widget_set_value('usedefaults_chkbx', True)
presenter.on_usedefaults_chkbx_toggled('usedefaults_chkbx')
self.assertFalse(view.widget_get_sensitive('file_entry'))


class MockRenderer(dict):
def set_property(self, property, value):
self[property] = value


class CellDataFuncTests(BaubleTestCase):
'Presenter manages view and model, implements view callbacks.'
def test_combo_cell_data_func(self):
import bauble.connmgr
wt, at = bauble.connmgr.working_dbtypes, bauble.connmgr.dbtypes
bauble.connmgr.working_dbtypes = ['a', 'd']
bauble.connmgr.dbtypes = ['a', 'b', 'c', 'd']

renderer = MockRenderer()
for iter, name in enumerate(bauble.connmgr.dbtypes):
bauble.connmgr.type_combo_cell_data_func(
None, renderer, bauble.connmgr.dbtypes, iter)
self.assertEquals(renderer['sensitive'],
name in bauble.connmgr.working_dbtypes)
self.assertEquals(renderer['text'], name)

bauble.connmgr.working_dbtypes, bauble.connmgr.dbtypes = wt, at


class ButtonBrowseButtons(BaubleTestCase):
def test_file_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = 'chosen'
presenter = ConnMgrPresenter(view)
presenter.on_file_btnbrowse_clicked()
presenter.on_text_entry_changed('file_entry')
self.assertEquals(presenter.filename, 'chosen')

def test_file_not_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = None
presenter = ConnMgrPresenter(view)
presenter.filename = 'previously'
presenter.on_file_btnbrowse_clicked()
self.assertEquals(presenter.filename, 'previously')

def test_pictureroot_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = 'chosen'
presenter = ConnMgrPresenter(view)
presenter.on_pictureroot_btnbrowse_clicked()
presenter.on_text_entry_changed('pictureroot_entry')
self.assertEquals(presenter.pictureroot, 'chosen')

def test_pictureroot_not_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = None
presenter = ConnMgrPresenter(view)
presenter.pictureroot = 'previously'
presenter.on_pictureroot_btnbrowse_clicked()
self.assertEquals(presenter.pictureroot, 'previously')

def test_pictureroot2_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = 'chosen'
presenter = ConnMgrPresenter(view)
presenter.on_pictureroot2_btnbrowse_clicked()
presenter.on_text_entry_changed('pictureroot2_entry')
self.assertEquals(presenter.pictureroot, 'chosen')

def test_pictureroot2_not_chosen(self):
view = MockView(combos={'name_combo': [],
'type_combo': []})
view.response_FileChooserDialog = None
presenter = ConnMgrPresenter(view)
presenter.pictureroot = 'previously'
presenter.on_pictureroot2_btnbrowse_clicked()
self.assertEquals(presenter.pictureroot, 'previously')

0 comments on commit c0871bd

Please sign in to comment.