/*! * VisualEditor UserInterface MWWikitextStringTransferHandler tests. * * @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt * @license MIT */ window.MWWIKITEXT_MOCK_API = true; QUnit.module( 've.ui.MWWikitextStringTransferHandler (Cite)', QUnit.newMwEnvironment( { beforeEach: function () { // Mock XHR for mw.Api() this.server = window.MWWIKITEXT_MOCK_API ? this.sandbox.useFakeServer() : null; ve.test.utils.mwEnvironment.setup.call( this ); }, afterEach: ve.test.utils.mwEnvironment.teardown } ) ); /* Tests */ QUnit.test( 'convert', function ( assert ) { var i, cases = [ { msg: 'Simple reference', pasteString: 'Foo', pasteType: 'text/plain', parsoidResponse: '

[1]

' + '
    ' + '
  1. Foo
  2. ' + '
', annotations: [], expectedData: [ { type: 'paragraph' }, { type: 'mwReference', attributes: { listGroup: 'mwReference/', listIndex: 0, listKey: 'auto/0', refGroup: '', refListItemId: 'mw-reference-text-cite_note-1' } }, { type: '/mwReference' }, { type: '/paragraph' }, { type: 'internalList' }, { type: 'internalItem' }, { type: 'paragraph', internal: { generated: 'wrapper' } }, 'F', 'o', 'o', { type: '/paragraph' }, { type: '/internalItem' }, { type: '/internalList' } ] }, { msg: 'Reference template with autoGenerated content', pasteString: '{{reference}}', pasteType: 'text/plain', parsoidResponse: '

[1]

' + '
    ' + '
  1. Reference list
  2. ' + '
', annotations: [], expectedData: [ { type: 'paragraph' }, { type: 'mwTransclusionInline', attributes: { mw: {} } }, { type: '/mwTransclusionInline' }, { type: '/paragraph' }, { type: 'internalList' }, { type: '/internalList' } ] } ]; for ( i = 0; i < cases.length; i++ ) { ve.test.utils.runWikitextStringHandlerTest( assert, this.server, cases[ i ].pasteString, cases[ i ].pasteType, cases[ i ].parsoidResponse, cases[ i ].expectedData, cases[ i ].annotations, cases[ i ].assertDom, cases[ i ].msg ); } } );