diff --git a/tests/es/es.DocumentModel.test.js b/tests/es/es.DocumentModel.test.js index fe1c9ab4e2..4b79d07412 100644 --- a/tests/es/es.DocumentModel.test.js +++ b/tests/es/es.DocumentModel.test.js @@ -258,7 +258,7 @@ test( 'es.DocumentModel.prepareElementAttributeChange', 4, function() { } } ); -test( 'es.DocumentModel.prepareContentAnnotation', 1, function() { +test( 'es.DocumentModel.prepareContentAnnotation', 2, function() { var documentModel = es.DocumentModel.newFromPlainObject( esTest.obj ); // Test 1 @@ -299,6 +299,45 @@ test( 'es.DocumentModel.prepareContentAnnotation', 1, function() { ], 'prepareContentAnnotation skips over content that is already set or cleared' ); + + // Test 2 + deepEqual( + documentModel.prepareContentAnnotation( + new es.Range( 3, 10 ), 'set', { 'type': 'textStyle/bold' } + ).getOperations(), + [ + { 'type': 'retain', 'length': 3 }, + { + 'type': 'annotate', + 'method': 'set', + 'bias': 'start', + 'annotation': { 'type': 'textStyle/bold', 'hash': '{"type":"textStyle/bold"}' } + }, + { 'type': 'retain', 'length': 1 }, + { + 'type': 'annotate', + 'method': 'set', + 'bias': 'stop', + 'annotation': { 'type': 'textStyle/bold', 'hash': '{"type":"textStyle/bold"}' } + }, + { 'type': 'retain', 'length': 5 }, + { + 'type': 'annotate', + 'method': 'set', + 'bias': 'start', + 'annotation': { 'type': 'textStyle/bold', 'hash': '{"type":"textStyle/bold"}' } + }, + { 'type': 'retain', 'length': 1 }, + { + 'type': 'annotate', + 'method': 'set', + 'bias': 'stop', + 'annotation': { 'type': 'textStyle/bold', 'hash': '{"type":"textStyle/bold"}' } + }, + { 'type': 'retain', 'length': 24 } + ], + 'prepareContentAnnotation works across element boundaries' + ); } ); test( 'es.DocumentModel.prepareRemoval', 11, function() {