mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 11:16:51 +00:00
Merge "Update VE core submodule to master (90cbd62)"
This commit is contained in:
commit
414a333b5e
2
lib/ve
2
lib/ve
|
@ -1 +1 @@
|
|||
Subproject commit 89ce43b137d6f02c3341815e143bf3ae3d68c440
|
||||
Subproject commit 90cbd62c7e9f2dbc5df457f894ec243a39b8595e
|
|
@ -47,6 +47,17 @@ ve.init.mw.Platform.prototype.getUnanchoredExternalLinkUrlProtocolsRegExp = func
|
|||
return this.unanchoredExternalLinkUrlProtocolsRegExp;
|
||||
};
|
||||
|
||||
/**
|
||||
* Regular expression matching RESTBase IDs
|
||||
*
|
||||
* This isn't perfect, see T147607
|
||||
*
|
||||
* @inheritdoc
|
||||
*/
|
||||
ve.init.mw.Platform.prototype.getMetadataIdRegExp = function () {
|
||||
return /^mw[a-zA-Z0-9\-_]{2,6}$/;
|
||||
};
|
||||
|
||||
/** @inheritdoc */
|
||||
ve.init.mw.Platform.prototype.addMessages = function ( messages ) {
|
||||
return mw.messages.set( messages );
|
||||
|
|
|
@ -62,3 +62,41 @@ QUnit.test( 'handleLinearDelete', function ( assert ) {
|
|||
);
|
||||
}
|
||||
} );
|
||||
|
||||
QUnit.test( 'beforePaste/afterPaste', function ( assert ) {
|
||||
var i, expected = 0,
|
||||
cases = [
|
||||
{
|
||||
documentHtml: '<p></p>',
|
||||
rangeOrSelection: new ve.Range( 1 ),
|
||||
pasteHtml: '<span typeof="mw:Entity" id="mwAB">-</span><span typeof="mw:Entity" id="mw-reference-cite">-</span>',
|
||||
fromVe: true,
|
||||
expectedRangeOrSelection: new ve.Range( 5 ),
|
||||
expectedHtml: '<p><span typeof="mw:Entity">-</span><span typeof="mw:Entity" id="mw-reference-cite">-</span></p>',
|
||||
msg: 'RESTBase IDs stripped'
|
||||
}
|
||||
];
|
||||
|
||||
for ( i = 0; i < cases.length; i++ ) {
|
||||
if ( cases[ i ].expectedOps ) {
|
||||
expected++;
|
||||
}
|
||||
if ( cases[ i ].expectedRangeOrSelection ) {
|
||||
expected++;
|
||||
}
|
||||
if ( cases[ i ].expectedHtml ) {
|
||||
expected++;
|
||||
}
|
||||
}
|
||||
QUnit.expect( expected );
|
||||
|
||||
for ( i = 0; i < cases.length; i++ ) {
|
||||
ve.test.utils.runSurfacePasteTest(
|
||||
assert, cases[ i ].documentHtml,
|
||||
cases[ i ].pasteHtml, cases[ i ].internalSourceRangeOrSelection, cases[ i ].fromVe, cases[ i ].useClipboardData,
|
||||
cases[ i ].pasteTargetHtml, cases[ i ].rangeOrSelection, cases[ i ].pasteSpecial,
|
||||
cases[ i ].expectedOps, cases[ i ].expectedRangeOrSelection, cases[ i ].expectedHtml,
|
||||
cases[ i ].store, false, cases[ i ].msg
|
||||
);
|
||||
}
|
||||
} );
|
||||
|
|
|
@ -36,7 +36,8 @@ ve.dm.modelRegistry.register( ve.dm.InlineImageNode );
|
|||
ve.dm.modelRegistry.register( ve.dm.BlockImageNode );
|
||||
|
||||
ve.test.utils.mwEnvironment = ( function () {
|
||||
var overrides = [
|
||||
var mwPlatform, corePlatform,
|
||||
overrides = [
|
||||
ve.dm.MWHeadingNode,
|
||||
ve.dm.MWPreformattedNode,
|
||||
ve.dm.MWTableNode,
|
||||
|
@ -47,6 +48,13 @@ ve.test.utils.mwEnvironment = ( function () {
|
|||
ve.dm.BlockImageNode
|
||||
];
|
||||
|
||||
corePlatform = ve.init.platform;
|
||||
mwPlatform = new ve.init.mw.Platform();
|
||||
// Disable some API requests from platform
|
||||
mwPlatform.imageInfoCache = null;
|
||||
// Unregister mwPlatform
|
||||
ve.init.platform = corePlatform;
|
||||
|
||||
function setupOverrides() {
|
||||
var i;
|
||||
for ( i = 0; i < overrides.length; i++ ) {
|
||||
|
@ -55,6 +63,7 @@ ve.test.utils.mwEnvironment = ( function () {
|
|||
for ( i = 0; i < overridden.length; i++ ) {
|
||||
ve.dm.modelRegistry.unregister( overridden[ i ] );
|
||||
}
|
||||
ve.init.platform = mwPlatform;
|
||||
}
|
||||
|
||||
function teardownOverrides() {
|
||||
|
@ -65,6 +74,7 @@ ve.test.utils.mwEnvironment = ( function () {
|
|||
for ( i = 0; i < overridden.length; i++ ) {
|
||||
ve.dm.modelRegistry.register( overridden[ i ] );
|
||||
}
|
||||
ve.init.platform = corePlatform;
|
||||
}
|
||||
|
||||
// On load, teardown overrides so the first core tests run correctly
|
||||
|
|
Loading…
Reference in a new issue