@@ -526,7 +526,48 @@ describe('markdown-toolbar-element', function () {
526526 clickToolbar ( 'md-unordered-list' )
527527 assert . equal ( '- O|ne\n- Tw|o\n\nThree\n' , visualValue ( ) )
528528 } )
529- // TODO: Add undo test for all of this
529+
530+ it ( 'undo list if cursor at end of line' , function ( ) {
531+ setVisualValue ( 'One\n\n- Two|\n\nThree\n' )
532+ clickToolbar ( 'md-unordered-list' )
533+ assert . equal ( 'One\nTwo|\nThree\n' , visualValue ( ) )
534+ } )
535+
536+ it ( 'undo list if cursor at end of document' , function ( ) {
537+ setVisualValue ( 'One\nTwo\n\n- Three|' )
538+ clickToolbar ( 'md-unordered-list' )
539+ assert . equal ( 'One\nTwo\nThree|' , visualValue ( ) )
540+ } )
541+
542+ it ( 'undo list if cursor at beginning of line' , function ( ) {
543+ setVisualValue ( 'One\n\n- |Two\n\nThree\n' )
544+ clickToolbar ( 'md-unordered-list' )
545+ assert . equal ( 'One\n|Two\nThree\n' , visualValue ( ) )
546+ } )
547+
548+ it ( 'undo list if cursor at middle of line' , function ( ) {
549+ setVisualValue ( 'One\n\n- T|wo\n\nThree\n' )
550+ clickToolbar ( 'md-unordered-list' )
551+ assert . equal ( 'One\nT|wo\nThree\n' , visualValue ( ) )
552+ } )
553+
554+ it ( 'undo list if partial line is selected' , function ( ) {
555+ setVisualValue ( 'One\n\n- T|w|o\n\nThree\n' )
556+ clickToolbar ( 'md-unordered-list' )
557+ assert . equal ( 'One\nT|w|o\nThree\n' , visualValue ( ) )
558+ } )
559+
560+ it ( 'undo two lines list if two lines are selected' , function ( ) {
561+ setVisualValue ( '|- One\n- Two|\n\nThree\n' )
562+ clickToolbar ( 'md-unordered-list' )
563+ assert . equal ( '|One\nTwo|\nThree\n' , visualValue ( ) )
564+ } )
565+
566+ it ( 'undo two lines list if 2 lines are partially selected' , function ( ) {
567+ setVisualValue ( '- O|ne\n- Tw|o\n\nThree\n' )
568+ clickToolbar ( 'md-unordered-list' )
569+ assert . equal ( 'O|ne\nTw|o\nThree\n' , visualValue ( ) )
570+ } )
530571 } )
531572
532573 describe ( 'lists' , function ( ) {
0 commit comments