1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
\r
2 <html xmlns="http://www.w3.org/1999/xhtml">
\r
4 <title>Plugin: link</title>
\r
5 <link rel="stylesheet" type="text/css" href="../../test.css" />
\r
6 <script type="text/javascript" src="../../../ckeditor.js"></script>
\r
7 <script type="text/javascript" src="../../test.js"></script>
\r
8 <script type="text/javascript">
\r
11 * Load the editor and wait for fully interactable.
\r
12 * @param {Object} elementId
\r
13 * @parma {Object} mode
\r
14 * @param {Object} config
\r
15 * @param {Object} callback Continuation with {@param editor}.
\r
16 * @param {Object} context
\r
18 function prepareEditor( elementId, mode, config, callback, context )
\r
20 CKEDITOR.on( 'instanceReady',
\r
23 var isMe = mode == CKEDITOR.ELEMENT_MODE_REPLACE ?
\r
24 evt.editor.name == elementId
\r
25 : evt.editor.element.$ ==
\r
26 document.getElementById( elementId );
\r
29 var editor = evt.editor;
\r
30 // Force result data unformatted.
\r
31 editor.dataProcessor.writer._.rules = {};
\r
32 // Force remove tail br.
\r
33 editor.dataProcessor.htmlFilter.addRules( {
\r
35 'br' : function( br ){
\r
36 var parent = br.parent,
\r
37 length = parent.children.length,
\r
38 lastChild = parent.children[ length - 1 ];
\r
39 if( lastChild == br )
\r
44 callback.call( context, editor );
\r
48 mode = mode || CKEDITOR.ELEMENT_MODE_REPLACE;
\r
51 case CKEDITOR.ELEMENT_MODE_REPLACE :
\r
52 CKEDITOR.replace( elementId, config );
\r
54 case CKEDITOR.ELEMENT_MODE_APPENDTO :
\r
55 CKEDITOR.appendTo( elementId, config );
\r
61 * IE always returning CRLF for line-feed, so remove it when retrieving
\r
62 * pre-formated text from text area.
\r
64 function getTextAreaValue( id )
\r
66 return CKEDITOR.document.getById( id ).getValue().replace( /\r/gi, '' );
\r
69 CKEDITOR.test.addTestCase( ( function()
\r
72 // Local references.
\r
73 var assert = CKEDITOR.test.assert,
\r
74 doc = CKEDITOR.document,
\r
75 action = YAHOO.util.UserAction,
\r
76 selector = YAHOO.util.Selector;
\r
81 * Test remove numbered list with 'enterMode = BR'.
\r
83 test_create_link : function()
\r
85 prepareEditor( 'test_create_link_editor', null,
\r
89 this.resume( function()
\r
92 editor.execCommand( 'link' );
\r
93 // waiting for dialog to open.
\r
94 this.wait( function()
\r
96 var dialog = editor._.storedDialogs[ 'link' ];
\r
97 var urlField = dialog.getContentElement( 'info', 'url' );
\r
98 urlField.setValue( 'svn.fckeditor.net' );
\r
100 dialog.fire( 'ok' );
\r
103 var result = editor.getData();
\r
105 '<p><a href="http://svn.fckeditor.net">http://svn.fckeditor.net</a></p>',
\r
106 result, 'Created link element doesn\'t match.' );
\r
114 name :document.title
\r
121 <textarea id="test_create_link_editor"></textarea>
\r