Skip to content

Commit f16c32c

Browse files
Fixes not clearing fixtures, and synchronizing in Text Editor (#2567)
1 parent 5ab6d3b commit f16c32c

File tree

6 files changed

+36
-6
lines changed

6 files changed

+36
-6
lines changed

CHANGELOG.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ and this project adheres to http://semver.org/spec/v2.0.0.html[Semantic Versioni
1010

1111
== Fixed
1212

13+
-- Fixed clearing or emptying fixtures (Setups, Teardowns), now removes headers and synchronizes Text Editor
14+
1315
-- Fixed selection and persistance of colors in File Explorer and Project Tree panels
1416

1517
-- Fixed not using defined color for help and HTML content

src/robotide/controller/settingcontrollers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def notify_value_changed(self):
104104
def clear(self):
105105
self._data.reset()
106106
self.mark_dirty()
107+
RideItemSettingsChanged(item=self._parent).publish()
107108

108109
def _changed(self, value):
109110
return value != self._data.value

src/robotide/editor/settingeditors.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,13 @@ def OnEdit(self, event=None):
133133
self._editing = True
134134
dlg = self._create_editor_dialog()
135135
if dlg.ShowModal() == wx.ID_OK:
136-
self._set_value(dlg.get_value(), dlg.get_comment())
137-
self._update_and_notify()
136+
value = dlg.get_value()
137+
comment = dlg.get_comment()
138+
if value != ['']:
139+
self._set_value(value, comment)
140+
self._update_and_notify()
141+
else:
142+
wx.CallAfter(self.OnClear, event)
138143
dlg.Destroy()
139144
self._editing = False
140145

src/robotide/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
# limitations under the License.
1515
#
1616
# Automatically generated by `tasks.py`.
17-
VERSION = '2.0.1.dev2'
17+
VERSION = '2.0.1.dev3'
1818

utest/controller/test_controllers.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
WithListOperations)
3232
from robotide.publish.messages import (
3333
RideImportSetting, RideImportSettingRemoved, RideImportSettingAdded,
34-
RideImportSettingChanged)
34+
RideImportSettingChanged, RideItemSettingsChanged)
35+
from robotide.publish import PUBLISHER
3536
from robotide.controller.tags import Tag
3637

3738
from utest.resources.mocks import PublisherListener
@@ -131,6 +132,17 @@ def setUp(self):
131132
self.fix.args = ['argh', 'urgh']
132133
self.parent = _FakeParent()
133134
self.ctrl = FixtureController(self.parent, self.fix)
135+
self._reset_changes()
136+
PUBLISHER.subscribe(self._change_detection, RideItemSettingsChanged)
137+
138+
def tearDown(self):
139+
PUBLISHER.unsubscribe(self._change_detection, RideItemSettingsChanged)
140+
141+
def _reset_changes(self):
142+
self._changed = None
143+
144+
def _change_detection(self, message):
145+
self._changed = message
134146

135147
def test_creation(self):
136148
assert self.ctrl.display_value == 'My Setup | argh | urgh'
@@ -178,6 +190,18 @@ def test_contains_keyword_with_regexp_with_empty_fixture(self):
178190
keyword_regexp = re.compile(r'foo.*bar')
179191
assert not empty_fixture_controller.contains_keyword(keyword_regexp)
180192

193+
def test_setting_value_triggers_change_message(self):
194+
self.ctrl.set_value('No Operation')
195+
assert self._changed is not None
196+
197+
def test_setting_empty_value_triggers_change_message(self):
198+
self.ctrl.set_value('')
199+
assert self._changed is not None
200+
201+
def test_clearing_setting_value_triggers_change_message(self):
202+
self.ctrl.clear()
203+
assert self._changed is not None
204+
181205

182206
class TagsControllerTest(unittest.TestCase):
183207

utest/resources/fake.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11

22
auto imports = []
33
pythonpath = []
4-
excludes = None
5-
txt number of spaces = 2
64
[Plugins]

0 commit comments

Comments
 (0)