| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- import DataTransfer from '../src/datatransfer';
- describe( 'DataTransfer', () => {
- describe( 'constructor', () => {
- it( 'should create files from the native files', () => {
- const dt = new DataTransfer( {
- files: {
- 0: 'file1',
- 1: 'file2',
- length: 2
- }
- } );
- expect( dt.files ).to.deep.equal( [ 'file1', 'file2' ] );
- } );
- it( 'should create files from the native items', () => {
- const dt = new DataTransfer( {
- items: {
- 0: { kind: 'file', getAsFile: () => 'file1' },
- 1: { kind: 'file', getAsFile: () => 'file2' },
- 2: { kind: 'someOtherKind' },
- length: 3
- },
- files: []
- } );
- expect( dt.files ).to.deep.equal( [ 'file1', 'file2' ] );
- } );
- } );
- describe( 'getData()', () => {
- it( 'should return data from the native data transfer', () => {
- const dt = new DataTransfer( {
- getData( type ) {
- return 'foo:' + type;
- }
- } );
- expect( dt.getData( 'x/y' ) ).to.equal( 'foo:x/y' );
- } );
- } );
- describe( 'setData()', () => {
- it( 'should return set data in the native data transfer', () => {
- const spy = sinon.spy();
- const dt = new DataTransfer( {
- setData: spy
- } );
- dt.setData( 'text/html', 'bar' );
- expect( spy.calledWithExactly( 'text/html', 'bar' ) ).to.be.true;
- } );
- } );
- describe( 'types', () => {
- it( 'should return available types', () => {
- const dt = new DataTransfer( {
- types: [ 'text/html', 'text/plain' ]
- } );
- expect( dt.types ).to.deep.equal( [ 'text/html', 'text/plain' ] );
- } );
- } );
- } );
|