assets/ckeditor/tests/plugins/pastefromword/generated/_helpers/createTestSuite.js
/**
 * Creates a test suite based on the options provided. The test suite then should be passed to `bender.test` to run tests.
 *
 * @param {Object} options
 * @param {Array} options.browsers Array of browser names.
 * @param {Array} options.wordVersions Array of word version names.
 * @param {Object} options.tests Object containing tests to be generated. It contains key - value pairs, where key is name of the test file and value
 * is an array of wordVersions name for which tests should be generated or a boolean indicating: true - generate for all versions, false - for none.
 * @param {Array} [options.testData] Test data object (may contain e.g. information about ignored tests). All created tests will be added into testData object.
 * @param {Array} [options.customFilters] Array of custom filters (like [ pfwTools.filters.font ]) which will be used during assertions.
 * @param {Boolean} [options.compareRawData=false] If `true` test case will assert against raw paste's `data.dataValue` rather than
 * what will appear in the editor after all transformations and filtering.
 * @param {Boolean} [options.ignoreAll=false] Whenever to ignore all tests.
 * @param {Boolean} [options.includeRTF=false] Whether RTF clipboard should be loaded in test case.
 * @returns {Object} Test data object which should be passed to `bender.test` function.
 */
Creates a test suite based on the options provided. The test suite then should be passed to `bender.test` to run tests.
@param {Object} options
@param {Array} options.browsers Array of browser names.
@param {Array} options.wordVersions Array of word version names.
@param {Object} options.tests Object containing tests to be generated. It contains key - value pairs, where key is name of the test file and value
is an array of wordVersions name for which tests should be generated or a boolean indicating: true - generate for all versions, false - for none.
Creates a test suite based on the options provided . The test suite then should be passed to ` bender . test ` to run tests . @param { Object } options @param { Array } options . browsers Array of browser names . @param { Array } options . wordVersions Array of word version names . @param { Object } options . tests Object containing tests to be generated . It contains key - value pairs where key is name of the test file and value is an array of wordVersions name for which tests should be generated or a boolean indicating : true - generate for all versions false - for none .
function createTestSuite( options ) {
	options = CKEDITOR.tools.extend( options, {
		browsers: [],
		wordVersions: [],
		tests: [],
		testData: { _should: { ignore: {} } },
		ignoreAll: false,
		compareRawData: false,
		customFilters: null,
		includeRTF: false
	} );
	var testData = options.testData,
		testsKeys = CKEDITOR.tools.objectKeys( options.tests ),
		wordVersion, testKey, testName, i, j, k;
	if ( testsKeys.length ) {
		for ( i = 0; i < testsKeys.length; i++ ) {
			for ( j = 0; j < options.browsers.length; j++ ) {
				for ( k = 0; k < options.wordVersions.length; k++ ) {
					wordVersion = options.wordVersions[ k ];
					testKey = testsKeys[ i ];
					if ( options.tests[ testKey ] === true || CKEDITOR.tools.indexOf( options.tests[ testKey ], wordVersion ) !== -1 ) {
						testName = [ 'test', testKey, wordVersion, options.browsers[ j ] ].join( ' ' );
						if ( options.ignoreAll ) {
							testData._should.ignore[ testName ] = true;
						}
						testData[ testName ] = createTestCase( {
							name: testKey,
							wordVersion: wordVersion,
							browser: options.browsers[ j ],
							compareRawData: options.compareRawData,
							customFilters: options.customFilters,
							includeRTF: options.includeRTF
						} );
					}
				}
			}
		}
	}
	return testData;
}
function createTestSuite ( options ) { options = CKEDITOR . tools . extend ( options , { browsers : [ ] , wordVersions : [ ] , tests : [ ] , testData : { _should : { ignore : { } } } , ignoreAll : false , compareRawData : false , customFilters : null , includeRTF : false } ) ; var testData = options . testData , testsKeys = CKEDITOR . tools . objectKeys ( options . tests ) , wordVersion , testKey , testName , i , j , k ; if ( testsKeys . length ) { for ( i = 0 ; i < testsKeys . length ; i ++ ) { for ( j = 0 ; j < options . browsers . length ; j ++ ) { for ( k = 0 ; k < options . wordVersions . length ; k ++ ) { wordVersion = options . wordVersions [ k ] ; testKey = testsKeys [ i ] ; if ( options . tests [ testKey ] === true || CKEDITOR . tools . indexOf ( options . tests [ testKey ] , wordVersion ) !== - 1 ) { testName = [ 'test' , testKey , wordVersion , options . browsers [ j ] ] . join ( ' ' ) ; if ( options . ignoreAll ) { testData . _should . ignore [ testName ] = true ; } testData [ testName ] = createTestCase ( { name : testKey , wordVersion : wordVersion , browser : options . browsers [ j ] , compareRawData : options . compareRawData , customFilters : options . customFilters , includeRTF : options . includeRTF } ) ; } } } } } return testData ; }
Creates a test suite based on the options provided.
Creates a test suite based on the options provided .