Browse Source

Adjusted view/writer tests to new utils api.

Oskar Wrobel 9 years ago
parent
commit
9a267af601

+ 31 - 19
packages/ckeditor5-engine/tests/view/writer/breakAt.js

@@ -47,55 +47,67 @@ describe( 'writer', () => {
 
 		it( 'should split attribute element', () => {
 			test(
-				'<container:p><attribute:b:1>foo{}bar</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>foo</attribute:b:1>[]<attribute:b:1>bar</attribute:b:1></container:p>'
+				'<container:p><attribute:b view-priority="1">foo{}bar</attribute:b></container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1">foo</attribute:b>[]<attribute:b view-priority="1">bar</attribute:b>' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should move from beginning of the nested text node to the container', () => {
 			test(
-				'<container:p><attribute:b:1><attribute:u:1>{}foobar</attribute:u:1></attribute:b:1></container:p>',
-				'<container:p>[]<attribute:b:1><attribute:u:1>foobar</attribute:u:1></attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1"><attribute:u view-priority="1">{}foobar</attribute:u></attribute:b>' +
+				'</container:p>',
+				'<container:p>' +
+					'[]<attribute:b view-priority="1"><attribute:u view-priority="1">foobar</attribute:u></attribute:b>' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should stick selection in text node if it is in container', () => {
 			test(
-				'<container:p>foo{}<attribute:b:1>bar</attribute:b:1></container:p>',
-				'<container:p>foo{}<attribute:b:1>bar</attribute:b:1></container:p>'
+				'<container:p>foo{}<attribute:b view-priority="1">bar</attribute:b></container:p>',
+				'<container:p>foo{}<attribute:b view-priority="1">bar</attribute:b></container:p>'
 			);
 		} );
 
 		it( 'should split nested attributes', () => {
 			test(
-				'<container:p><attribute:b:1><attribute:u:1>foo{}bar</attribute:u:1></attribute:b:1></container:p>',
 				'<container:p>' +
-					'<attribute:b:1>' +
-						'<attribute:u:1>' +
+					'<attribute:b view-priority="1"><attribute:u view-priority="1">foo{}bar</attribute:u></attribute:b>' +
+				'</container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1">' +
+						'<attribute:u view-priority="1">' +
 							'foo' +
-						'</attribute:u:1>' +
-					'</attribute:b:1>' +
+						'</attribute:u>' +
+					'</attribute:b>' +
 					'[]' +
-					'<attribute:b:1>' +
-						'<attribute:u:1>' +
+					'<attribute:b view-priority="1">' +
+						'<attribute:u view-priority="1">' +
 							'bar' +
-						'</attribute:u:1>' +
-					'</attribute:b:1>' +
+						'</attribute:u>' +
+					'</attribute:b>' +
 				'</container:p>'
 			);
 		} );
 
 		it( 'should move from end of the nested text node to the container', () => {
 			test(
-				'<container:p><attribute:b:1><attribute:u:1>foobar{}</attribute:u:1></attribute:b:1></container:p>',
-				'<container:p><attribute:b:1><attribute:u:1>foobar</attribute:u:1></attribute:b:1>[]</container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1"><attribute:u view-priority="1">foobar{}</attribute:u></attribute:b>' +
+				'</container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1"><attribute:u view-priority="1">foobar</attribute:u></attribute:b>[]' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should split attribute element directly in document fragment', () => {
 			test(
-				'<attribute:b:1>foo{}bar</attribute:b:1>',
-				'<attribute:b:1>foo</attribute:b:1>[]<attribute:b:1>bar</attribute:b:1>'
+				'<attribute:b view-priority="1">foo{}bar</attribute:b>',
+				'<attribute:b view-priority="1">foo</attribute:b>[]<attribute:b view-priority="1">bar</attribute:b>'
 			);
 		} );
 

+ 21 - 21
packages/ckeditor5-engine/tests/view/writer/insert.js

@@ -65,8 +65,8 @@ describe( 'writer', () => {
 		it( 'should break attributes when inserting into text node', () => {
 			test(
 				'<container:p>foo{}bar</container:p>',
-				[ '<attribute:b:1>baz</attribute:b:1>' ],
-				'<container:p>foo[<attribute:b:1>baz</attribute:b:1>]bar</container:p>'
+				[ '<attribute:b view-priority="1">baz</attribute:b>' ],
+				'<container:p>foo[<attribute:b view-priority="1">baz</attribute:b>]bar</container:p>'
 			);
 		} );
 
@@ -80,28 +80,28 @@ describe( 'writer', () => {
 
 		it( 'should merge same attribute nodes', () => {
 			test(
-				'<container:p><attribute:b:1>foo{}bar</attribute:b:1></container:p>',
-				[ '<attribute:b:1>baz</attribute:b:1>' ],
-				'<container:p><attribute:b:1>foo{baz}bar</attribute:b:1></container:p>'
+				'<container:p><attribute:b view-priority="1">foo{}bar</attribute:b></container:p>',
+				[ '<attribute:b view-priority="1">baz</attribute:b>' ],
+				'<container:p><attribute:b view-priority="1">foo{baz}bar</attribute:b></container:p>'
 			);
 		} );
 
 		it( 'should not merge different attributes', () => {
 			test(
-				'<container:p><attribute:b:1>foo{}bar</attribute:b:1></container:p>',
-				[ '<attribute:b:2>baz</attribute:b:2>' ],
+				'<container:p><attribute:b view-priority="1">foo{}bar</attribute:b></container:p>',
+				[ '<attribute:b view-priority="2">baz</attribute:b>' ],
 				'<container:p>' +
-					'<attribute:b:1>' +
+					'<attribute:b view-priority="1">' +
 						'foo' +
-					'</attribute:b:1>' +
+					'</attribute:b>' +
 					'[' +
-					'<attribute:b:2>' +
+					'<attribute:b view-priority="2">' +
 						'baz' +
-					'</attribute:b:2>' +
+					'</attribute:b>' +
 					']' +
-					'<attribute:b:1>' +
+					'<attribute:b view-priority="1">' +
 						'bar' +
-					'</attribute:b:1>' +
+					'</attribute:b>' +
 				'</container:p>'
 			);
 		} );
@@ -109,16 +109,16 @@ describe( 'writer', () => {
 		it( 'should allow to insert multiple nodes', () => {
 			test(
 				'<container:p>[]</container:p>',
-				[ '<attribute:b:1>foo</attribute:b:1>', 'bar' ],
-				'<container:p>[<attribute:b:1>foo</attribute:b:1>bar]</container:p>'
+				[ '<attribute:b view-priority="1">foo</attribute:b>', 'bar' ],
+				'<container:p>[<attribute:b view-priority="1">foo</attribute:b>bar]</container:p>'
 			);
 		} );
 
 		it( 'should merge after inserting multiple nodes', () => {
 			test(
-				'<container:p><attribute:b:1>qux</attribute:b:1>[]baz</container:p>',
-				[ '<attribute:b:1>foo</attribute:b:1>', 'bar' ],
-				'<container:p><attribute:b:1>qux{foo</attribute:b:1>bar}baz</container:p>'
+				'<container:p><attribute:b view-priority="1">qux</attribute:b>[]baz</container:p>',
+				[ '<attribute:b view-priority="1">foo</attribute:b>', 'bar' ],
+				'<container:p><attribute:b view-priority="1">qux{foo</attribute:b>bar}baz</container:p>'
 			);
 		} );
 
@@ -132,9 +132,9 @@ describe( 'writer', () => {
 
 		it( 'should merge same attribute nodes in document fragment', () => {
 			test(
-				'<attribute:b:2>foo</attribute:b:2>[]',
-				[ '<attribute:b:1>bar</attribute:b:1>' ],
-				'<attribute:b:2>foo</attribute:b:2>[<attribute:b:1>bar</attribute:b:1>]'
+				'<attribute:b view-priority="2">foo</attribute:b>[]',
+				[ '<attribute:b view-priority="1">bar</attribute:b>' ],
+				'<attribute:b view-priority="2">foo</attribute:b>[<attribute:b view-priority="1">bar</attribute:b>]'
 			);
 		} );
 

+ 25 - 13
packages/ckeditor5-engine/tests/view/writer/mergeAt.js

@@ -46,15 +46,15 @@ describe( 'writer', () => {
 
 		it( 'should not merge when position is placed at the beginning of the container', () => {
 			test(
-				'<container:p>[]<attribute:b:1></attribute:b:1></container:p>',
-				'<container:p>[]<attribute:b:1></attribute:b:1></container:p>'
+				'<container:p>[]<attribute:b view-priority="1"></attribute:b></container:p>',
+				'<container:p>[]<attribute:b view-priority="1"></attribute:b></container:p>'
 			);
 		} );
 
 		it( 'should not merge when position is placed at the end of the container', () => {
 			test(
-				'<container:p><attribute:b:1></attribute:b:1>[]</container:p>',
-				'<container:p><attribute:b:1></attribute:b:1>[]</container:p>'
+				'<container:p><attribute:b view-priority="1"></attribute:b>[]</container:p>',
+				'<container:p><attribute:b view-priority="1"></attribute:b>[]</container:p>'
 			);
 		} );
 
@@ -71,29 +71,41 @@ describe( 'writer', () => {
 
 		it( 'should merge when placed between similar attribute nodes', () => {
 			test(
-				'<container:p><attribute:b:1 foo="bar">baz</attribute:b:1>[]<attribute:b:1 foo="bar">qux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1 foo="bar">baz{}qux</attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar">baz</attribute:b>[]<attribute:b view-priority="1" foo="bar">qux</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1" foo="bar">baz{}qux</attribute:b></container:p>'
 			);
 		} );
 
 		it( 'should not merge when placed between non-similar attribute nodes', () => {
 			test(
-				'<container:p><attribute:b:1 foo="bar"></attribute:b:1>[]<attribute:b:1 foo="baz"></attribute:b:1></container:p>',
-				'<container:p><attribute:b:1 foo="bar"></attribute:b:1>[]<attribute:b:1 foo="baz"></attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar"></attribute:b>[]<attribute:b view-priority="1" foo="baz"></attribute:b>' +
+				'</container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar"></attribute:b>[]<attribute:b view-priority="1" foo="baz"></attribute:b>' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should not merge when placed between similar attribute nodes with different priority', () => {
 			test(
-				'<container:p><attribute:b:1 foo="bar"></attribute:b:1>[]<attribute:b:2 foo="bar"></attribute:b:2></container:p>',
-				'<container:p><attribute:b:1 foo="bar"></attribute:b:1>[]<attribute:b:2 foo="bar"></attribute:b:2></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar"></attribute:b>[]<attribute:b view-priority="2" foo="bar"></attribute:b>' +
+				'</container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar"></attribute:b>[]<attribute:b view-priority="2" foo="bar"></attribute:b>' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should merge attribute nodes and their contents if possible', () => {
 			test(
-				'<container:p><attribute:b:1 foo="bar">foo</attribute:b:1>[]<attribute:b:1 foo="bar">bar</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1 foo="bar">foo{}bar</attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar">foo</attribute:b>[]<attribute:b view-priority="1" foo="bar">bar</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1" foo="bar">foo{}bar</attribute:b></container:p>'
 			);
 		} );
 
@@ -107,7 +119,7 @@ describe( 'writer', () => {
 		it( 'should remove empty attributes after merge #2', () => {
 			test(
 				'<container:p><attribute:b>foo</attribute:b><attribute:i>[]</attribute:i><attribute:b>bar</attribute:b></container:p>',
-				'<container:p><attribute:b:10>foo{}bar</attribute:b:10></container:p>'
+				'<container:p><attribute:b view-priority="10">foo{}bar</attribute:b></container:p>'
 			);
 		} );
 

+ 20 - 12
packages/ckeditor5-engine/tests/view/writer/move.js

@@ -66,28 +66,36 @@ describe( 'writer', () => {
 
 		it( 'should move parts of nodes', () => {
 			test(
-				'<container:p>f{oo<attribute:b:10>ba}r</attribute:b:10></container:p>',
-				'<container:p>[]<attribute:b:10>qux</attribute:b:10></container:p>',
-				'<container:p>f<attribute:b:10>r</attribute:b:10></container:p>',
-				'<container:p>[oo<attribute:b:10>ba}qux</attribute:b:10></container:p>'
+				'<container:p>f{oo<attribute:b view-priority="10">ba}r</attribute:b></container:p>',
+				'<container:p>[]<attribute:b view-priority="10">qux</attribute:b></container:p>',
+				'<container:p>f<attribute:b view-priority="10">r</attribute:b></container:p>',
+				'<container:p>[oo<attribute:b view-priority="10">ba}qux</attribute:b></container:p>'
 			);
 		} );
 
 		it( 'should merge after moving #1', () => {
 			test(
-				'<container:p><attribute:b:1>foo</attribute:b:1>[bar]<attribute:b:1>bazqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>foo{}bazqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>foobazqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>foo</attribute:b:1>[bar]<attribute:b:1>bazqux</attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1">foo</attribute:b>[bar]<attribute:b view-priority="1">bazqux</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1">foo{}bazqux</attribute:b></container:p>',
+				'<container:p><attribute:b view-priority="1">foobazqux</attribute:b></container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1">foo</attribute:b>[bar]<attribute:b view-priority="1">bazqux</attribute:b>' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should merge after moving #2', () => {
 			test(
-				'<container:p><attribute:b:1>fo{o</attribute:b:1>bar<attribute:b:1>ba}zqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>fo{}zqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>fozqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>fo{o</attribute:b:1>bar<attribute:b:1>ba}zqux</attribute:b:1></container:p>'
+				'<container:p>' +
+					'<attribute:b view-priority="1">fo{o</attribute:b>bar<attribute:b view-priority="1">ba}zqux</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1">fo{}zqux</attribute:b></container:p>',
+				'<container:p><attribute:b view-priority="1">fozqux</attribute:b></container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1">fo{o</attribute:b>bar<attribute:b view-priority="1">ba}zqux</attribute:b>' +
+				'</container:p>'
 			);
 		} );
 

+ 12 - 8
packages/ckeditor5-engine/tests/view/writer/remove.js

@@ -73,9 +73,9 @@ describe( 'writer', () => {
 
 		it( 'should remove parts of nodes', () => {
 			test(
-				'<container:p>f{oo<attribute:b:10>ba}r</attribute:b:10></container:p>',
-				'<container:p>f[]<attribute:b:10>r</attribute:b:10></container:p>',
-				'oo<attribute:b:10>ba</attribute:b:10>'
+				'<container:p>f{oo<attribute:b view-priority="10">ba}r</attribute:b></container:p>',
+				'<container:p>f[]<attribute:b view-priority="10">r</attribute:b></container:p>',
+				'oo<attribute:b view-priority="10">ba</attribute:b>'
 			);
 		} );
 
@@ -89,17 +89,21 @@ describe( 'writer', () => {
 
 		it( 'should merge after removing #1', () => {
 			test(
-				'<container:p><attribute:b:1>foo</attribute:b:1>[bar]<attribute:b:1>bazqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>foo{}bazqux</attribute:b:1></container:p>',
+				'<container:p>' +
+					'<attribute:b view-priority="1">foo</attribute:b>[bar]<attribute:b view-priority="1">bazqux</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1">foo{}bazqux</attribute:b></container:p>',
 				'bar'
 			);
 		} );
 
 		it( 'should merge after removing #2', () => {
 			test(
-				'<container:p><attribute:b:1>fo{o</attribute:b:1>bar<attribute:b:1>ba}zqux</attribute:b:1></container:p>',
-				'<container:p><attribute:b:1>fo{}zqux</attribute:b:1></container:p>',
-				'<attribute:b:1>o</attribute:b:1>bar<attribute:b:1>ba</attribute:b:1>'
+				'<container:p>' +
+					'<attribute:b view-priority="1">fo{o</attribute:b>bar<attribute:b view-priority="1">ba}zqux</attribute:b>' +
+				'</container:p>',
+				'<container:p><attribute:b view-priority="1">fo{}zqux</attribute:b></container:p>',
+				'<attribute:b view-priority="1">o</attribute:b>bar<attribute:b view-priority="1">ba</attribute:b>'
 			);
 		} );
 

+ 81 - 75
packages/ckeditor5-engine/tests/view/writer/unwrap.js

@@ -34,7 +34,7 @@ describe( 'writer', () => {
 		it( 'should do nothing on collapsed ranges', () => {
 			test(
 				'<container:p>f{}oo</container:p>',
-				'<attribute:b:10></attribute:b:10>',
+				'<attribute:b view-priority="10"></attribute:b>',
 				'<container:p>f{}oo</container:p>'
 			);
 		} );
@@ -42,7 +42,7 @@ describe( 'writer', () => {
 		it( 'should do nothing on single text node', () => {
 			test(
 				'<container:p>[foobar]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
+				'<attribute:b view-priority="1"></attribute:b>',
 				'<container:p>[foobar]</container:p>'
 			);
 		} );
@@ -85,17 +85,17 @@ describe( 'writer', () => {
 
 		it( 'should unwrap single node', () => {
 			test(
-				'<container:p>[<attribute:b:1>foobar</attribute:b:1>]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
+				'<container:p>[<attribute:b view-priority="1">foobar</attribute:b>]</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
 				'<container:p>[foobar]</container:p>'
 			);
 		} );
 
 		it( 'should not unwrap attributes with different priorities #1', () => {
 			test(
-				'<container:p>[<attribute:b:1>foobar</attribute:b:1>]</container:p>',
-				'<attribute:b:2></attribute:b:2>',
-				'<container:p>[<attribute:b:1>foobar</attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1">foobar</attribute:b>]</container:p>',
+				'<attribute:b view-priority="2"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1">foobar</attribute:b>]</container:p>'
 			);
 		} );
 
@@ -103,21 +103,21 @@ describe( 'writer', () => {
 			test(
 				'<container:p>' +
 				'[' +
-					'<attribute:b:2>foo</attribute:b:2>' +
-					'<attribute:b:1>bar</attribute:b:1>' +
-					'<attribute:b:2>baz</attribute:b:2>' +
+					'<attribute:b view-priority="2">foo</attribute:b>' +
+					'<attribute:b view-priority="1">bar</attribute:b>' +
+					'<attribute:b view-priority="2">baz</attribute:b>' +
 				']' +
 				'</container:p>',
-				'<attribute:b:2></attribute:b:2>',
-				'<container:p>[foo<attribute:b:1>bar</attribute:b:1>baz]</container:p>'
+				'<attribute:b view-priority="2"></attribute:b>',
+				'<container:p>[foo<attribute:b view-priority="1">bar</attribute:b>baz]</container:p>'
 			);
 		} );
 
 		it( 'should unwrap part of the node', () => {
 			test(
-				'<container:p>[baz<attribute:b:1>foo}bar</attribute:b:1>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[bazfoo]<attribute:b:1>bar</attribute:b:1></container:p>'
+				'<container:p>[baz<attribute:b view-priority="1">foo}bar</attribute:b>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[bazfoo]<attribute:b view-priority="1">bar</attribute:b></container:p>'
 			);
 		} );
 
@@ -131,16 +131,16 @@ describe( 'writer', () => {
 
 		it( 'should unwrap nested attributes', () => {
 			test(
-				'<container:p>[<attribute:u:1><attribute:b:1>foobar</attribute:b:1></attribute:u:1>]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:u:1>foobar</attribute:u:1>]</container:p>'
+				'<container:p>[<attribute:u view-priority="1"><attribute:b view-priority="1">foobar</attribute:b></attribute:u>]</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:u view-priority="1">foobar</attribute:u>]</container:p>'
 			);
 		} );
 
 		it( 'should merge unwrapped nodes #1', () => {
 			test(
-				'<container:p>foo[<attribute:b:1>bar</attribute:b:1>]baz</container:p>',
-				'<attribute:b:1></attribute:b:1>',
+				'<container:p>foo[<attribute:b view-priority="1">bar</attribute:b>]baz</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
 				'<container:p>foo{bar}baz</container:p>'
 			);
 		} );
@@ -148,15 +148,15 @@ describe( 'writer', () => {
 		it( 'should merge unwrapped nodes #2', () => {
 			const input = '<container:p>' +
 			'foo' +
-				'<attribute:u:1>bar</attribute:u:1>' +
+				'<attribute:u view-priority="1">bar</attribute:u>' +
 				'[' +
-				'<attribute:b:1>' +
-					'<attribute:u:1>bazqux</attribute:u:1>' +
-				'</attribute:b:1>' +
+				'<attribute:b view-priority="1">' +
+					'<attribute:u view-priority="1">bazqux</attribute:u>' +
+				'</attribute:b>' +
 				']' +
 			'</container:p>';
-			const attribute = '<attribute:b:1></attribute:b:1>';
-			const result = '<container:p>foo<attribute:u:1>bar{bazqux</attribute:u:1>]</container:p>';
+			const attribute = '<attribute:b view-priority="1"></attribute:b>';
+			const result = '<container:p>foo<attribute:u view-priority="1">bar{bazqux</attribute:u>]</container:p>';
 
 			test( input, attribute, result );
 		} );
@@ -164,19 +164,19 @@ describe( 'writer', () => {
 		it( 'should merge unwrapped nodes #3', () => {
 			const input = '<container:p>' +
 				'foo' +
-				'<attribute:u:1>bar</attribute:u:1>' +
+				'<attribute:u view-priority="1">bar</attribute:u>' +
 				'[' +
-				'<attribute:b:1>' +
-					'<attribute:u:1>baz}qux</attribute:u:1>' +
-				'</attribute:b:1>' +
+				'<attribute:b view-priority="1">' +
+					'<attribute:u view-priority="1">baz}qux</attribute:u>' +
+				'</attribute:b>' +
 			'</container:p>';
-			const attribute = '<attribute:b:1></attribute:b:1>';
+			const attribute = '<attribute:b view-priority="1"></attribute:b>';
 			const result = '<container:p>' +
 				'foo' +
-				'<attribute:u:1>bar{baz</attribute:u:1>]' +
-				'<attribute:b:1>' +
-					'<attribute:u:1>qux</attribute:u:1>' +
-				'</attribute:b:1>' +
+				'<attribute:u view-priority="1">bar{baz</attribute:u>]' +
+				'<attribute:b view-priority="1">' +
+					'<attribute:u view-priority="1">qux</attribute:u>' +
+				'</attribute:b>' +
 			'</container:p>';
 
 			test( input, attribute, result );
@@ -185,18 +185,18 @@ describe( 'writer', () => {
 		it( 'should merge unwrapped nodes #4', () => {
 			const input = '<container:p>' +
 				'foo' +
-				'<attribute:u:1>bar</attribute:u:1>' +
+				'<attribute:u view-priority="1">bar</attribute:u>' +
 				'[' +
-				'<attribute:b:1>' +
-					'<attribute:u:1>baz</attribute:u:1>' +
-				'</attribute:b:1>' +
+				'<attribute:b view-priority="1">' +
+					'<attribute:u view-priority="1">baz</attribute:u>' +
+				'</attribute:b>' +
 				']' +
-				'<attribute:u:1>qux</attribute:u:1>' +
+				'<attribute:u view-priority="1">qux</attribute:u>' +
 			'</container:p>';
-			const attribute = '<attribute:b:1></attribute:b:1>';
+			const attribute = '<attribute:b view-priority="1"></attribute:b>';
 			const result = '<container:p>' +
 				'foo' +
-				'<attribute:u:1>bar{baz}qux</attribute:u:1>' +
+				'<attribute:u view-priority="1">bar{baz}qux</attribute:u>' +
 			'</container:p>';
 
 			test( input, attribute, result );
@@ -205,13 +205,13 @@ describe( 'writer', () => {
 		it( 'should merge unwrapped nodes #5', () => {
 			const input = '<container:p>' +
 				'[' +
-				'<attribute:b:1><attribute:u:1>foo</attribute:u:1></attribute:b:1>' +
-				'<attribute:b:1><attribute:u:1>bar</attribute:u:1></attribute:b:1>' +
-				'<attribute:b:1><attribute:u:1>baz</attribute:u:1></attribute:b:1>' +
+				'<attribute:b view-priority="1"><attribute:u view-priority="1">foo</attribute:u></attribute:b>' +
+				'<attribute:b view-priority="1"><attribute:u view-priority="1">bar</attribute:u></attribute:b>' +
+				'<attribute:b view-priority="1"><attribute:u view-priority="1">baz</attribute:u></attribute:b>' +
 				']' +
 			'</container:p>';
-			const attribute = '<attribute:b:1></attribute:b:1>';
-			const result = '<container:p>[<attribute:u:1>foobarbaz</attribute:u:1>]</container:p>';
+			const attribute = '<attribute:b view-priority="1"></attribute:b>';
+			const result = '<container:p>[<attribute:u view-priority="1">foobarbaz</attribute:u>]</container:p>';
 
 			test( input, attribute, result );
 		} );
@@ -219,76 +219,82 @@ describe( 'writer', () => {
 		it( 'should unwrap mixed ranges #1', () => {
 			const input = '<container:p>' +
 				'[' +
-				'<attribute:u:1>' +
-					'<attribute:b:1>foo]</attribute:b:1>' +
-				'</attribute:u:1>' +
+				'<attribute:u view-priority="1">' +
+					'<attribute:b view-priority="1">foo]</attribute:b>' +
+				'</attribute:u>' +
 			'</container:p>';
-			const attribute = '<attribute:b:1></attribute:b:1>';
-			const result = '<container:p>[<attribute:u:1>foo</attribute:u:1>]</container:p>';
+			const attribute = '<attribute:b view-priority="1"></attribute:b>';
+			const result = '<container:p>[<attribute:u view-priority="1">foo</attribute:u>]</container:p>';
 
 			test( input, attribute, result );
 		} );
 
 		it( 'should unwrap mixed ranges #2', () => {
 			test(
-				'<container:p>[<attribute:u:1><attribute:b:1>foo}</attribute:b:1></attribute:u></container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:u:1>foo</attribute:u:1>]</container:p>'
+				'<container:p>[<attribute:u view-priority="1"><attribute:b view-priority="1">foo}</attribute:b></attribute:u></container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:u view-priority="1">foo</attribute:u>]</container:p>'
 			);
 		} );
 
 		it( 'should unwrap single element by removing matching attributes', () => {
 			test(
-				'<container:p>[<attribute:b:1 foo="bar" baz="qux">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 baz="qux"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 foo="bar">test</attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" foo="bar" baz="qux">test</attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" baz="qux"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" foo="bar">test</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not unwrap single element when attributes are different', () => {
 			test(
-				'<container:p>[<attribute:b:1 baz="qux" foo="bar">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 baz="qux" test="true"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 baz="qux" foo="bar">test</attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" baz="qux" foo="bar">test</attribute:b>]</container:p>',
+				'<attribute:b baz="qux" test="true"></attribute:b view-priority="1">',
+				'<container:p>[<attribute:b view-priority="1" baz="qux" foo="bar">test</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should unwrap single element by removing matching classes', () => {
 			test(
-				'<container:p>[<attribute:b:1 class="foo bar baz">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 class="baz foo"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 class="bar">test</attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" class="foo bar baz">test</attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" class="baz foo"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" class="bar">test</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not unwrap single element when classes are different', () => {
 			test(
-				'<container:p>[<attribute:b:1 class="foo bar baz">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 class="baz foo qux"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 class="foo bar baz">test</attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" class="foo bar baz">test</attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" class="baz foo qux"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" class="foo bar baz">test</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should unwrap single element by removing matching styles', () => {
 			test(
-				'<container:p>[<attribute:b:1 style="color:red;position:absolute;top:10px;">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 style="position: absolute;"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 style="color:red;top:10px;">test</attribute:b:1>]</container:p>'
+				'<container:p>' +
+					'[<attribute:b view-priority="1" style="color:red;position:absolute;top:10px;">test</attribute:b>]' +
+				'</container:p>',
+				'<attribute:b view-priority="1" style="position: absolute;"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" style="color:red;top:10px;">test</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not unwrap single element when styles are different', () => {
 			test(
-				'<container:p>[<attribute:b:1 style="color:red;position:absolute;top:10px;">test</attribute:b:1>]</container:p>',
-				'<attribute:b:1 style="position: relative;"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 style="color:red;position:absolute;top:10px;">test</attribute:b:1>]</container:p>'
+				'<container:p>' +
+					'[<attribute:b view-priority="1" style="color:red;position:absolute;top:10px;">test</attribute:b>]' +
+				'</container:p>',
+				'<attribute:b view-priority="1" style="position: relative;"></attribute:b>',
+				'<container:p>' +
+					'[<attribute:b view-priority="1" style="color:red;position:absolute;top:10px;">test</attribute:b>]' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should unwrap single node in document fragment', () => {
 			test(
-				'<container:p>[<attribute:b:1>foobar</attribute:b:1>]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
+				'<container:p>[<attribute:b view-priority="1">foobar</attribute:b>]</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
 				'<container:p>[foobar]</container:p>'
 			);
 		} );

+ 71 - 61
packages/ckeditor5-engine/tests/view/writer/wrap.js

@@ -42,16 +42,16 @@ describe( 'writer', () => {
 		it( 'wraps single text node', () => {
 			test(
 				'<container:p>[foobar]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:b:1>foobar</attribute:b:1>]</container:p>'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1">foobar</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'wraps single text node in document fragment', () => {
 			test(
 				'{foobar}',
-				'<attribute:b:1></attribute:b:1>',
-				'[<attribute:b:1>foobar</attribute:b:1>]'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'[<attribute:b view-priority="1">foobar</attribute:b>]'
 			);
 		} );
 
@@ -94,16 +94,16 @@ describe( 'writer', () => {
 		it( 'wraps part of a single text node #1', () => {
 			test(
 				'<container:p>[foo}bar</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:b:1>foo</attribute:b:1>]bar</container:p>'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1">foo</attribute:b>]bar</container:p>'
 			);
 		} );
 
 		it( 'wraps part of a single text node #2', () => {
 			test(
 				'<container:p>{foo}bar</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:b:1>foo</attribute:b:1>]bar</container:p>'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1">foo</attribute:b>]bar</container:p>'
 			);
 		} );
 
@@ -118,70 +118,76 @@ describe( 'writer', () => {
 		it( 'wraps part of a single text node #3', () => {
 			test(
 				'<container:p>foo{bar}</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>foo[<attribute:b:1>bar</attribute:b:1>]</container:p>'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>foo[<attribute:b view-priority="1">bar</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not wrap inside nested containers', () => {
 			test(
 				'<container:div>[foobar<container:p>baz</container:p>]</container:div>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:div>[<attribute:b:1>foobar</attribute:b:1><container:p>baz</container:p>]</container:div>'
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:div>[<attribute:b view-priority="1">foobar</attribute:b><container:p>baz</container:p>]</container:div>'
 			);
 		} );
 
 		it( 'wraps according to priorities', () => {
 			test(
-				'<container:p>[<attribute:u:1>foobar</attribute:u:1>]</container:p>',
-				'<attribute:b:2></attribute:b:2>',
-				'<container:p>[<attribute:u:1><attribute:b:2>foobar</attribute:b:2></attribute:u:1>]</container:p>'
+				'<container:p>[<attribute:u view-priority="1">foobar</attribute:u>]</container:p>',
+				'<attribute:b view-priority="2"></attribute:b>',
+				'<container:p>' +
+					'[<attribute:u view-priority="1"><attribute:b view-priority="2">foobar</attribute:b></attribute:u>]' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'merges wrapped nodes #1', () => {
 			test(
-				'<container:p>[<attribute:b:1>foo</attribute:b:1>bar<attribute:b:1>baz</attribute:b:1>]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:b:1>foobarbaz</attribute:b:1>]</container:p>'
+				'<container:p>' +
+					'[<attribute:b view-priority="1">foo</attribute:b>bar<attribute:b view-priority="1">baz</attribute:b>]' +
+				'</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1">foobarbaz</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'merges wrapped nodes #2', () => {
 			test(
-				'<container:p><attribute:b:1>foo</attribute:b:1>[bar}baz</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p><attribute:b:1>foo{bar</attribute:b:1>]baz</container:p>'
+				'<container:p><attribute:b view-priority="1">foo</attribute:b>[bar}baz</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p><attribute:b view-priority="1">foo{bar</attribute:b>]baz</container:p>'
 			);
 		} );
 
 		it( 'merges wrapped nodes #3', () => {
 			test(
-				'<container:p><attribute:b:1>foobar</attribute:b:1>[baz]</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p><attribute:b:1>foobar{baz</attribute:b:1>]</container:p>'
+				'<container:p><attribute:b view-priority="1">foobar</attribute:b>[baz]</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p><attribute:b view-priority="1">foobar{baz</attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'merges wrapped nodes #4', () => {
 			test(
-				'<container:p>[foo<attribute:i:1>bar</attribute:i:1>]baz</container:p>',
-				'<attribute:b:1></attribute:b:1>',
-				'<container:p>[<attribute:b:1>foo<attribute:i:1>bar</attribute:i:1></attribute:b:1>]baz</container:p>'
+				'<container:p>[foo<attribute:i view-priority="1">bar</attribute:i>]baz</container:p>',
+				'<attribute:b view-priority="1"></attribute:b>',
+				'<container:p>' +
+					'[<attribute:b view-priority="1">foo<attribute:i view-priority="1">bar</attribute:i></attribute:b>]baz' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'merges wrapped nodes #5', () => {
 			test(
-				'<container:p>[foo<attribute:i:1>bar</attribute:i:1>baz]</container:p>',
-				'<attribute:b:2></attribute:b:2>',
+				'<container:p>[foo<attribute:i view-priority="1">bar</attribute:i>baz]</container:p>',
+				'<attribute:b view-priority="2"></attribute:b>',
 				'<container:p>' +
 				'[' +
-					'<attribute:b:2>foo</attribute:b:2>' +
-					'<attribute:i:1>' +
-						'<attribute:b:2>bar</attribute:b:2>' +
-					'</attribute:i:1>' +
-					'<attribute:b:2>baz</attribute:b:2>' +
+					'<attribute:b view-priority="2">foo</attribute:b>' +
+					'<attribute:i view-priority="1">' +
+						'<attribute:b view-priority="2">bar</attribute:b>' +
+					'</attribute:i>' +
+					'<attribute:b view-priority="2">baz</attribute:b>' +
 				']' +
 				'</container:p>'
 			);
@@ -189,45 +195,47 @@ describe( 'writer', () => {
 
 		it( 'should wrap single element by merging attributes', () => {
 			test(
-				'<container:p>[<attribute:b:1 foo="bar" one="two"></attribute:b:1>]</container:p>',
-				'<attribute:b:1 baz="qux" one="two"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 baz="qux" foo="bar" one="two"></attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" foo="bar" one="two"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" baz="qux" one="two"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" baz="qux" foo="bar" one="two"></attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not merge attributes when they differ', () => {
 			test(
-				'<container:p>[<attribute:b:1 foo="bar"></attribute:b:1>]</container:p>',
-				'<attribute:b:1 foo="baz"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 foo="baz"><attribute:b:1 foo="bar"></attribute:b:1></attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" foo="bar"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" foo="baz"></attribute:b>',
+				'<container:p>' +
+					'[<attribute:b view-priority="1" foo="baz"><attribute:b view-priority="1" foo="bar"></attribute:b></attribute:b>]' +
+				'</container:p>'
 			);
 		} );
 
 		it( 'should wrap single element by merging classes', () => {
 			test(
-				'<container:p>[<attribute:b:1 class="foo bar baz"></attribute:b:1>]</container:p>',
-				'<attribute:b:1 class="foo bar qux jax"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 class="foo bar baz qux jax"></attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" class="foo bar baz"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" class="foo bar qux jax"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" class="foo bar baz qux jax"></attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should wrap single element by merging styles', () => {
 			test(
-				'<container:p>[<attribute:b:1 style="color:red; position: absolute;"></attribute:b:1>]</container:p>',
-				'<attribute:b:1 style="color:red; top: 20px;"></attribute:b:1>',
-				'<container:p>[<attribute:b:1 style="color:red;position:absolute;top:20px;"></attribute:b:1>]</container:p>'
+				'<container:p>[<attribute:b view-priority="1" style="color:red; position: absolute;"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" style="color:red; top: 20px;"></attribute:b>',
+				'<container:p>[<attribute:b view-priority="1" style="color:red;position:absolute;top:20px;"></attribute:b>]</container:p>'
 			);
 		} );
 
 		it( 'should not merge styles when they differ', () => {
 			test(
-				'<container:p>[<attribute:b:1 style="color:red;"></attribute:b:1>]</container:p>',
-				'<attribute:b:1 style="color:black;"></attribute:b:1>',
+				'<container:p>[<attribute:b view-priority="1" style="color:red;"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" style="color:black;"></attribute:b>',
 				'<container:p>' +
 				'[' +
-					'<attribute:b:1 style="color:black;">' +
-						'<attribute:b:1 style="color:red;"></attribute:b:1>' +
-					'</attribute:b:1>' +
+					'<attribute:b view-priority="1" style="color:black;">' +
+						'<attribute:b view-priority="1" style="color:red;"></attribute:b>' +
+					'</attribute:b>' +
 				']' +
 				'</container:p>'
 			);
@@ -235,27 +243,29 @@ describe( 'writer', () => {
 
 		it( 'should not merge single elements when they have different priority', () => {
 			test(
-				'<container:p>[<attribute:b:2 style="color:red;"></attribute:b:2>]</container:p>',
-				'<attribute:b:1 style="color:red;"></attribute:b:1>',
+				'<container:p>[<attribute:b view-priority="2" style="color:red;"></attribute:b>]</container:p>',
+				'<attribute:b view-priority="1" style="color:red;"></attribute:b>',
 				'<container:p>' +
 				'[' +
-					'<attribute:b:1 style="color:red;">' +
-						'<attribute:b:2 style="color:red;"></attribute:b:2>' +
-					'</attribute:b:1>' +
+					'<attribute:b view-priority="1" style="color:red;">' +
+						'<attribute:b view-priority="2" style="color:red;"></attribute:b>' +
+					'</attribute:b>' +
 				']</container:p>'
 			);
 		} );
 
 		it( 'should be merged with outside element when wrapping all children', () => {
 			test(
-				'<container:p><attribute:b:1 foo="bar">[foobar<attribute:i:1>baz</attribute:i:1>]</attribute:b:1></container:p>',
-				'<attribute:b:1 baz="qux"></attribute:b:1>',
+				'<container:p>' +
+					'<attribute:b view-priority="1" foo="bar">[foobar<attribute:i view-priority="1">baz</attribute:i>]</attribute:b>' +
+				'</container:p>',
+				'<attribute:b view-priority="1" baz="qux"></attribute:b>',
 				'<container:p>' +
 				'[' +
-					'<attribute:b:1 baz="qux" foo="bar">' +
+					'<attribute:b view-priority="1" baz="qux" foo="bar">' +
 						'foobar' +
-						'<attribute:i:1>baz</attribute:i:1>' +
-					'</attribute:b:1>' +
+						'<attribute:i view-priority="1">baz</attribute:i>' +
+					'</attribute:b>' +
 				']' +
 				'</container:p>'
 			);

+ 27 - 26
packages/ckeditor5-engine/tests/view/writer/wrapposition.js

@@ -41,16 +41,16 @@ describe( 'wrapPosition', () => {
 	it( 'should wrap position at the beginning of text node', () => {
 		test(
 			'<container:p>{}foobar</container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p><attribute:b:1>[]</attribute:b:1>foobar</container:p>'
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p><attribute:b view-priority="1">[]</attribute:b>foobar</container:p>'
 		);
 	} );
 
 	it( 'should wrap position inside text node', () => {
 		test(
 			'<container:p>foo{}bar</container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p>foo<attribute:b:1>[]</attribute:b:1>bar</container:p>'
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p>foo<attribute:b view-priority="1">[]</attribute:b>bar</container:p>'
 		);
 	} );
 
@@ -64,61 +64,62 @@ describe( 'wrapPosition', () => {
 
 	it( 'should wrap position inside document fragment', () => {
 		test(
-			'<attribute:b:1>foo</attribute:b:1>[]<attribute:b:3>bar</attribute:b:3>',
-			'<attribute:b:2></attribute:b:2>',
-			'<attribute:b:1>foo</attribute:b:1><attribute:b:2>[]</attribute:b:2><attribute:b:3>bar</attribute:b:3>'
+			'<attribute:b view-priority="1">foo</attribute:b>[]<attribute:b view-priority="3">bar</attribute:b>',
+			'<attribute:b view-priority="2"></attribute:b>',
+			'<attribute:b view-priority="1">foo</attribute:b><attribute:b view-priority="2">[]</attribute:b>' +
+			'<attribute:b view-priority="3">bar</attribute:b>'
 		);
 	} );
 
 	it( 'should wrap position at the end of text node', () => {
 		test(
 			'<container:p>foobar{}</container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p>foobar<attribute:b:1>[]</attribute:b:1></container:p>'
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p>foobar<attribute:b view-priority="1">[]</attribute:b></container:p>'
 		);
 	} );
 
 	it( 'should merge with existing attributes #1', () => {
 		test(
-			'<container:p><attribute:b:1>foo</attribute:b:1>[]</container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p><attribute:b:1>foo{}</attribute:b:1></container:p>'
+			'<container:p><attribute:b view-priority="1">foo</attribute:b:1>[]</container:p>',
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p><attribute:b view-priority="1">foo{}</attribute:b></container:p>'
 		);
 	} );
 
 	it( 'should merge with existing attributes #2', () => {
 		test(
-			'<container:p>[]<attribute:b:1>foo</attribute:b:1></container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p><attribute:b:1>{}foo</attribute:b:1></container:p>'
+			'<container:p>[]<attribute:b view-priority="1">foo</attribute:b></container:p>',
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p><attribute:b view-priority="1">{}foo</attribute:b></container:p>'
 		);
 	} );
 
 	it( 'should wrap when inside nested attributes', () => {
 		test(
-			'<container:p><attribute:b:1>foo{}bar</attribute:b:1></container:p>',
-			'<attribute:u:1></attribute:u:1>',
+			'<container:p><attribute:b view-priority="1">foo{}bar</attribute:b></container:p>',
+			'<attribute:u view-priority="1"></attribute:u>',
 			'<container:p>' +
-				'<attribute:b:1>foo</attribute:b:1>' +
-				'<attribute:u:1><attribute:b:1>[]</attribute:b:1></attribute:u:1>' +
-				'<attribute:b:1>bar</attribute:b:1>' +
+				'<attribute:b view-priority="1">foo</attribute:b>' +
+				'<attribute:u view-priority="1"><attribute:b view-priority="1">[]</attribute:b></attribute:u>' +
+				'<attribute:b view-priority="1">bar</attribute:b>' +
 			'</container:p>'
 		);
 	} );
 
 	it( 'should merge when wrapping between same attribute', () => {
 		test(
-			'<container:p><attribute:b:1>foo</attribute:b:1>[]<attribute:b:1>bar</attribute:b:1></container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p><attribute:b:1>foo{}bar</attribute:b:1></container:p>'
+			'<container:p><attribute:b view-priority="1">foo</attribute:b>[]<attribute:b view-priority="1">bar</attribute:b></container:p>',
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p><attribute:b view-priority="1">foo{}bar</attribute:b></container:p>'
 		);
 	} );
 
 	it( 'should move position to text node if in same attribute', () => {
 		test(
-			'<container:p><attribute:b:1>foobar[]</attribute:b:1></container:p>',
-			'<attribute:b:1></attribute:b:1>',
-			'<container:p><attribute:b:1>foobar{}</attribute:b:1></container:p>'
+			'<container:p><attribute:b view-priority="1">foobar[]</attribute:b></container:p>',
+			'<attribute:b view-priority="1"></attribute:b>',
+			'<container:p><attribute:b view-priority="1">foobar{}</attribute:b></container:p>'
 		);
 	} );
 } );