+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-<head>\r
- <title>Plugin: list</title>\r
- <link rel="stylesheet" type="text/css" href="../../test.css" />\r
- <script type="text/javascript" src="../../../ckeditor.js"></script>\r
- <script type="text/javascript" src="../../test.js"></script>\r
- <script type="text/javascript">\r
- //<![CDATA[\r
-/**\r
- * Load the editor and wait for fully interactable.\r
- * @param {Object} elementId\r
- * @parma {Object} mode\r
- * @param {Object} config\r
- * @param {Object} callback Continuation with {@param editor}.\r
- * @param {Object} context\r
- */\r
-function prepareEditor( elementId, mode, config, callback, context )\r
-{\r
- CKEDITOR.on( 'instanceReady',\r
- function( evt )\r
- {\r
- var isMe = mode == CKEDITOR.ELEMENT_MODE_REPLACE ?\r
- evt.editor.name == elementId\r
- : evt.editor.element.$ ==\r
- document.getElementById( elementId );\r
- if ( isMe )\r
- {\r
- var editor = evt.editor;\r
- // Force result data unformatted.\r
- editor.dataProcessor.writer._.rules = {};\r
- callback.call( context, editor );\r
- }\r
- }, this );\r
-\r
- mode = mode || CKEDITOR.ELEMENT_MODE_REPLACE;\r
- switch( mode )\r
- {\r
- case CKEDITOR.ELEMENT_MODE_REPLACE :\r
- CKEDITOR.replace( elementId, config );\r
- break;\r
- case CKEDITOR.ELEMENT_MODE_APPENDTO :\r
- CKEDITOR.appendTo( elementId, config );\r
- break;\r
- }\r
-}\r
-\r
-/**\r
- * IE always returning CRLF for line-feed, so remove it when retrieving\r
- * pre-formated text from text area.\r
- */\r
-function getTextAreaValue( id )\r
-{\r
- return CKEDITOR.document.getById( id ).getValue().replace( /\r/gi, '' );\r
-}\r
-\r
-CKEDITOR.test.addTestCase( ( function()\r
- {\r
-\r
- // Local references.\r
- var assert = CKEDITOR.test.assert,\r
- doc = CKEDITOR.document,\r
- action = YAHOO.util.UserAction,\r
- selector = YAHOO.util.Selector;\r
-\r
- /**\r
- * Set the range with the start/end position specified by the locator, which in form of bookmark2.\r
- * @param {Object} range\r
- * @param {Array} startPosition range start path including offset\r
- * @param {Array|Boolean} endPositoin range end path including offset or is collapsed\r
- */\r
- function setRange( range, startPosition, endPositoin )\r
- {\r
- var bm = {\r
- end : null,\r
- start : null,\r
- is2: true,\r
- startOffset : 0,\r
- endoffset : 0\r
- };\r
- bm.start = startPosition.slice( 0, startPosition.length - 1 );\r
- bm.startOffset = startPosition[ startPosition.length -1];\r
- if( endPositoin === true )\r
- {\r
- bm.end = bm.start.slice();\r
- bm.endOffset = bm.startOffset;\r
- }\r
- else\r
- {\r
- bm.end = endPositoin.slice( 0, endPositoin.length - 1 );\r
- bm.endOffset = endPositoin[ endPositoin.length -1 ];\r
- }\r
- range.moveToBookmark( bm );\r
- }\r
-\r
- return {\r
-\r
- /**\r
- * Test remove numbered list with 'enterMode = BR'.\r
- */\r
- test_ticket_3151 : function()\r
- {\r
- prepareEditor( 'test_ticket_3151_editor', null,\r
- { enterMode : CKEDITOR.ENTER_BR },\r
- function( editor )\r
- {\r
- this.resume( function()\r
- {\r
- editor.focus();\r
-\r
- var doc = editor.document,\r
- range = new CKEDITOR.dom.range( doc );\r
-\r
- setRange( range, [ 1, 0, 0, 0, 0 ], true );\r
- var sel = editor.getSelection();\r
- sel.selectRanges( [ range ] );\r
-\r
- // Waiting for 'comand state' effected.\r
- this.wait( function(){\r
- // Remove list.\r
- editor.execCommand( 'numberedlist' );\r
- assert.areSame( getTextAreaValue( 'test_ticket_3151_result' ),\r
- editor.getData(),\r
- 'Remove list result not correct.' );\r
- }, 1000 );\r
-\r
- } );\r
- }, this );\r
- this.wait();\r
- },\r
-\r
- /**\r
- * Test merge newlist with previous list.\r
- */\r
- test_ticket_3820 : function()\r
- {\r
- prepareEditor( 'test_ticket_3820_editor', null,\r
- { enterMode : CKEDITOR.ENTER_BR },\r
- function( editor )\r
- {\r
- this.resume( function()\r
- {\r
- editor.focus();\r
-\r
- var doc = editor.document,\r
- range = new CKEDITOR.dom.range( doc );\r
- setRange( range, [ 1, 1, 0 ], true );\r
- var sel = editor.getSelection();\r
- sel.selectRanges( [ range ] );\r
-\r
- // Waiting for 'comand state' effected.\r
- this.wait( function(){\r
- // Remove list.\r
- editor.execCommand( 'bulletedlist' );\r
- assert.areSame( getTextAreaValue( 'test_ticket_3820_result' ),\r
- editor.getData(),\r
- 'Merge list result not correct.' );\r
- }, 1000 );\r
-\r
- } );\r
- }, this );\r
- this.wait();\r
- },\r
-\r
- /**\r
- * Test remove list first list item not merging with previous text node.\r
- */\r
- test_ticket_3836 : function()\r
- {\r
- prepareEditor( 'test_ticket_3836_editor', null,\r
- { enterMode : CKEDITOR.ENTER_BR },\r
- function( editor )\r
- {\r
- this.resume( function()\r
- {\r
- this.wait( function ()\r
- {\r
- editor.focus();\r
-\r
- var doc = editor.document,\r
- range = new CKEDITOR.dom.range( doc );\r
- setRange( range, [ 1, 1, 0, 0 ], [ 1, 1, 1, 1 ] );\r
- var sel = editor.getSelection();\r
- sel.selectRanges( [ range ] );\r
-\r
- // Waiting for 'comand state' effected.\r
- this.wait( function(){\r
- // Remove list.\r
- editor.execCommand( 'bulletedlist' );\r
- assert.areSame( getTextAreaValue( 'test_ticket_3836_result' ),\r
- editor.getData(),\r
- 'Remove list result not correct.' );\r
- }, 1000 );\r
- }, 1000 );\r
-\r
- } );\r
- }, this );\r
- this.wait();\r
- },\r
-\r
- name :document.title\r
- };\r
- } )() );\r
- //]]>\r
- </script>\r
-</head>\r
-<body>\r
-<textarea id="test_ticket_3151_editor"><ol><li>text</li></ol></textarea>\r
-<textarea id="test_ticket_3151_result">text</textarea>\r
-<textarea id="test_ticket_3820_editor"><ul><li>bullet line 1</li><li>bullet line 2</li></ul><p>Second line</p></textarea>\r
-<textarea id="test_ticket_3820_result"><ul><li>bullet line 1</li><li>bullet line 2</li><li>Second line</li></ul></textarea>\r
-<textarea id="test_ticket_3773_editor"><ol><li>line1</li><li>line2</li></ol></textarea>\r
-<textarea id="test_ticket_3773_result">line1<br />line2</textarea>\r
-<textarea id="test_ticket_3836_editor">line1<ul><li>item1</li><li>item2</li></ul>line2</textarea>\r
-<textarea id="test_ticket_3836_result">line1<br />item1<br />item2<br />line2</textarea>\r
-</body>\r
-</html>\r