-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #333 from cksource/t/16938
T/16938 Extract common PFW tests loop.
- Loading branch information
Showing
15 changed files
with
388 additions
and
475 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
64 changes: 64 additions & 0 deletions
64
tests/plugins/pastefromword/generated/_helpers/createTestSuite.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/* global createTestCase */ | ||
/* exported createTestSuite */ | ||
|
||
/** | ||
* 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. | ||
* @returns {Object} Test data object which should be passed to `bender.test` function. | ||
*/ | ||
function createTestSuite( options ) { | ||
options = CKEDITOR.tools.extend( options, { | ||
browsers: [], | ||
wordVersions: [], | ||
tests: [], | ||
testData: { _should: { ignore: {} } }, | ||
ignoreAll: false, | ||
compareRawData: false, | ||
customFilters: null | ||
} ); | ||
|
||
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 | ||
} ); | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
return testData; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.