|
31 | 31 | WithListOperations) |
32 | 32 | from robotide.publish.messages import ( |
33 | 33 | RideImportSetting, RideImportSettingRemoved, RideImportSettingAdded, |
34 | | - RideImportSettingChanged) |
| 34 | + RideImportSettingChanged, RideItemSettingsChanged) |
| 35 | +from robotide.publish import PUBLISHER |
35 | 36 | from robotide.controller.tags import Tag |
36 | 37 |
|
37 | 38 | from utest.resources.mocks import PublisherListener |
@@ -131,6 +132,17 @@ def setUp(self): |
131 | 132 | self.fix.args = ['argh', 'urgh'] |
132 | 133 | self.parent = _FakeParent() |
133 | 134 | 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 |
134 | 146 |
|
135 | 147 | def test_creation(self): |
136 | 148 | assert self.ctrl.display_value == 'My Setup | argh | urgh' |
@@ -178,6 +190,18 @@ def test_contains_keyword_with_regexp_with_empty_fixture(self): |
178 | 190 | keyword_regexp = re.compile(r'foo.*bar') |
179 | 191 | assert not empty_fixture_controller.contains_keyword(keyword_regexp) |
180 | 192 |
|
| 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 | + |
181 | 205 |
|
182 | 206 | class TagsControllerTest(unittest.TestCase): |
183 | 207 |
|
|
0 commit comments