diff options
author | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
commit | fc7369835258467bf97eb64f184b93691f9a9fd5 (patch) | |
tree | daabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js |
first commit
Diffstat (limited to 'www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js')
-rw-r--r-- | www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js new file mode 100644 index 00000000..210dd49c --- /dev/null +++ b/www/wiki/extensions/Cite/modules/ve-cite/tests/ve.ui.MWWikitextStringTransferHandler.test.js @@ -0,0 +1,95 @@ +/*! + * 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: '<ref>Foo</ref>', + pasteType: 'text/plain', + parsoidResponse: '<p><span about="#mwt2" class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw=\'{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}\'>[1]</span></p>' + + '<ol class="mw-references" typeof="mw:Extension/references" about="#mwt3" data-mw=\'{"name":"references","attrs":{},"autoGenerated":true}\'>' + + '<li about="#cite_note-1" id="cite_note-1">↑ <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>' + + '</ol>', + annotations: [], + expectedData: [ + { + type: 'mwReference', + attributes: { + mw: { + attrs: {}, + body: { + id: 'mw-reference-text-cite_note-1' + }, + name: 'ref' + }, + contentsUsed: true, + listGroup: 'mwReference/', + listIndex: 0, + listKey: 'auto/0', + originalMw: '{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}', + refGroup: '', + refListItemId: 'mw-reference-text-cite_note-1' + } + }, + { type: '/mwReference' }, + { 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: '<p><span typeof="mw:Transclusion">[1]</span></p>' + + '<ol class="mw-references" typeof="mw:Extension/references" about="#mwt3" data-mw=\'{"name":"references","attrs":{},"autoGenerated":true}\'>' + + '<li>Reference list</li>' + + '</ol>', + annotations: [], + expectedData: [ + { + type: 'mwTransclusionInline', + attributes: { + mw: {}, + originalMw: null + } + }, + { + type: '/mwTransclusionInline' + }, + { 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 + ); + } +} ); |