CustomMenuBuilderTests.st
changeset 796 1e98cf455d2d
parent 795 944c5812e702
child 803 95cdac772759
equal deleted inserted replaced
795:944c5812e702 796:1e98cf455d2d
   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