200 self assert: item enabled value |
200 self assert: item enabled value |
201 ]. |
201 ]. |
202 |
202 |
203 "Created: / 28-12-2014 / 22:48:24 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
203 "Created: / 28-12-2014 / 22:48:24 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
204 "Modified: / 04-01-2015 / 15:08:14 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
204 "Modified: / 04-01-2015 / 15:08:14 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
205 ! |
|
206 |
|
207 test_build_menu_two_generators_empty_builder |
|
208 |
|
209 self |
|
210 addGenerator: 'Generator_01' group: #(); |
|
211 addGenerator: 'Generator_02' group: #(); |
|
212 addGenerator: 'Generator_03' group: #(). |
|
213 |
|
214 "Create some methods which actually uses context and perspective to be sure that they are correctly created" |
|
215 provider last |
|
216 compileMockMethod: 'availableInPerspective: perspective ^ perspective isClassPerspective'; |
|
217 compileMockMethod: 'availableInContext: context ^ context selectedClasses first name == #CustomMenuBuilderTests'. |
|
218 |
|
219 self should: [ |
|
220 builder buildMenu |
|
221 ] raise: Error suchThat: [ :error | |
|
222 (error description) = 'Attributes named menu and perspective are required.' |
|
223 ]. |
|
224 |
|
225 "Created: / 04-01-2015 / 15:31:15 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
226 ! |
|
227 |
|
228 test_build_menu_two_generators_empty_label |
|
229 | expectedMenu actualMenu navigationState | |
|
230 |
|
231 expectedMenu := { |
|
232 'Label_01'. |
|
233 'Label_02'. |
|
234 'Label_03'. |
|
235 'Unknown menu label'. |
|
236 {'Generator_01'. 'Generator_02'. 'Generator_03'} |
|
237 }. |
|
238 |
|
239 self |
|
240 addGenerator: 'Generator_01' group: #(); |
|
241 addGenerator: 'Generator_02' group: #(); |
|
242 addGenerator: 'Generator_03' group: #(). |
|
243 |
|
244 "Create some methods which actually uses context and perspective to be sure that they are correctly created" |
|
245 provider last |
|
246 compileMockMethod: 'availableInPerspective: perspective ^ perspective isClassPerspective'; |
|
247 compileMockMethod: 'availableInContext: context ^ context selectedClasses first name == #CustomMenuBuilderTests'. |
|
248 |
|
249 navigationState := Tools::NavigationState new. |
|
250 navigationState selectedClasses value: {CustomMenuBuilderTests}. |
|
251 |
|
252 builder |
|
253 perspective: CustomPerspective classPerspective; |
|
254 menu: menu; |
|
255 buildMenu. |
|
256 |
|
257 actualMenu := self menuItemLabels. |
|
258 |
|
259 self assert: expectedMenu = actualMenu |
|
260 |
|
261 "Created: / 04-01-2015 / 15:44:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
205 ! |
262 ! |
206 |
263 |
207 test_build_menu_two_generators_without_filter |
264 test_build_menu_two_generators_without_filter |
208 | expectedMenu actualMenu navigationState | |
265 | expectedMenu actualMenu navigationState | |
209 |
266 |
304 self assert: expectedGroups = actualGroups |
361 self assert: expectedGroups = actualGroups |
305 |
362 |
306 "Modified (format): / 28-12-2014 / 21:54:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
363 "Modified (format): / 28-12-2014 / 21:54:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
307 ! |
364 ! |
308 |
365 |
|
366 test_place_menu_item_after_menu_item_labeled_for_menu_item_empty |
|
367 | menuItem expectedMenuItemLabels actualMenuItemLabels | |
|
368 |
|
369 menuItem := MenuItem label: 'SomeLabel'. |
|
370 |
|
371 expectedMenuItemLabels := {'Label_01'. 'Label_02'. 'Label_03'. 'SomeLabel'}. |
|
372 |
|
373 builder placeMenuItem: menuItem afterMenuItemLabeled: nil forMenu: menu. |
|
374 |
|
375 actualMenuItemLabels := self menuItemLabels. |
|
376 |
|
377 self assert: expectedMenuItemLabels = actualMenuItemLabels |
|
378 |
|
379 "Created: / 04-01-2015 / 15:41:45 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
380 ! |
|
381 |
309 test_place_menu_item_after_menu_item_labeled_for_menu_item_found |
382 test_place_menu_item_after_menu_item_labeled_for_menu_item_found |
310 | menuItem expectedMenuItemLabels actualMenuItemLabels | |
383 | menuItem expectedMenuItemLabels actualMenuItemLabels | |
311 |
384 |
312 menuItem := MenuItem label: 'SomeLabel'. |
385 menuItem := MenuItem label: 'SomeLabel'. |
313 |
386 |