Make WordPress Core

Ticket #36585: 36585.2.patch

File 36585.2.patch, 2.3 KB (added by iseulde, 8 years ago)
  • src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js

     
    6262                        if ( event.keyCode === VK.ENTER && ! VK.modifierPressed( event ) ) {
    6363                                enter();
    6464                        }
    65                 }, true );
    6665
    67                 editor.on( 'keyup', function( event ) {
     66                        // Wait for the browser to insert the character.
    6867                        if ( event.keyCode === VK.SPACEBAR && ! event.ctrlKey && ! event.metaKey && ! event.altKey ) {
    69                                 space();
     68                                setTimeout( space );
    7069                        } else if ( event.keyCode > 47 && ! ( event.keyCode >= 91 && event.keyCode <= 93 ) ) {
    71                                 inline();
     70                                setTimeout( inline );
    7271                        }
    73                 } );
     72                }, true );
    7473
    7574                function inline() {
    7675                        var rng = editor.selection.getRng();
  • tests/qunit/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js

     
    66                return;
    77        }
    88
    9         function mceType(chr) {
     9        function mceType( chr, noKeyUp ) {
    1010                var editor = tinymce.activeEditor, keyCode, charCode, evt, startElm, rng, startContainer, startOffset, textNode;
    1111
    1212                function charCodeToKeyCode(charCode) {
     
    109109                        }
    110110                }
    111111
    112                 fakeEvent(startElm, 'keyup', evt);
     112                if ( ! noKeyUp ) {
     113                        fakeEvent(startElm, 'keyup', evt);
     114                }
    113115        }
    114116
    115117        function type() {
    116118                var args = arguments;
    117119
    118120                setTimeout( function() {
     121                setTimeout( function() {
    119122                        if ( typeof args[0] === 'string' ) {
    120123                                args[0] = args[0].split( '' );
    121124                        }
     
    134137                                type.apply( null, args );
    135138                        }
    136139                } );
     140                } );
    137141        }
    138142
    139143        QUnit.module( 'tinymce.plugins.wptextpattern', {
     
    177181                }, assert.async() );
    178182        } );
    179183
     184        QUnit.test( 'Unordered list. (fast)', function( assert ) {
     185                type( '*', function() {
     186                        mceType( ' ', true );
     187                }, 'a', function() {
     188                        assert.equal( editor.getContent(), '<ul>\n<li>a</li>\n</ul>' );
     189                }, assert.async() );
     190        } );
     191
    180192        QUnit.test( 'Ordered list.', function( assert ) {
    181193                type( '1. a', function() {
    182194                        assert.equal( editor.getContent(), '<ol>\n<li>a</li>\n</ol>' );