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 71 72
|
/* bender-tags: editor,unit */
bender.test(
{
'test: Loading self defined external plugin file paths': function() {
CKEDITOR.plugins.addExternal( 'myplugin', '%TEST_DIR%_assets/myplugins/sample/', 'my_plugin.js' );
CKEDITOR.plugins.load( 'myplugin', function() {
this.resume( function() {
assert.isTrue( CKEDITOR.plugins.get( 'myplugin' ).definition );
} );
}, this );
this.wait();
},
'errors thrown when required plugin specified in removePlugins list': function() {
var log = sinon.stub( CKEDITOR, 'error' );
CKEDITOR.plugins.add( 'errorplugin1', {
requires: 'errorplugin3,errorplugin2'
} );
CKEDITOR.plugins.add( 'errorplugin2', {
requires: 'errorplugin3,errorplugin4'
} );
CKEDITOR.plugins.add( 'errorplugin3', {
init: function( editor ) {
editor.plugin3Inited = true;
}
} );
CKEDITOR.plugins.add( 'errorplugin4', {
init: function( editor ) {
editor.plugin4Inited = true;
}
} );
setTimeout( function() {
CKEDITOR.replace( 'errortest', {
plugins: 'wysiwygarea,errorplugin1,errorplugin3',
extraPlugins: 'errorplugin2',
removePlugins: 'errorplugin3,errorplugin4',
on: {
instanceReady: function( evt ) {
resume( function() {
log.restore();
// plugin 3 reqed by plugin 1 and plugins 4 & 3 reqed by plugin 2.
assert.isTrue( log.calledThrice, 'CKEDITOR.error should be called three times.' );
var call;
for ( var i = 0; i < log.callCount; i++ ) {
call = log.getCall( i );
assert.areEqual( 'editor-plugin-required', call.args[ 0 ], 'Required plugin error should be logged.' );
}
// Plugins are corretly inited.
assert.isTrue( evt.editor.plugin3Inited );
assert.isTrue( evt.editor.plugin4Inited );
} );
}
}
} );
} );
wait();
}
} );
|