File: focusmanager.js

package info (click to toggle)
ckeditor 4.5.7%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 30,020 kB
  • sloc: sh: 167; python: 37; makefile: 24; php: 15; xml: 5
file content (58 lines) | stat: -rw-r--r-- 1,656 bytes parent folder | download | duplicates (3)
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
/* bender-tags: editor,unit */

bender.editor = true;

CKEDITOR.focusManager._.blurDelay = 50;

bender.test( {
	'test #focus': function() {
		var focusManager = this.editor.focusManager;

		// Give focus to set currentActive athen blur editor.
		this.editor.focus();
		CKEDITOR.document.getById( 'focusable' ).focus();

		wait( function() {
			assert.isFalse( focusManager.hasFocus, 'editor is not focused' );

			var initialActive = focusManager.currentActive;
			focusManager.focus();

			assert.isTrue( focusManager.hasFocus, 'editor is focused' );
			assert.areSame( initialActive, focusManager.currentActive, 'currentActive has not been modified' );
		}, 60 );
	},

	'test #focus with argument': function() {
		var focusManager = this.editor.focusManager;

		// Test overriding while editor already has focus.
		this.editor.focus();

		focusManager.focus( CKEDITOR.document.getById( 'someInput' ) );

		assert.isTrue( focusManager.hasFocus, 'editor is focused' );
		assert.areSame( CKEDITOR.document.getById( 'someInput' ), focusManager.currentActive, 'currentActive has been set' );

		// Clean up - reset focusManager completely.
		focusManager.blur( true );
		CKEDITOR.document.getById( 'focusable' ).focus();
		assert.isFalse( focusManager.hasFocus, 'editor lost focus' );
	},

	'test #focus stops #blur': function() {
		var focusManager = this.editor.focusManager;

		this.editor.focus();
		assert.isTrue( focusManager.hasFocus, 'editor is focused' );

		focusManager.blur();
		wait( function() {
			focusManager.focus();

			wait( function() {
				assert.isTrue( focusManager.hasFocus, 'editor is still focused' );
			}, 50 );
		}, 10 );
	}
} );