File: backspace.js

package info (click to toggle)
ckeditor 4.4.4%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 25,632 kB
  • ctags: 2,419
  • sloc: sh: 190; python: 37; makefile: 29; php: 15; xml: 5
file content (97 lines) | stat: -rw-r--r-- 4,421 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* bender-tags: editor,unit */
/* bender-ckeditor-plugins: list,toolbar,table,format */

bender.editor = {
	config: {
		enterMode: CKEDITOR.ENTER_P
	}
};

var BACKSPACE = 8,
	DEL = 46;

var tests = {
	assertBackspace: function( name, key, keyModifiers ) {
		var bot = this.editorBot;
		bender.tools.testInputOut( name, function( source, expected ) {
			bot.setHtmlWithSelection( source );

			bot.editor.editable().fire( 'keydown', new CKEDITOR.dom.event( {
				keyCode: key,
				ctrlKey: keyModifiers & CKEDITOR.CTRL,
				shiftKey: keyModifiers & CKEDITOR.SHIFT,
			} ) );

			var output = bot.getData( true );
			// For easier tests redability and to align development and release
			// versions of the tests, replace non-breaking-space char with  
			output = output.replace( /\u00a0/g, ' ' );

			assert.areSame( bender.tools.compatHtml( expected ), output, name );
		} );
	}
};

// Start of #8248
addTests( 'test backspace join list items', 'join_list1', BACKSPACE );
addTests( 'test backspace join list items', 'join_list2', BACKSPACE );
addTests( 'test backspace join list items', 'join_list3', BACKSPACE );
addTests( 'test backspace join list items', 'join_list4', BACKSPACE );
addTests( 'test backspace join list items', 'join_list5', BACKSPACE );
addTests( 'test backspace join list items', 'join_list6', BACKSPACE );
addTests( 'test backspace join list items', 'join_list7', BACKSPACE );
addTests( 'test backspace join list items', 'join_list8', BACKSPACE );
addTests( 'test backspace join list items', 'join_list9', BACKSPACE );
addTests( 'test backspace join list items', 'join_list10', BACKSPACE );
addTests( 'test backspace join list items', 'join_list11', BACKSPACE );

addTests( 'test backspace outdent list item', 'outdent_list', BACKSPACE );
addTests( 'test backspace outdent list item', 'outdent_list2', BACKSPACE );
addTests( 'test backspace outdent list item', 'outdent_list3', BACKSPACE );
addTests( 'test backspace outdent list item', 'outdent_list4', BACKSPACE );
addTests( 'test backspace outdent list item', 'outdent_list5', BACKSPACE );
addTests( 'test backspace outdent list item', 'outdent_list6', BACKSPACE );

addTests( 'test backspace NOT outdent list item', 'no_outdent_list', BACKSPACE );
addTests( 'test backspace NOT outdent list item', 'no_outdent_list2', BACKSPACE );

addTests( 'test del join list items', 'join_list1_del', DEL );
addTests( 'test del join list items', 'join_list2_del', DEL );
addTests( 'test del join list items', 'join_list3_del', DEL );
addTests( 'test del join list items', 'join_list4_del', DEL );
addTests( 'test del join list items', 'join_list5_del', DEL );
addTests( 'test del join list items', 'join_list6_del', DEL );
addTests( 'test del join list items', 'join_list7_del', DEL );
addTests( 'test del join list items', 'join_list8_del', DEL );
addTests( 'test del join list items', 'join_list9_del', DEL );
addTests( 'test del join list items', 'join_list10_del', DEL );
addTests( 'test del join list items', 'join_list11_del', DEL );
addTests( 'test del join list items', 'join_list12_del', DEL );
addTests( 'test del join list items', 'join_list13_del', DEL );
addTests( 'test del join list items', 'join_list14_del', DEL );

addTests( 'test del join with next list item', 'merge_next_list', DEL );
addTests( 'test del join with next list item', 'merge_next_list2', DEL );
addTests( 'test del join with next list item', 'merge_next_list3', DEL );
addTests( 'test del join with next list item', 'merge_next_list4', DEL );

addTests( 'test del remove empty block', 'remove_empty_block', DEL );
addTests( 'test del remove empty block', 'remove_empty_block2', DEL );

addTests( 'test del do nothing', 'del_no_action', DEL );
addTests( 'test del do nothing', 'del_no_action2', DEL );

// Make sure that the modifiers are ignored.
// http://dev.ckeditor.com/ticket/11861#comment:13
addTests( 'test backspace join list items - CTRL', 'join_list1', BACKSPACE, CKEDITOR.CTRL );
addTests( 'test backspace outdent list item - SHIFT', 'outdent_list', BACKSPACE, CKEDITOR.SHIFT );
addTests( 'test del join list items - CTRL', 'join_list1_del', DEL, CKEDITOR.CTRL );
addTests( 'test del join with next list item - SHIFT', 'merge_next_list', DEL, CKEDITOR.SHIFT );

function addTests( title, source, key, keyModifiers ) {
	tests[ title + ' (' + source + ')' ] = function() {
		this.assertBackspace( source, key, keyModifiers );
	};
}

bender.test( tests );