1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/*!
* VisualEditor UserInterface DSVFileTransferHandler tests.
*
* @copyright See AUTHORS.txt
*/
QUnit.module( 've.ui.DSVFileTransferHandler' );
/* Tests */
QUnit.test( 'getInsertableData', ( assert ) => {
const done = assert.async(),
fn = function () {},
item = {
getAsFile: function () {
return { name: 'File' };
}
},
mockSurface = {
createProgress: function () {
return ve.createDeferred().resolve(
{ setProgress: fn },
ve.createDeferred().resolve().promise()
).promise();
}
},
mockReader = {
readAsText: fn,
result: 'a,b\nc,d\n'
};
const handler = ve.ui.dataTransferHandlerFactory.create( 'dsv', mockSurface, item );
// Override with a mock reader then trigger file load event
handler.reader = mockReader;
handler.onFileLoad();
handler.getInsertableData().done( ( data ) => {
assert.deepEqual( data, [
{ type: 'table' },
{ type: 'tableSection', attributes: { style: 'body' } },
{ type: 'tableRow' },
{ type: 'tableCell', attributes: { style: 'header' } },
{ type: 'paragraph', internal: { generated: 'wrapper' } },
'a',
{ type: '/paragraph' },
{ type: '/tableCell' },
{ type: 'tableCell', attributes: { style: 'header' } },
{ type: 'paragraph', internal: { generated: 'wrapper' } },
'b',
{ type: '/paragraph' },
{ type: '/tableCell' },
{ type: '/tableRow' },
{ type: 'tableRow' },
{ type: 'tableCell', attributes: { style: 'data' } },
{ type: 'paragraph', internal: { generated: 'wrapper' } },
'c',
{ type: '/paragraph' },
{ type: '/tableCell' },
{ type: 'tableCell', attributes: { style: 'data' } },
{ type: 'paragraph', internal: { generated: 'wrapper' } },
'd',
{ type: '/paragraph' },
{ type: '/tableCell' },
{ type: '/tableRow' },
{ type: '/tableSection' },
{ type: '/table' }
], 'DSV data' );
done();
} );
} );
|