WordPress.org

Make WordPress Core

Ticket #37693: 37693.patch

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

     
    9595
    9696                                while ( i-- ) {
    9797                                        pattern = inlinePatterns[ i ];
    98                                         offset = node.data.indexOf( pattern.end );
     98                                        offset = node.data.slice(0, -1).lastIndexOf( pattern.start );
    9999
    100                                         if ( offset !== -1 ) {
     100                                        if ( offset !== -1 && /\s/.test(node.data.charAt(offset - 1)) ) {
    101101                                                return offset;
    102102                                        }
    103103                                }
     104
     105                                return -1;
    104106                        }
    105107
    106108                        startOffset = findStart( node );
    107109                        endOffset = node.data.lastIndexOf( pattern.end );
    108110
    109                         if ( startOffset === endOffset || endOffset === -1 ) {
     111                        console.log(startOffset, endOffset)
     112
     113                        if ( startOffset === endOffset || endOffset === -1 || startOffset === -1 ) {
    110114                                return;
    111115                        }
    112116
  • tests/qunit/index.html

     
    491491                        </div><!-- #widgets-left -->
    492492                </div><!-- end widget templates -->
    493493                <script src="../../src/wp-includes/js/tinymce/tinymce.js"></script>
     494                <script src="../../src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js"></script>
    494495                <script src="editor/js/utils.js"></script>
    495496                <script src="wp-includes/js/tinymce/plugins/wptextpattern/plugin.js"></script>
    496497
  • tests/qunit/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js

     
    323323                        assert.equal( editor.getContent(), '<p>test `````</p>' );
    324324                }, assert.async() );
    325325        } );
     326
     327        QUnit.test( 'Convert with previously unconverted pattern', function( assert ) {
     328                editor.setContent( '<p>`test` test&nbsp;</p>' );
     329                editor.selection.setCursorLocation( editor.$( 'p' )[0].firstChild, 12 );
     330
     331                type( '`test`', function() {
     332                        assert.equal( editor.getContent(), '<p>`test` test&nbsp;<code>test</code></p>' );
     333                }, assert.async() );
     334        } );
    326335} )( window.jQuery, window.QUnit, window.tinymce, window.setTimeout );