| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /**
- * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- /* globals document */
- import View from '../../src/view';
- /**
- * Test utils for CKEditor UI.
- */
- const utils = {
- /**
- * Returns a view for a given region/DOM selector pairs, which {@link module:ui/view~View#element}
- * is `document.body`. It is useful for manual tests which engage various UI components and/or
- * UI {@link module:ui/view~View} instances, where initialization and the process of insertion into
- * DOM could be problematic i.e. because of the number of instances.
- *
- * Usage:
- *
- * // Get the view.
- * const view = testUtils.createTestUIView( {
- * 'some-collection': '#collection'
- * } );
- *
- * // Then use it to organize and initialize children.
- * view.add( 'some-collection', childControllerInstance );
- *
- * @param {Object} regions An object literal with `regionName: [DOM Selector|callback]` pairs.
- *
- * See {@link module:ui/view~View#createCollection}.
- */
- createTestUIView( regions ) {
- const TestUIView = class extends View {
- constructor() {
- super();
- this.element = document.body;
- for ( const name in regions ) {
- const regionCollection = this[ name ] = this.createCollection();
- const callbackOrSelector = regions[ name ];
- regionCollection.setParent(
- typeof callbackOrSelector == 'string' ?
- document.querySelector( callbackOrSelector ) :
- callbackOrSelector( this.element )
- );
- }
- }
- };
- const view = new TestUIView();
- view.render();
- return view;
- }
- };
- export default utils;
|