@@ -26,7 +26,7 @@ const SIDE_EFFECT_FREE_MESSAGES: &[MessageDiscriminant] = &[
2626 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: UpdateLayer ) ,
2727 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: DisplayFolderTreeStructure ) ,
2828 MessageDiscriminant :: Frontend ( FrontendMessageDiscriminant :: UpdateOpenDocumentsList ) ,
29- MessageDiscriminant :: Tool ( ToolMessageDiscriminant :: SelectedLayersChanged ) ,
29+ MessageDiscriminant :: Tool ( ToolMessageDiscriminant :: DocumentIsDirty ) ,
3030] ;
3131
3232impl Dispatcher {
@@ -338,29 +338,32 @@ mod test {
338338 assert_eq ! ( & layers_after_copy[ 5 ] , ellipse_before_copy) ;
339339 }
340340
341- // TODO Re-instate test when ReorderSelectedLayers selection issue (#444) is resolved
342- // #[test]
343- // /// - create rect, shape and ellipse
344- // /// - select ellipse and rect
345- // /// - move them down and back up again
346- // fn move_selection() {
347- // init_logger();
348- // let mut editor = create_editor_with_three_layers();
341+ #[ test]
342+ #[ ignore] // TODO: Re-enable test, see issue #444 (https://github.com/GraphiteEditor/Graphite/pull/444)
343+ /// - create rect, shape and ellipse
344+ /// - select ellipse and rect
345+ /// - move them down and back up again
346+ fn move_selection ( ) {
347+ init_logger ( ) ;
348+ let mut editor = create_editor_with_three_layers ( ) ;
349+
350+ let sorted_layers = editor. dispatcher . documents_message_handler . active_document ( ) . all_layers_sorted ( ) ;
351+ println ! ( "Sorted layers: {:?}" , sorted_layers) ;
349352
350- // let verify_order = |handler: &mut DocumentMessageHandler| (handler.all_layers_sorted(), handler.non_selected_layers_sorted(), handler.selected_layers_sorted());
353+ let verify_order = |handler : & mut DocumentMessageHandler | ( handler. all_layers_sorted ( ) , handler. non_selected_layers_sorted ( ) , handler. selected_layers_sorted ( ) ) ;
351354
352- // editor.handle_message(DocumentMessage::SetSelectedLayers(vec![vec![0], vec![2]] ));
355+ editor. handle_message ( DocumentMessage :: SetSelectedLayers ( sorted_layers [ .. 2 ] . to_vec ( ) ) ) ;
353356
354- // editor.handle_message(DocumentMessage::ReorderSelectedLayers(1));
355- // let (all, non_selected, selected) = verify_order(&mut editor.dispatcher.documents_message_handler.active_document_mut());
356- // assert_eq!(all, non_selected.into_iter().chain(selected.into_iter()).collect::<Vec<_>>());
357+ editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( 1 ) ) ;
358+ let ( all, non_selected, selected) = verify_order ( & mut editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
359+ assert_eq ! ( all, non_selected. into_iter( ) . chain( selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
357360
358- // editor.handle_message(DocumentMessage::ReorderSelectedLayers(-1));
359- // let (all, non_selected, selected) = verify_order(&mut editor.dispatcher.documents_message_handler.active_document_mut());
360- // assert_eq!(all, selected.into_iter().chain(non_selected.into_iter()).collect::<Vec<_>>());
361+ editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( -1 ) ) ;
362+ let ( all, non_selected, selected) = verify_order ( & mut editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
363+ assert_eq ! ( all, selected. into_iter( ) . chain( non_selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
361364
362- // editor.handle_message(DocumentMessage::ReorderSelectedLayers(i32::MAX));
363- // let (all, non_selected, selected) = verify_order(&mut editor.dispatcher.documents_message_handler.active_document_mut());
364- // assert_eq!(all, non_selected.into_iter().chain(selected.into_iter()).collect::<Vec<_>>());
365- // }
365+ editor. handle_message ( DocumentMessage :: ReorderSelectedLayers ( i32:: MAX ) ) ;
366+ let ( all, non_selected, selected) = verify_order ( & mut editor. dispatcher . documents_message_handler . active_document_mut ( ) ) ;
367+ assert_eq ! ( all, non_selected. into_iter( ) . chain( selected. into_iter( ) ) . collect:: <Vec <_>>( ) ) ;
368+ }
366369}
0 commit comments