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
|
/* bender-tags: editor */
/* bender-ckeditor-plugins: stylescombo,toolbar */
function getLangAttributeFromPanelElements( listBlock ) {
var els = listBlock.element.find( 'a' ),
ret = [],
el,
attr;
for ( var i = 0; i < els.count(); ++i ) {
el = els.getItem( i ),
attr = el.getAttribute( 'lang' );
if ( attr !== undefined ) {
ret.push( attr );
}
}
return ret;
}
bender.test( {
'test adds lang attribute to Styles combo box item': function() {
bender.editorBot.create( {
name: 'cb_1',
config: {
stylesSet: [
{ name: 'testName1', element: 'strong', language: 'pl' },
{ name: 'testName2', element: 'strong', language: 'en' },
{ name: 'testName3', element: 'strong', language: 'de' }
]
}
}, function( bot ) {
var editor = bot.editor,
stylesCombo = editor.ui.get( 'Styles' );
stylesCombo.createPanel( editor );
var lang = getLangAttributeFromPanelElements( stylesCombo._.list );
assert.areSame( 'pl', lang[ 0 ] );
assert.areSame( 'en', lang[ 1 ] );
assert.areSame( 'de', lang[ 2 ] );
} );
},
'test skips adding lang attribute to the Styles combo box item if it is not defined': function() {
bender.editorBot.create( {
name: 'cb_2',
config: {
language: 'en',
stylesSet: [
{ name: 'testName1', element: 'strong' }
]
}
}, function( bot ) {
var editor = bot.editor,
stylesCombo = editor.ui.get( 'Styles' );
stylesCombo.createPanel( editor );
var lang = getLangAttributeFromPanelElements( stylesCombo._.list );
assert.isNull( lang[ 0 ] );
} );
}
} );
|