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;
|
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 */
|
/** @inheritdoc */
|
||||||
ve.init.mw.Platform.prototype.addMessages = function ( messages ) {
|
ve.init.mw.Platform.prototype.addMessages = function ( messages ) {
|
||||||
return mw.messages.set( 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.dm.modelRegistry.register( ve.dm.BlockImageNode );
|
||||||
|
|
||||||
ve.test.utils.mwEnvironment = ( function () {
|
ve.test.utils.mwEnvironment = ( function () {
|
||||||
var overrides = [
|
var mwPlatform, corePlatform,
|
||||||
|
overrides = [
|
||||||
ve.dm.MWHeadingNode,
|
ve.dm.MWHeadingNode,
|
||||||
ve.dm.MWPreformattedNode,
|
ve.dm.MWPreformattedNode,
|
||||||
ve.dm.MWTableNode,
|
ve.dm.MWTableNode,
|
||||||
|
@ -47,6 +48,13 @@ ve.test.utils.mwEnvironment = ( function () {
|
||||||
ve.dm.BlockImageNode
|
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() {
|
function setupOverrides() {
|
||||||
var i;
|
var i;
|
||||||
for ( i = 0; i < overrides.length; i++ ) {
|
for ( i = 0; i < overrides.length; i++ ) {
|
||||||
|
@ -55,6 +63,7 @@ ve.test.utils.mwEnvironment = ( function () {
|
||||||
for ( i = 0; i < overridden.length; i++ ) {
|
for ( i = 0; i < overridden.length; i++ ) {
|
||||||
ve.dm.modelRegistry.unregister( overridden[ i ] );
|
ve.dm.modelRegistry.unregister( overridden[ i ] );
|
||||||
}
|
}
|
||||||
|
ve.init.platform = mwPlatform;
|
||||||
}
|
}
|
||||||
|
|
||||||
function teardownOverrides() {
|
function teardownOverrides() {
|
||||||
|
@ -65,6 +74,7 @@ ve.test.utils.mwEnvironment = ( function () {
|
||||||
for ( i = 0; i < overridden.length; i++ ) {
|
for ( i = 0; i < overridden.length; i++ ) {
|
||||||
ve.dm.modelRegistry.register( overridden[ i ] );
|
ve.dm.modelRegistry.register( overridden[ i ] );
|
||||||
}
|
}
|
||||||
|
ve.init.platform = corePlatform;
|
||||||
}
|
}
|
||||||
|
|
||||||
// On load, teardown overrides so the first core tests run correctly
|
// On load, teardown overrides so the first core tests run correctly
|
||||||
|
|
Loading…
Reference in a new issue