Merge "Update VE core submodule to master (90cbd62)"

This commit is contained in:
jenkins-bot 2016-10-14 00:20:55 +00:00 committed by Gerrit Code Review
commit 414a333b5e
4 changed files with 61 additions and 2 deletions

2
lib/ve

@ -1 +1 @@
Subproject commit 89ce43b137d6f02c3341815e143bf3ae3d68c440
Subproject commit 90cbd62c7e9f2dbc5df457f894ec243a39b8595e

View file

@ -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 );

View file

@ -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
);
}
} );

View file

@ -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