mediawiki-extensions-Visual.../modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.UrlStringTransferHandler.test.js
Ed Sanders e382d3af0a Use forEach loops for cases
Change-Id: Ica8773f54572bd90d4ee1ecde43254331fd2e313
2024-05-01 14:02:29 +01:00

39 lines
1 KiB
JavaScript

/*!
* VisualEditor UserInterface UrlStringTransferHandler tests.
*
* @copyright See AUTHORS.txt
*/
QUnit.module( 've.ui.UrlStringTransferHandler (MW)' );
/* Tests */
QUnit.test( 'paste', ( assert ) => {
const cases = [
{
msg: 'External link converts to internal link',
pasteString: location.origin + mw.Title.newFromText( 'Main Page' ).getUrl(),
pasteType: 'text/plain',
expectedData: () => {
// Explicitly create an internal link so we can assert this behaviour is working
const a = ve.dm.MWInternalLinkAnnotation.static.newFromTitle( mw.Title.newFromText( 'Main Page' ) ).element;
return [
[ 'M', [ a ] ],
[ 'a', [ a ] ],
[ 'i', [ a ] ],
[ 'n', [ a ] ],
[ ' ', [ a ] ],
[ 'P', [ a ] ],
[ 'a', [ a ] ],
[ 'g', [ a ] ],
[ 'e', [ a ] ]
];
}
}
];
cases.forEach( ( caseItem ) => {
ve.test.utils.runUrlStringHandlerTest( assert, caseItem.pasteString, caseItem.pasteHtml, caseItem.pasteType, caseItem.expectedData, location.origin, caseItem.msg );
} );
} );