Bladeren bron

Changed: Rename attributes 'type' to 'listType' and 'indent' to 'listIndent'.

Maciej Gołaszewski 7 jaren geleden
bovenliggende
commit
5b865c72d1

+ 49 - 49
packages/ckeditor5-list/src/converters.js

@@ -31,15 +31,15 @@ export function modelViewInsertion( evt, data, conversionApi ) {
 	const consumable = conversionApi.consumable;
 
 	if ( !consumable.test( data.item, 'insert' ) ||
-		!consumable.test( data.item, 'attribute:type' ) ||
-		!consumable.test( data.item, 'attribute:indent' )
+		!consumable.test( data.item, 'attribute:listType' ) ||
+		!consumable.test( data.item, 'attribute:listIndent' )
 	) {
 		return;
 	}
 
 	consumable.consume( data.item, 'insert' );
-	consumable.consume( data.item, 'attribute:type' );
-	consumable.consume( data.item, 'attribute:indent' );
+	consumable.consume( data.item, 'attribute:listType' );
+	consumable.consume( data.item, 'attribute:listIndent' );
 
 	const modelItem = data.item;
 	const viewItem = generateLiInUl( modelItem, conversionApi );
@@ -79,7 +79,7 @@ export function modelViewRemove( evt, data, conversionApi ) {
 	// 4. Bring back nested list that was in the removed <li>.
 	const modelItem = conversionApi.mapper.toModelElement( viewItem );
 
-	hoistNestedLists( modelItem.getAttribute( 'indent' ) + 1, data.position, removeRange.start, viewItem, conversionApi );
+	hoistNestedLists( modelItem.getAttribute( 'listIndent' ) + 1, data.position, removeRange.start, viewItem, conversionApi );
 
 	// 5. Unbind removed view item and all children.
 	for ( const child of ViewRange.createIn( removed ).getItems() ) {
@@ -101,7 +101,7 @@ export function modelViewRemove( evt, data, conversionApi ) {
  * @param {Object} conversionApi Conversion interface.
  */
 export function modelViewChangeType( evt, data, conversionApi ) {
-	if ( !conversionApi.consumable.consume( data.item, 'attribute:type' ) ) {
+	if ( !conversionApi.consumable.consume( data.item, 'attribute:listType' ) ) {
 		return;
 	}
 
@@ -138,7 +138,7 @@ export function modelViewChangeType( evt, data, conversionApi ) {
  * @param {Object} conversionApi Conversion interface.
  */
 export function modelViewChangeIndent( evt, data, conversionApi ) {
-	if ( !conversionApi.consumable.consume( data.item, 'attribute:indent' ) ) {
+	if ( !conversionApi.consumable.consume( data.item, 'attribute:listIndent' ) ) {
 		return;
 	}
 
@@ -331,7 +331,7 @@ export function modelViewMergeAfter( evt, data, conversionApi ) {
 /**
  * A view-to-model converter that converts `<li>` view elements into `listItem` model elements.
  *
- * To set correct values of the `type` and `indent` attributes the converter:
+ * To set correct values of the `listType` and `indent` attributes the converter:
  * * checks `<li>`'s parent,
  * * stores and increases the `conversionApi.store.indent` value when `<li>`'s sub-items are converted.
  *
@@ -350,11 +350,11 @@ export function viewModelConverter( evt, data, conversionApi ) {
 
 		// 2. Handle `listItem` model element attributes.
 		conversionStore.indent = conversionStore.indent || 0;
-		writer.setAttribute( 'indent', conversionStore.indent, listItem );
+		writer.setAttribute( 'listIndent', conversionStore.indent, listItem );
 
 		// Set 'bulleted' as default. If this item is pasted into a context,
 		const type = data.viewItem.parent && data.viewItem.parent.name == 'ol' ? 'numbered' : 'bulleted';
-		writer.setAttribute( 'type', type, listItem );
+		writer.setAttribute( 'listType', type, listItem );
 
 		// `listItem`s created recursively should have bigger indent.
 		conversionStore.indent++;
@@ -570,19 +570,19 @@ export function viewToModelPosition( evt, data ) {
  * In an example below, there is a correct list structure.
  * Then the middle element will be removed so the list structure will become incorrect:
  *
- *		<listItem type="bulleted" indent=0>Item 1</listItem>
- *		<listItem type="bulleted" indent=1>Item 2</listItem>   <--- this is removed.
- *		<listItem type="bulleted" indent=2>Item 3</listItem>
+ *		<listItem listType="bulleted" listIndent=0>Item 1</listItem>
+ *		<listItem listType="bulleted" listIndent=1>Item 2</listItem>   <--- this is removed.
+ *		<listItem listType="bulleted" listIndent=2>Item 3</listItem>
  *
  * List structure after the middle element removed:
  *
- * 		<listItem type="bulleted" indent=0>Item 1</listItem>
- *		<listItem type="bulleted" indent=2>Item 3</listItem>
+ * 		<listItem listType="bulleted" listIndent=0>Item 1</listItem>
+ *		<listItem listType="bulleted" listIndent=2>Item 3</listItem>
  *
  * Should become:
  *
- *		<listItem type="bulleted" indent=0>Item 1</listItem>
- *		<listItem type="bulleted" indent=1>Item 3</listItem>   <--- note that indent got post-fixed.
+ *		<listItem listType="bulleted" listIndent=0>Item 1</listItem>
+ *		<listItem listType="bulleted" listIndent=1>Item 3</listItem>   <--- note that indent got post-fixed.
  *
  * @param {module:engine/model/model~Model} model The data model.
  * @param {module:engine/model/writer~Writer} writer The writer to do changes with.
@@ -602,14 +602,14 @@ export function modelChangePostFixer( model, writer ) {
 				// In case of renamed element.
 				const item = entry.position.nodeAfter;
 
-				if ( item.hasAttribute( 'indent' ) ) {
-					writer.removeAttribute( 'indent', item );
+				if ( item.hasAttribute( 'listIndent' ) ) {
+					writer.removeAttribute( 'listIndent', item );
 
 					applied = true;
 				}
 
-				if ( item.hasAttribute( 'type' ) ) {
-					writer.removeAttribute( 'type', item );
+				if ( item.hasAttribute( 'listType' ) ) {
+					writer.removeAttribute( 'listType', item );
 
 					applied = true;
 				}
@@ -620,9 +620,9 @@ export function modelChangePostFixer( model, writer ) {
 			_addListToFix( posAfter );
 		} else if ( entry.type == 'remove' && entry.name == 'listItem' ) {
 			_addListToFix( entry.position );
-		} else if ( entry.type == 'attribute' && entry.attributeKey == 'indent' ) {
+		} else if ( entry.type == 'attribute' && entry.attributeKey == 'listIndent' ) {
 			_addListToFix( entry.range.start );
-		} else if ( entry.type == 'attribute' && entry.attributeKey == 'type' ) {
+		} else if ( entry.type == 'attribute' && entry.attributeKey == 'listType' ) {
 			_addListToFix( entry.range.start );
 		}
 	}
@@ -667,7 +667,7 @@ export function modelChangePostFixer( model, writer ) {
 		let fixBy = null;
 
 		while ( item && item.is( 'listItem' ) ) {
-			const itemIndent = item.getAttribute( 'indent' );
+			const itemIndent = item.getAttribute( 'listIndent' );
 
 			if ( itemIndent > maxIndent ) {
 				let newIndent;
@@ -683,12 +683,12 @@ export function modelChangePostFixer( model, writer ) {
 					newIndent = itemIndent - fixBy;
 				}
 
-				writer.setAttribute( 'indent', newIndent, item );
+				writer.setAttribute( 'listIndent', newIndent, item );
 
 				applied = true;
 			} else {
 				fixBy = null;
-				maxIndent = item.getAttribute( 'indent' ) + 1;
+				maxIndent = item.getAttribute( 'listIndent' ) + 1;
 			}
 
 			item = item.nextSibling;
@@ -700,9 +700,9 @@ export function modelChangePostFixer( model, writer ) {
 		let prev = null;
 
 		while ( item && item.is( 'listItem' ) ) {
-			const itemIndent = item.getAttribute( 'indent' );
+			const itemIndent = item.getAttribute( 'listIndent' );
 
-			if ( prev && prev.getAttribute( 'indent' ) > itemIndent ) {
+			if ( prev && prev.getAttribute( 'listIndent' ) > itemIndent ) {
 				typesStack = typesStack.slice( 0, itemIndent + 1 );
 			}
 
@@ -710,13 +710,13 @@ export function modelChangePostFixer( model, writer ) {
 				if ( typesStack[ itemIndent ] ) {
 					const type = typesStack[ itemIndent ];
 
-					if ( item.getAttribute( 'type' ) != type ) {
-						writer.setAttribute( 'type', type, item );
+					if ( item.getAttribute( 'listType' ) != type ) {
+						writer.setAttribute( 'listType', type, item );
 
 						applied = true;
 					}
 				} else {
-					typesStack[ itemIndent ] = item.getAttribute( 'type' );
+					typesStack[ itemIndent ] = item.getAttribute( 'listType' );
 				}
 			}
 
@@ -733,18 +733,18 @@ export function modelChangePostFixer( model, writer ) {
  *
  * Example:
  *
- *		<listItem type="bulleted" indent=0>A</listItem>
- *		<listItem type="bulleted" indent=1>B^</listItem>
- *		// At ^ paste:  <listItem type="bulleted" indent=4>X</listItem>
- *		//              <listItem type="bulleted" indent=5>Y</listItem>
- *		<listItem type="bulleted" indent=2>C</listItem>
+ *		<listItem listType="bulleted" listIndent=0>A</listItem>
+ *		<listItem listType="bulleted" listIndent=1>B^</listItem>
+ *		// At ^ paste:  <listItem listType="bulleted" listIndent=4>X</listItem>
+ *		//              <listItem listType="bulleted" listIndent=5>Y</listItem>
+ *		<listItem listType="bulleted" listIndent=2>C</listItem>
  *
  * Should become:
  *
- *		<listItem type="bulleted" indent=0>A</listItem>
- *		<listItem type="bulleted" indent=1>BX</listItem>
- *		<listItem type="bulleted" indent=2>Y/listItem>
- *		<listItem type="bulleted" indent=2>C</listItem>
+ *		<listItem listType="bulleted" listIndent=0>A</listItem>
+ *		<listItem listType="bulleted" listIndent=1>BX</listItem>
+ *		<listItem listType="bulleted" listIndent=2>Y/listItem>
+ *		<listItem listType="bulleted" listIndent=2>C</listItem>
  *
  * @param {module:utils/eventinfo~EventInfo} evt An object containing information about the fired event.
  * @param {Array} args Arguments of {@link module:engine/model/model~Model#insertContent}.
@@ -773,13 +773,13 @@ export function modelIndentPasteFixer( evt, [ content, selection ] ) {
 			// First list item in `data` has indent equal to 0 (it is a first list item). It should have indent equal
 			// to the indent of reference item. We have to fix the first item and all of it's children and following siblings.
 			// Indent of all those items has to be adjusted to reference item.
-			const indentChange = refItem.getAttribute( 'indent' );
+			const indentChange = refItem.getAttribute( 'listIndent' );
 
 			// Fix only if there is anything to fix.
 			if ( indentChange > 0 ) {
 				// Adjust indent of all "first" list items in inserted data.
 				while ( item && item.is( 'listItem' ) ) {
-					item._setAttribute( 'indent', item.getAttribute( 'indent' ) + indentChange );
+					item._setAttribute( 'listIndent', item.getAttribute( 'listIndent' ) + indentChange );
 
 					item = item.nextSibling;
 				}
@@ -794,7 +794,7 @@ export function modelIndentPasteFixer( evt, [ content, selection ] ) {
 function generateLiInUl( modelItem, conversionApi ) {
 	const mapper = conversionApi.mapper;
 	const viewWriter = conversionApi.writer;
-	const listType = modelItem.getAttribute( 'type' ) == 'numbered' ? 'ol' : 'ul';
+	const listType = modelItem.getAttribute( 'listType' ) == 'numbered' ? 'ol' : 'ul';
 	const viewItem = createViewListItemElement( viewWriter );
 
 	const viewList = viewWriter.createContainerElement( listType, null );
@@ -815,11 +815,11 @@ function getSiblingListItem( modelItemOrPosition, options ) {
 	const sameIndent = !!options.sameIndent;
 	const smallerIndent = !!options.smallerIndent;
 
-	const indent = modelItemOrPosition instanceof ModelElement ? modelItemOrPosition.getAttribute( 'indent' ) : options.indent;
+	const indent = modelItemOrPosition instanceof ModelElement ? modelItemOrPosition.getAttribute( 'listIndent' ) : options.listIndent;
 	let item = modelItemOrPosition instanceof ModelElement ? modelItemOrPosition.previousSibling : modelItemOrPosition.nodeBefore;
 
 	while ( item && item.name == 'listItem' ) {
-		const itemIndent = item.getAttribute( 'indent' );
+		const itemIndent = item.getAttribute( 'listIndent' );
 
 		if ( ( sameIndent && indent == itemIndent ) || ( smallerIndent && indent > itemIndent ) ) {
 			return item;
@@ -859,7 +859,7 @@ function injectViewList( modelItem, injectedItem, conversionApi ) {
 	const refItem = getSiblingListItem( modelItem, { sameIndent: true, smallerIndent: true } );
 	const prevItem = modelItem.previousSibling;
 
-	if ( refItem && refItem.getAttribute( 'indent' ) == modelItem.getAttribute( 'indent' ) ) {
+	if ( refItem && refItem.getAttribute( 'listIndent' ) == modelItem.getAttribute( 'listIndent' ) ) {
 		// There is a list item with same indent - we found same-level sibling.
 		// Break the list after it. Inserted view item will be inserted in the broken space.
 		const viewItem = mapper.toViewElement( refItem );
@@ -915,7 +915,7 @@ function injectViewList( modelItem, injectedItem, conversionApi ) {
 			for ( const child of nextViewList.getChildren() ) {
 				const modelChild = mapper.toModelElement( child );
 
-				if ( modelChild && modelChild.getAttribute( 'indent' ) > modelItem.getAttribute( 'indent' ) ) {
+				if ( modelChild && modelChild.getAttribute( 'listIndent' ) > modelItem.getAttribute( 'listIndent' ) ) {
 					lastSubChild = child;
 				} else {
 					break;
@@ -944,14 +944,14 @@ function hoistNestedLists( nextIndent, modelRemoveStartPosition, viewRemoveStart
 	const prevModelItem = getSiblingListItem( modelRemoveStartPosition, {
 		sameIndent: true,
 		smallerIndent: true,
-		indent: nextIndent
+		listIndent: nextIndent
 	} );
 
 	const mapper = conversionApi.mapper;
 	const viewWriter = conversionApi.writer;
 
 	// Indent of found element or `null` if the element has not been found.
-	const prevIndent = prevModelItem ? prevModelItem.getAttribute( 'indent' ) : null;
+	const prevIndent = prevModelItem ? prevModelItem.getAttribute( 'listIndent' ) : null;
 
 	let insertPosition;
 

+ 8 - 8
packages/ckeditor5-list/src/indentcommand.js

@@ -60,7 +60,7 @@ export default class IndentCommand extends Command {
 			let next = lastItem.nextSibling;
 
 			// Check all items after last indented item, as long as their indent is bigger than indent of that item.
-			while ( next && next.name == 'listItem' && next.getAttribute( 'indent' ) > lastItem.getAttribute( 'indent' ) ) {
+			while ( next && next.name == 'listItem' && next.getAttribute( 'listIndent' ) > lastItem.getAttribute( 'listIndent' ) ) {
 				itemsToChange.push( next );
 
 				next = next.nextSibling;
@@ -75,7 +75,7 @@ export default class IndentCommand extends Command {
 			}
 
 			for ( const item of itemsToChange ) {
-				const indent = item.getAttribute( 'indent' ) + this._indentBy;
+				const indent = item.getAttribute( 'listIndent' ) + this._indentBy;
 
 				// If indent is lower than 0, it means that the item got outdented when it was not indented.
 				// This means that we need to convert that list item to paragraph.
@@ -87,7 +87,7 @@ export default class IndentCommand extends Command {
 				}
 				// If indent is >= 0, change the attribute value.
 				else {
-					writer.setAttribute( 'indent', indent, item );
+					writer.setAttribute( 'listIndent', indent, item );
 				}
 			}
 		} );
@@ -111,18 +111,18 @@ export default class IndentCommand extends Command {
 		if ( this._indentBy > 0 ) {
 			// Cannot indent first item in it's list. Check if before `listItem` is a list item that is in same list.
 			// To be in the same list, the item has to have same attributes and cannot be "split" by an item with lower indent.
-			const indent = listItem.getAttribute( 'indent' );
-			const type = listItem.getAttribute( 'type' );
+			const indent = listItem.getAttribute( 'listIndent' );
+			const type = listItem.getAttribute( 'listType' );
 
 			let prev = listItem.previousSibling;
 
-			while ( prev && prev.is( 'listItem' ) && prev.getAttribute( 'indent' ) >= indent ) {
-				if ( prev.getAttribute( 'indent' ) == indent ) {
+			while ( prev && prev.is( 'listItem' ) && prev.getAttribute( 'listIndent' ) >= indent ) {
+				if ( prev.getAttribute( 'listIndent' ) == indent ) {
 					// The item is on the same level.
 					// If it has same type, it means that we found a preceding sibling from the same list.
 					// If it does not have same type, it means that `listItem` is on different list (this can happen only
 					// on top level lists, though).
-					return prev.getAttribute( 'type' ) == type;
+					return prev.getAttribute( 'listType' ) == type;
 				}
 
 				prev = prev.previousSibling;

+ 15 - 15
packages/ckeditor5-list/src/listcommand.js

@@ -122,10 +122,10 @@ export default class ListCommand extends Command {
 				// that this is the same effect that we would be get by multiple use of outdent command. However doing
 				// it like this is much more efficient because it's less operation (less memory usage, easier OT) and
 				// less conversion (faster).
-				while ( next && next.name == 'listItem' && next.getAttribute( 'indent' ) !== 0 ) {
+				while ( next && next.name == 'listItem' && next.getAttribute( 'listIndent' ) !== 0 ) {
 					// Check each next list item, as long as its indent is bigger than 0.
 					// If the indent is 0 we are not going to change anything anyway.
-					const indent = next.getAttribute( 'indent' );
+					const indent = next.getAttribute( 'listIndent' );
 
 					// We check if that's item indent is lower as current relative indent.
 					if ( indent < currentIndent ) {
@@ -140,7 +140,7 @@ export default class ListCommand extends Command {
 					// Save the entry in changes array. We do not apply it at the moment, because we will need to
 					// reverse the changes so the last item is changed first.
 					// This is to keep model in correct state all the time.
-					changes.push( { element: next, indent: newIndent } );
+					changes.push( { element: next, listIndent: newIndent } );
 
 					// Find next item.
 					next = next.nextSibling;
@@ -149,7 +149,7 @@ export default class ListCommand extends Command {
 				changes = changes.reverse();
 
 				for ( const item of changes ) {
-					writer.setAttribute( 'indent', item.indent, item.element );
+					writer.setAttribute( 'listIndent', item.listIndent, item.element );
 				}
 			}
 
@@ -176,8 +176,8 @@ export default class ListCommand extends Command {
 				let lowestIndent = Number.POSITIVE_INFINITY;
 
 				for ( const item of blocks ) {
-					if ( item.is( 'listItem' ) && item.getAttribute( 'indent' ) < lowestIndent ) {
-						lowestIndent = item.getAttribute( 'indent' );
+					if ( item.is( 'listItem' ) && item.getAttribute( 'listIndent' ) < lowestIndent ) {
+						lowestIndent = item.getAttribute( 'listIndent' );
 					}
 				}
 
@@ -203,12 +203,12 @@ export default class ListCommand extends Command {
 				} else if ( !turnOff && element.name != 'listItem' ) {
 					// We are turning on and the element is not a `listItem` - it should be converted to `listItem`.
 					// The order of operations is important to keep model in correct state.
-					writer.setAttributes( { type: this.type, indent: 0 }, element );
+					writer.setAttributes( { listType: this.type, listIndent: 0 }, element );
 					writer.rename( element, 'listItem' );
-				} else if ( !turnOff && element.name == 'listItem' && element.getAttribute( 'type' ) != this.type ) {
+				} else if ( !turnOff && element.name == 'listItem' && element.getAttribute( 'listType' ) != this.type ) {
 					// We are turning on and the element is a `listItem` but has different type - change it's type and
 					// type of it's all siblings that have same indent.
-					writer.setAttribute( 'type', this.type, element );
+					writer.setAttribute( 'listType', this.type, element );
 				}
 			}
 		} );
@@ -224,7 +224,7 @@ export default class ListCommand extends Command {
 		// Check whether closest `listItem` ancestor of the position has a correct type.
 		const listItem = first( this.editor.model.document.selection.getSelectedBlocks() );
 
-		return !!listItem && listItem.is( 'listItem' ) && listItem.getAttribute( 'type' ) == this.type;
+		return !!listItem && listItem.is( 'listItem' ) && listItem.getAttribute( 'listType' ) == this.type;
 	}
 
 	/**
@@ -280,17 +280,17 @@ function _fixType( blocks, isBackward, lowestIndent ) {
 		//     * ------		<-- should not be fixed, item is in different list, `indent` = 2, `indent` != `currentIndent`
 		//   * ------		<-- should be fixed, `indent` == 1 == `currentIndent`
 		// * ------			<-- break loop (`indent` < `lowestIndent`)
-		let currentIndent = startingItem.getAttribute( 'indent' );
+		let currentIndent = startingItem.getAttribute( 'listIndent' );
 
 		// Look back until a list item with indent lower than reference `lowestIndent`.
 		// That would be the parent of nested sublist which contains item having `lowestIndent`.
-		while ( item && item.is( 'listItem' ) && item.getAttribute( 'indent' ) >= lowestIndent ) {
-			if ( currentIndent > item.getAttribute( 'indent' ) ) {
-				currentIndent = item.getAttribute( 'indent' );
+		while ( item && item.is( 'listItem' ) && item.getAttribute( 'listIndent' ) >= lowestIndent ) {
+			if ( currentIndent > item.getAttribute( 'listIndent' ) ) {
+				currentIndent = item.getAttribute( 'listIndent' );
 			}
 
 			// Found an item that is in the same nested sublist.
-			if ( item.getAttribute( 'indent' ) == currentIndent ) {
+			if ( item.getAttribute( 'listIndent' ) == currentIndent ) {
 				// Just add the item to selected blocks like it was selected by the user.
 				blocks[ isBackward ? 'unshift' : 'push' ]( item );
 			}

+ 5 - 5
packages/ckeditor5-list/src/listediting.js

@@ -55,7 +55,7 @@ export default class ListEditing extends Plugin {
 		// If there are blocks allowed inside list item, algorithms using `getSelectedBlocks()` will have to be modified.
 		editor.model.schema.register( 'listItem', {
 			inheritAllFrom: '$block',
-			allowAttributes: [ 'type', 'indent' ]
+			allowAttributes: [ 'listType', 'listIndent' ]
 		} );
 
 		// Converters.
@@ -76,10 +76,10 @@ export default class ListEditing extends Plugin {
 		data.downcastDispatcher.on( 'insert', modelViewSplitOnInsert, { priority: 'high' } );
 		data.downcastDispatcher.on( 'insert:listItem', modelViewInsertion );
 
-		editing.downcastDispatcher.on( 'attribute:type:listItem', modelViewChangeType );
-		data.downcastDispatcher.on( 'attribute:type:listItem', modelViewChangeType );
-		editing.downcastDispatcher.on( 'attribute:indent:listItem', modelViewChangeIndent );
-		data.downcastDispatcher.on( 'attribute:indent:listItem', modelViewChangeIndent );
+		editing.downcastDispatcher.on( 'attribute:listType:listItem', modelViewChangeType );
+		data.downcastDispatcher.on( 'attribute:listType:listItem', modelViewChangeType );
+		editing.downcastDispatcher.on( 'attribute:listIndent:listItem', modelViewChangeIndent );
+		data.downcastDispatcher.on( 'attribute:listIndent:listItem', modelViewChangeIndent );
 
 		editing.downcastDispatcher.on( 'remove:listItem', modelViewRemove );
 		editing.downcastDispatcher.on( 'remove', modelViewMergeAfter, { priority: 'low' } );

+ 71 - 71
packages/ckeditor5-list/tests/indentcommand.js

@@ -23,19 +23,19 @@ describe( 'IndentCommand', () => {
 
 		model.schema.register( 'listItem', {
 			inheritAllFrom: '$block',
-			allowAttributes: [ 'type', 'indent' ]
+			allowAttributes: [ 'listType', 'listIndent' ]
 		} );
 		model.schema.register( 'paragraph', { inheritAllFrom: '$block' } );
 
 		setData(
 			model,
-			'<listItem indent="0" type="bulleted">a</listItem>' +
-			'<listItem indent="0" type="bulleted">b</listItem>' +
-			'<listItem indent="1" type="bulleted">c</listItem>' +
-			'<listItem indent="2" type="bulleted">d</listItem>' +
-			'<listItem indent="2" type="bulleted">e</listItem>' +
-			'<listItem indent="1" type="bulleted">f</listItem>' +
-			'<listItem indent="0" type="bulleted">g</listItem>'
+			'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+			'<listItem listIndent="0" listType="bulleted">b</listItem>' +
+			'<listItem listIndent="1" listType="bulleted">c</listItem>' +
+			'<listItem listIndent="2" listType="bulleted">d</listItem>' +
+			'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+			'<listItem listIndent="1" listType="bulleted">f</listItem>' +
+			'<listItem listIndent="0" listType="bulleted">g</listItem>'
 		);
 	} );
 
@@ -71,11 +71,11 @@ describe( 'IndentCommand', () => {
 			it( 'should be false if selection starts in first list item #2', () => {
 				setData(
 					model,
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="1" type="bulleted">b</listItem>' +
-					'<listItem indent="0" type="bulleted">c</listItem>' +
-					'<listItem indent="1" type="bulleted">[]d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">[]d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>'
 				);
 
 				expect( command.isEnabled ).to.be.false;
@@ -85,11 +85,11 @@ describe( 'IndentCommand', () => {
 			it( 'should be false if selection starts in first list item #3', () => {
 				setData(
 					model,
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="1" type="bulleted">b</listItem>' +
-					'<listItem indent="0" type="numbered">c</listItem>' +
-					'<listItem indent="1" type="bulleted">d</listItem>' +
-					'<listItem indent="0" type="bulleted">[]e</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="0" listType="numbered">c</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">[]e</listItem>'
 				);
 
 				expect( command.isEnabled ).to.be.false;
@@ -98,8 +98,8 @@ describe( 'IndentCommand', () => {
 			it( 'should be false if selection starts in first list item of top level list with different type than previous list', () => {
 				setData(
 					model,
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="0" type="numbered">[]b</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="0" listType="numbered">[]b</listItem>'
 				);
 
 				expect( command.isEnabled ).to.be.false;
@@ -116,9 +116,9 @@ describe( 'IndentCommand', () => {
 			// Edge case but may happen that some other blocks will also use the indent attribute
 			// and before we fixed it the command was enabled in such a case.
 			it( 'should be false if selection starts in a paragraph with indent attribute', () => {
-				model.schema.extend( 'paragraph', { allowAttributes: 'indent' } );
+				model.schema.extend( 'paragraph', { allowAttributes: 'listIndent' } );
 
-				setData( model, '<listItem indent="0">a</listItem><paragraph indent="0">b[]</paragraph>' );
+				setData( model, '<listItem listIndent="0">a</listItem><paragraph listIndent="0">b[]</paragraph>' );
 
 				expect( command.isEnabled ).to.be.false;
 			} );
@@ -147,13 +147,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="0" type="bulleted">b</listItem>' +
-					'<listItem indent="1" type="bulleted">c</listItem>' +
-					'<listItem indent="2" type="bulleted">d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>' +
-					'<listItem indent="2" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 
@@ -165,13 +165,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="1" type="bulleted">b</listItem>' +
-					'<listItem indent="2" type="bulleted">c</listItem>' +
-					'<listItem indent="3" type="bulleted">d</listItem>' +
-					'<listItem indent="3" type="bulleted">e</listItem>' +
-					'<listItem indent="2" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="3" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="3" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 
@@ -186,13 +186,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="1" type="bulleted">b</listItem>' +
-					'<listItem indent="2" type="bulleted">c</listItem>' +
-					'<listItem indent="3" type="bulleted">d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>' +
-					'<listItem indent="1" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="3" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 		} );
@@ -246,13 +246,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<listItem indent="0" type="bulleted">b</listItem>' +
-					'<listItem indent="1" type="bulleted">c</listItem>' +
-					'<listItem indent="2" type="bulleted">d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>' +
-					'<listItem indent="0" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 
@@ -264,13 +264,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<paragraph indent="0" type="bulleted">a</paragraph>' +
-					'<listItem indent="0" type="bulleted">b</listItem>' +
-					'<listItem indent="1" type="bulleted">c</listItem>' +
-					'<listItem indent="2" type="bulleted">d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>' +
-					'<listItem indent="1" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<paragraph listIndent="0" listType="bulleted">a</paragraph>' +
+					'<listItem listIndent="0" listType="bulleted">b</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 
@@ -282,13 +282,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<paragraph indent="0" type="bulleted">b</paragraph>' +
-					'<listItem indent="0" type="bulleted">c</listItem>' +
-					'<listItem indent="1" type="bulleted">d</listItem>' +
-					'<listItem indent="1" type="bulleted">e</listItem>' +
-					'<listItem indent="0" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<paragraph listIndent="0" listType="bulleted">b</paragraph>' +
+					'<listItem listIndent="0" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 
@@ -303,13 +303,13 @@ describe( 'IndentCommand', () => {
 				command.execute();
 
 				expect( getData( model, { withoutSelection: true } ) ).to.equal(
-					'<listItem indent="0" type="bulleted">a</listItem>' +
-					'<paragraph indent="0" type="bulleted">b</paragraph>' +
-					'<listItem indent="0" type="bulleted">c</listItem>' +
-					'<listItem indent="1" type="bulleted">d</listItem>' +
-					'<listItem indent="2" type="bulleted">e</listItem>' +
-					'<listItem indent="1" type="bulleted">f</listItem>' +
-					'<listItem indent="0" type="bulleted">g</listItem>'
+					'<listItem listIndent="0" listType="bulleted">a</listItem>' +
+					'<paragraph listIndent="0" listType="bulleted">b</paragraph>' +
+					'<listItem listIndent="0" listType="bulleted">c</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">d</listItem>' +
+					'<listItem listIndent="2" listType="bulleted">e</listItem>' +
+					'<listItem listIndent="1" listType="bulleted">f</listItem>' +
+					'<listItem listIndent="0" listType="bulleted">g</listItem>'
 				);
 			} );
 		} );

+ 99 - 99
packages/ckeditor5-list/tests/listcommand.js

@@ -25,7 +25,7 @@ describe( 'ListCommand', () => {
 
 		model.schema.register( 'listItem', {
 			inheritAllFrom: '$block',
-			allowAttributes: [ 'type', 'indent' ]
+			allowAttributes: [ 'listType', 'listIndent' ]
 		} );
 		model.schema.register( 'paragraph', {
 			inheritAllFrom: '$block',
@@ -42,8 +42,8 @@ describe( 'ListCommand', () => {
 		setData(
 			model,
 			'<paragraph>foo</paragraph>' +
-			'<listItem type="bulleted" indent="0">bulleted</listItem>' +
-			'<listItem type="numbered" indent="0">numbered</listItem>' +
+			'<listItem listType="bulleted" listIndent="0">bulleted</listItem>' +
+			'<listItem listType="numbered" listIndent="0">numbered</listItem>' +
 			'<paragraph>bar</paragraph>' +
 			'<widget>' +
 				'<paragraph>xyz</paragraph>' +
@@ -98,7 +98,7 @@ describe( 'ListCommand', () => {
 
 		describe( 'isEnabled', () => {
 			it( 'should be true if entire selection is in a list', () => {
-				setData( model, '<listItem type="bulleted" indent="0">[a]</listItem>' );
+				setData( model, '<listItem listType="bulleted" listIndent="0">[a]</listItem>' );
 				expect( command.isEnabled ).to.be.true;
 			} );
 
@@ -141,24 +141,24 @@ describe( 'ListCommand', () => {
 
 					command.execute();
 
-					expect( getData( model ) ).to.equal( '<listItem indent="0" type="bulleted">fo[]o</listItem>' );
+					expect( getData( model ) ).to.equal( '<listItem listIndent="0" listType="bulleted">fo[]o</listItem>' );
 				} );
 
 				it( 'should rename closest listItem to paragraph', () => {
-					setData( model, '<listItem indent="0" type="bulleted">fo[]o</listItem>' );
+					setData( model, '<listItem listIndent="0" listType="bulleted">fo[]o</listItem>' );
 
 					command.execute();
 
 					// Attributes will be removed by post fixer.
-					expect( getData( model ) ).to.equal( '<paragraph indent="0" type="bulleted">fo[]o</paragraph>' );
+					expect( getData( model ) ).to.equal( '<paragraph listIndent="0" listType="bulleted">fo[]o</paragraph>' );
 				} );
 
 				it( 'should change closest listItem\' type', () => {
-					setData( model, '<listItem indent="0" type="numbered">fo[]o</listItem>' );
+					setData( model, '<listItem listIndent="0" listType="numbered">fo[]o</listItem>' );
 
 					command.execute();
 
-					expect( getData( model ) ).to.equal( '<listItem indent="0" type="bulleted">fo[]o</listItem>' );
+					expect( getData( model ) ).to.equal( '<listItem listIndent="0" listType="bulleted">fo[]o</listItem>' );
 				} );
 
 				it( 'should handle outdenting sub-items when list item is turned off', () => {
@@ -202,39 +202,39 @@ describe( 'ListCommand', () => {
 
 					setData(
 						model,
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">[]---</listItem>' +
-						'<listItem indent="3" type="bulleted">---</listItem>' +
-						'<listItem indent="4" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>' +
-						'<listItem indent="3" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>' +
-						'<listItem indent="3" type="bulleted">---</listItem>' +
-						'<listItem indent="3" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>'
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">[]---</listItem>' +
+						'<listItem listIndent="3" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="4" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="3" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="3" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="3" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>'
 					);
 
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<paragraph indent="2" type="bulleted">[]---</paragraph>' + // Attributes will be removed by post fixer.
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>';
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<paragraph listIndent="2" listType="bulleted">[]---</paragraph>' + // Attributes will be removed by post fixer.
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );
@@ -244,14 +244,14 @@ describe( 'ListCommand', () => {
 				beforeEach( () => {
 					setData(
 						model,
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
 						'<paragraph>---</paragraph>' +
 						'<paragraph>---</paragraph>' +
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>'
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>'
 					);
 				} );
 
@@ -273,9 +273,9 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					expect( getData( model ) ).to.equal(
-						'<listItem indent="0" type="bulleted">a[bc</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">a[bc</listItem>' +
 						'<restricted><fooBlock></fooBlock></restricted>' +
-						'<listItem indent="0" type="bulleted">de]f</listItem>'
+						'<listItem listIndent="0" listType="bulleted">de]f</listItem>'
 					);
 				} );
 
@@ -296,9 +296,9 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					expect( getData( model ) ).to.equal(
-						'<listItem indent="0" type="bulleted">a[bc</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">a[bc</listItem>' +
 						'<image></image>' +
-						'<listItem indent="0" type="bulleted">de]f</listItem>'
+						'<listItem listIndent="0" listType="bulleted">de]f</listItem>'
 					);
 				} );
 
@@ -315,14 +315,14 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">[---</listItem>' +
-						'<listItem indent="0" type="bulleted">---]</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>';
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">[---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---]</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );
@@ -341,14 +341,14 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<paragraph indent="0" type="bulleted">[---</paragraph>' + // Attributes will be removed by post fixer.
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<paragraph listIndent="0" listType="bulleted">[---</paragraph>' + // Attributes will be removed by post fixer.
 						'<paragraph>---</paragraph>' +
 						'<paragraph>---</paragraph>' +
-						'<paragraph indent="0" type="numbered">---]</paragraph>' + // Attributes will be removed by post fixer.
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>';
+						'<paragraph listIndent="0" listType="numbered">---]</paragraph>' + // Attributes will be removed by post fixer.
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );
@@ -366,14 +366,14 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
 						'<paragraph>---</paragraph>' +
 						'<paragraph>---</paragraph>' +
-						'<listItem indent="0" type="bulleted">[---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">]---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>';
+						'<listItem listIndent="0" listType="bulleted">[---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">]---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );
@@ -391,14 +391,14 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<paragraph indent="0" type="bulleted">[---</paragraph>' + // Attributes will be removed by post fixer.
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<paragraph listIndent="0" listType="bulleted">[---</paragraph>' + // Attributes will be removed by post fixer.
 						'<paragraph>---</paragraph>' +
 						'<paragraph>---</paragraph>' +
-						'<paragraph indent="0" type="numbered">---</paragraph>' + // Attributes will be removed by post fixer.
-						'<paragraph indent="0" type="numbered">---]</paragraph>' + // Attributes will be removed by post fixer.
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>';
+						'<paragraph listIndent="0" listType="numbered">---</paragraph>' + // Attributes will be removed by post fixer.
+						'<paragraph listIndent="0" listType="numbered">---]</paragraph>' + // Attributes will be removed by post fixer.
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );
@@ -407,19 +407,19 @@ describe( 'ListCommand', () => {
 				it( 'should change type of all items in nested list if one of items changed', () => {
 					setData(
 						model,
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="numbered">---</listItem>' +
-						'<listItem indent="2" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="numbered">---</listItem>' +
-						'<listItem indent="2" type="numbered">---</listItem>' +
-						'<listItem indent="2" type="numbered">-[-</listItem>' +
-						'<listItem indent="1" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="numbered">---</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="numbered">-]-</listItem>' +
-						'<listItem indent="1" type="numbered">---</listItem>' +
-						'<listItem indent="2" type="numbered">---</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>'
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="numbered">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="numbered">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">-[-</listItem>' +
+						'<listItem listIndent="1" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="numbered">---</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="numbered">-]-</listItem>' +
+						'<listItem listIndent="1" listType="numbered">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">---</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>'
 					);
 
 					// * ------				<-- do not fix, top level item
@@ -439,19 +439,19 @@ describe( 'ListCommand', () => {
 					command.execute();
 
 					const expectedData =
-						'<listItem indent="0" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="numbered">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="bulleted">-[-</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="0" type="bulleted">---</listItem>' +
-						'<listItem indent="1" type="bulleted">-]-</listItem>' +
-						'<listItem indent="1" type="bulleted">---</listItem>' +
-						'<listItem indent="2" type="numbered">---</listItem>' +
-						'<listItem indent="0" type="numbered">---</listItem>';
+						'<listItem listIndent="0" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="bulleted">-[-</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="0" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">-]-</listItem>' +
+						'<listItem listIndent="1" listType="bulleted">---</listItem>' +
+						'<listItem listIndent="2" listType="numbered">---</listItem>' +
+						'<listItem listIndent="0" listType="numbered">---</listItem>';
 
 					expect( getData( model ) ).to.equal( expectedData );
 				} );

File diff suppressed because it is too large
+ 670 - 660
packages/ckeditor5-list/tests/listediting.js


+ 2 - 2
packages/ckeditor5-list/tests/listui.js

@@ -55,7 +55,7 @@ describe( 'ListUI', () => {
 	} );
 
 	it( 'should bind bulleted list button model to bulledList command', () => {
-		setData( model, '<listItem type="bulleted" indent="0">[]foo</listItem>' );
+		setData( model, '<listItem listType="bulleted" listIndent="0">[]foo</listItem>' );
 
 		const command = editor.commands.get( 'bulletedList' );
 
@@ -70,7 +70,7 @@ describe( 'ListUI', () => {
 	} );
 
 	it( 'should bind numbered list button model to numberedList command', () => {
-		setData( model, '<listItem type="bulleted" indent="0">[]foo</listItem>' );
+		setData( model, '<listItem listType="bulleted" listIndent="0">[]foo</listItem>' );
 
 		const command = editor.commands.get( 'numberedList' );