File: langattribute.js

package info (click to toggle)
ckeditor 4.22.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 290,692 kB
  • sloc: javascript: 237,176; sh: 202; makefile: 64; python: 37; php: 15; xml: 5
file content (67 lines) | stat: -rw-r--r-- 1,583 bytes parent folder | download
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 ] );
		} );
	}
} );