mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 11:16:51 +00:00
New annotation API: update tests
Change-Id: I301a1d89c33dd68197d629d187a9a5be8cbf3852
This commit is contained in:
parent
8d56cadb82
commit
405581f6b8
|
@ -206,7 +206,7 @@ QUnit.test( 'getAnnotationsFromOffset', 1, function ( assert ) {
|
|||
for ( j = 0; j < doc.getData().length; j++ ) {
|
||||
annotations = doc.getAnnotationsFromOffset( j );
|
||||
assert.deepEqual( annotations,
|
||||
new ve.AnnotationSet( cases[i].expected[j] ),
|
||||
ve.dm.example.createAnnotationSet( cases[i].expected[j] ),
|
||||
cases[i].msg[j]
|
||||
);
|
||||
}
|
||||
|
@ -416,7 +416,7 @@ QUnit.test( 'getAnnotationsFromRange', 1, function ( assert ) {
|
|||
doc = new ve.dm.Document( cases[i].data );
|
||||
assert.deepEqual(
|
||||
doc.getAnnotationsFromRange( new ve.Range( 0, cases[i].data.length ), cases[i].all ),
|
||||
new ve.AnnotationSet( cases[i].expected ),
|
||||
ve.dm.example.createAnnotationSet( cases[i].expected ),
|
||||
cases[i].msg
|
||||
);
|
||||
}
|
||||
|
@ -461,7 +461,8 @@ QUnit.test( 'offsetContainsAnnotation', 1, function ( assert ) {
|
|||
ve.dm.example.preprocessAnnotations( cases[i].data );
|
||||
doc = new ve.dm.Document( cases[i].data );
|
||||
assert.deepEqual(
|
||||
doc.offsetContainsAnnotation( 0, cases[i].lookFor ),
|
||||
doc.offsetContainsAnnotation( 0,
|
||||
ve.dm.example.createAnnotation( cases[i].lookFor ) ),
|
||||
cases[i].expected,
|
||||
cases[i].msg
|
||||
);
|
||||
|
@ -507,13 +508,13 @@ QUnit.test( 'getAnnotatedRangeFromOffset', 1, function ( assert ) {
|
|||
// 2
|
||||
'x',
|
||||
// 3
|
||||
['l', [ { 'type': 'link/internal' } ]],
|
||||
['l', [ { 'type': 'link' } ]],
|
||||
// 4
|
||||
['i', [ { 'type': 'link/internal' } ]],
|
||||
['i', [ { 'type': 'link' } ]],
|
||||
// 5
|
||||
['n', [ { 'type': 'link/internal' } ]],
|
||||
['n', [ { 'type': 'link' } ]],
|
||||
// 6
|
||||
['k', [ { 'type': 'link/internal' } ]],
|
||||
['k', [ { 'type': 'link' } ]],
|
||||
// 7
|
||||
'x',
|
||||
// 8
|
||||
|
@ -521,7 +522,7 @@ QUnit.test( 'getAnnotatedRangeFromOffset', 1, function ( assert ) {
|
|||
// 9
|
||||
'x'
|
||||
],
|
||||
'annotation': { 'type': 'link/internal' },
|
||||
'annotation': { 'type': 'link' },
|
||||
'offset': 3,
|
||||
'expected': new ve.Range( 3, 7 )
|
||||
},
|
||||
|
@ -561,7 +562,8 @@ QUnit.test( 'getAnnotatedRangeFromOffset', 1, function ( assert ) {
|
|||
ve.dm.example.preprocessAnnotations( cases[i].data );
|
||||
doc = new ve.dm.Document( cases[i].data );
|
||||
assert.deepEqual(
|
||||
doc.getAnnotatedRangeFromOffset(cases[i].offset, cases[i].annotation),
|
||||
doc.getAnnotatedRangeFromOffset( cases[i].offset,
|
||||
ve.dm.example.createAnnotation( cases[i].annotation ) ),
|
||||
cases[i].expected,
|
||||
cases[i].msg
|
||||
);
|
||||
|
@ -1322,15 +1324,15 @@ QUnit.test( 'getBalancedData', function ( assert ) {
|
|||
'msg': 'range with one character',
|
||||
'range': new ve.Range( 2, 3 ),
|
||||
'expected': [
|
||||
['b', [ { 'type': 'textStyle/bold' } ]]
|
||||
['b', [ ve.dm.example.bold ]]
|
||||
]
|
||||
},
|
||||
{
|
||||
'msg': 'range with two characters',
|
||||
'range': new ve.Range( 2, 4 ),
|
||||
'expected': [
|
||||
['b', [ { 'type': 'textStyle/bold' } ]],
|
||||
['c', [ { 'type': 'textStyle/italic' } ]]
|
||||
['b', [ ve.dm.example.bold ]],
|
||||
['c', [ ve.dm.example.italic ]]
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -1338,8 +1340,8 @@ QUnit.test( 'getBalancedData', function ( assert ) {
|
|||
'range': new ve.Range( 2, 5 ),
|
||||
'expected': [
|
||||
{ 'type': 'heading', 'attributes': { 'level': 1 } },
|
||||
['b', [ { 'type': 'textStyle/bold' } ]],
|
||||
['c', [ { 'type': 'textStyle/italic' } ]],
|
||||
['b', [ ve.dm.example.bold ]],
|
||||
['c', [ ve.dm.example.italic ]],
|
||||
{ 'type': '/heading' }
|
||||
]
|
||||
},
|
||||
|
@ -1348,7 +1350,7 @@ QUnit.test( 'getBalancedData', function ( assert ) {
|
|||
'range': new ve.Range( 3, 6 ),
|
||||
'expected': [
|
||||
{ 'type': 'heading', 'attributes': { 'level': 1 } },
|
||||
['c', [ { 'type': 'textStyle/italic' } ]],
|
||||
['c', [ ve.dm.example.italic ]],
|
||||
{ 'type': '/heading' },
|
||||
{ 'type': 'table' },
|
||||
{ 'type': '/table' }
|
||||
|
|
|
@ -72,39 +72,31 @@ QUnit.test( 'annotate', 1, function ( assert ) {
|
|||
[
|
||||
'b',
|
||||
[
|
||||
{
|
||||
'type': 'textStyle/bold'
|
||||
}
|
||||
ve.dm.example.bold
|
||||
]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[
|
||||
{
|
||||
'type': 'textStyle/bold'
|
||||
}
|
||||
ve.dm.example.bold
|
||||
]
|
||||
],
|
||||
[
|
||||
'l',
|
||||
[
|
||||
{
|
||||
'type': 'textStyle/bold'
|
||||
}
|
||||
ve.dm.example.bold
|
||||
]
|
||||
],
|
||||
[
|
||||
'd',
|
||||
[
|
||||
{
|
||||
'type': 'textStyle/bold'
|
||||
}
|
||||
ve.dm.example.bold
|
||||
]
|
||||
]
|
||||
],
|
||||
'annotate': {
|
||||
'method': 'set',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': ve.dm.example.bold
|
||||
}
|
||||
}
|
||||
];
|
||||
|
@ -115,7 +107,8 @@ QUnit.test( 'annotate', 1, function ( assert ) {
|
|||
ve.dm.example.preprocessAnnotations( cases[i].expected );
|
||||
surface = new ve.dm.SurfaceStub( cases[i].data );
|
||||
surface.change( null, new ve.Range( 0, surface.getDocument().getData().length ) );
|
||||
surface.annotate( cases[i].annotate.method, cases[i].annotate.annotation );
|
||||
surface.annotate( cases[i].annotate.method,
|
||||
ve.dm.example.createAnnotation( cases[i].annotate.annotation ) );
|
||||
assert.deepEqual( surface.getDocument().getData(), cases[i].expected, cases[i].msg );
|
||||
}
|
||||
} );
|
||||
|
|
|
@ -232,7 +232,7 @@ QUnit.test( 'newFromRemoval', function ( assert ) {
|
|||
'type': 'replace',
|
||||
'remove': [
|
||||
'a',
|
||||
['b', [ { 'type': 'textStyle/bold' } ]]
|
||||
['b', [ ve.dm.example.bold ]]
|
||||
],
|
||||
'insert': []
|
||||
},
|
||||
|
@ -259,8 +259,8 @@ QUnit.test( 'newFromRemoval', function ( assert ) {
|
|||
'remove': [
|
||||
{ 'type': 'heading', 'attributes': { 'level': 1 } },
|
||||
'a',
|
||||
['b', [ { 'type': 'textStyle/bold' } ]],
|
||||
['c', [ { 'type': 'textStyle/italic' } ]],
|
||||
['b', [ ve.dm.example.bold ]],
|
||||
['c', [ ve.dm.example.italic ]],
|
||||
{ 'type': '/heading' }
|
||||
],
|
||||
'insert': []
|
||||
|
@ -293,8 +293,8 @@ QUnit.test( 'newFromRemoval', function ( assert ) {
|
|||
'remove': [
|
||||
{ 'type': 'heading', 'attributes': { 'level': 1 } },
|
||||
'a',
|
||||
['b', [ { 'type': 'textStyle/bold' } ]],
|
||||
['c', [ { 'type': 'textStyle/italic' } ]],
|
||||
['b', [ ve.dm.example.bold ]],
|
||||
['c', [ ve.dm.example.italic ]],
|
||||
{ 'type': '/heading' }
|
||||
],
|
||||
'insert': []
|
||||
|
@ -504,98 +504,99 @@ QUnit.test( 'newFromAttributeChange', function ( assert ) {
|
|||
} );
|
||||
|
||||
QUnit.test( 'newFromAnnotation', function ( assert ) {
|
||||
var doc = new ve.dm.Document( ve.dm.example.data ),
|
||||
var bold = ve.dm.example.createAnnotation( ve.dm.example.bold ),
|
||||
doc = new ve.dm.Document( ve.dm.example.data ),
|
||||
cases = {
|
||||
'over plain text': {
|
||||
'args': [doc, new ve.Range( 1, 2 ), 'set', { 'type': 'textStyle/bold' }],
|
||||
'args': [doc, new ve.Range( 1, 2 ), 'set', bold],
|
||||
'ops': [
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'start',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'stop',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 59 }
|
||||
]
|
||||
},
|
||||
'over annotated text': {
|
||||
'args': [doc, new ve.Range( 1, 4 ), 'set', { 'type': 'textStyle/bold' }],
|
||||
'args': [doc, new ve.Range( 1, 4 ), 'set', bold],
|
||||
'ops': [
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'start',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'stop',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'start',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'stop',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 57 }
|
||||
]
|
||||
},
|
||||
'over elements': {
|
||||
'args': [doc, new ve.Range( 4, 9 ), 'set', { 'type': 'textStyle/bold' }],
|
||||
'args': [doc, new ve.Range( 4, 9 ), 'set', bold],
|
||||
'ops': [
|
||||
{ 'type': 'retain', 'length': 61 }
|
||||
]
|
||||
},
|
||||
'over elements and content': {
|
||||
'args': [doc, new ve.Range( 3, 11 ), 'set', { 'type': 'textStyle/bold' }],
|
||||
'args': [doc, new ve.Range( 3, 11 ), 'set', bold],
|
||||
'ops': [
|
||||
{ 'type': 'retain', 'length': 3 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'start',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'stop',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 6 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'start',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 1 },
|
||||
{
|
||||
'type': 'annotate',
|
||||
'method': 'set',
|
||||
'bias': 'stop',
|
||||
'annotation': { 'type': 'textStyle/bold' }
|
||||
'annotation': bold
|
||||
},
|
||||
{ 'type': 'retain', 'length': 50 }
|
||||
]
|
||||
|
|
|
@ -11,6 +11,9 @@ QUnit.module( 've.dm.TransactionProcessor' );
|
|||
|
||||
QUnit.test( 'commit/rollback', function ( assert ) {
|
||||
var i, key, originalData, originalDoc, msg, testDocument, tx, expectedData, expectedDocument,
|
||||
bold = ve.dm.example.createAnnotation( ve.dm.example.bold ),
|
||||
italic = ve.dm.example.createAnnotation( ve.dm.example.italic ),
|
||||
underline = ve.dm.example.createAnnotation( ve.dm.example.underline ),
|
||||
cases = {
|
||||
'no operations': {
|
||||
'calls': [],
|
||||
|
@ -23,79 +26,76 @@ QUnit.test( 'commit/rollback', function ( assert ) {
|
|||
'annotating content': {
|
||||
'calls': [
|
||||
['pushRetain', 1],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStopAnnotating', 'set', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStartAnnotating', 'clear', { 'type': 'textStyle/italic' }],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/underline' }],
|
||||
['pushStartAnnotating', 'clear', italic],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushStartAnnotating', 'set', underline],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'clear', { 'type': 'textStyle/italic' }],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/underline' }]
|
||||
['pushStopAnnotating', 'clear', italic],
|
||||
['pushStopAnnotating', 'set', bold],
|
||||
['pushStopAnnotating', 'set', underline]
|
||||
],
|
||||
'expected': function ( data ) {
|
||||
var b = { 'type': 'textStyle/bold' },
|
||||
u = { 'type': 'textStyle/underline' };
|
||||
data[1] = ['a', new ve.AnnotationSet( [ b ] )];
|
||||
data[2] = ['b', new ve.AnnotationSet( [ b ] )];
|
||||
data[3] = ['c', new ve.AnnotationSet( [ b, u ] )];
|
||||
data[1] = ['a', new ve.AnnotationSet( [ bold ] )];
|
||||
data[2] = ['b', new ve.AnnotationSet( [ bold ] )];
|
||||
data[3] = ['c', new ve.AnnotationSet( [ bold, underline ] )];
|
||||
}
|
||||
},
|
||||
'annotating content and leaf elements': {
|
||||
'calls': [
|
||||
['pushRetain', 38],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushRetain', 2],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'set', bold]
|
||||
],
|
||||
'expected': function ( data ) {
|
||||
var b = [ { 'type': 'textStyle/bold' } ];
|
||||
data[38] = ['h', new ve.AnnotationSet( b )];
|
||||
data[39].annotations = new ve.AnnotationSet( b );
|
||||
data[38] = ['h', new ve.AnnotationSet( [ bold ] )];
|
||||
data[39].annotations = new ve.AnnotationSet( [ bold ] );
|
||||
}
|
||||
},
|
||||
'using an annotation method other than set or clear throws an exception': {
|
||||
'calls': [
|
||||
['pushStartAnnotating', 'invalid-method', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'invalid-method', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'invalid-method', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'invalid-method', bold]
|
||||
],
|
||||
'exception': Error
|
||||
},
|
||||
'annotating branch opening element throws an exception': {
|
||||
'calls': [
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'set', bold]
|
||||
],
|
||||
'exception': Error
|
||||
},
|
||||
'annotating branch closing element throws an exception': {
|
||||
'calls': [
|
||||
['pushRetain', 4],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'set', bold]
|
||||
],
|
||||
'exception': Error
|
||||
},
|
||||
'setting duplicate annotations throws an exception': {
|
||||
'calls': [
|
||||
['pushRetain', 2],
|
||||
['pushStartAnnotating', 'set', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'set', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'set', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'set', bold]
|
||||
],
|
||||
'exception': Error
|
||||
},
|
||||
'removing non-existent annotations throws an exception': {
|
||||
'calls': [
|
||||
['pushRetain', 1],
|
||||
['pushStartAnnotating', 'clear', { 'type': 'textStyle/bold' }],
|
||||
['pushStartAnnotating', 'clear', bold],
|
||||
['pushRetain', 1],
|
||||
['pushStopAnnotating', 'clear', { 'type': 'textStyle/bold' }]
|
||||
['pushStopAnnotating', 'clear', bold]
|
||||
],
|
||||
'exception': Error
|
||||
},
|
||||
|
@ -210,7 +210,7 @@ QUnit.test( 'commit/rollback', function ( assert ) {
|
|||
['pushRetain', 3],
|
||||
[
|
||||
'pushReplace',
|
||||
[['c', [ { 'type': 'textStyle/italic' } ]]],
|
||||
[['c', [ ve.dm.example.italic ]]],
|
||||
[]
|
||||
],
|
||||
['pushRetain', 6],
|
||||
|
|
|
@ -9,16 +9,66 @@
|
|||
|
||||
ve.dm.example = {};
|
||||
|
||||
/**
|
||||
* Convert arrays of shorthand annotations in a data fragment to AnnotationSets with real
|
||||
* annotation objects.
|
||||
*
|
||||
* Shorthand notation for annotations is:
|
||||
* [ 'a', [ { 'type': 'link', 'data': { 'href': '...' }, 'htmlTagName': 'a', 'htmlAttributes': { ... } } ] ]
|
||||
*
|
||||
* The actual storage format has an instance of ve.dm.LinkAnnotation instead of the plain object,
|
||||
* and an instance of ve.AnnotationSet instead of the array.
|
||||
*
|
||||
* @param {Array} data Linear model data. Will be modified.
|
||||
*/
|
||||
ve.dm.example.preprocessAnnotations = function ( data ) {
|
||||
var i, key;
|
||||
for ( i = 0; i < data.length; i++ ) {
|
||||
key = data[i].annotations ? 'annotations' : 1;
|
||||
if ( ve.isArray( data[i][key] ) ) {
|
||||
data[i][key] = new ve.AnnotationSet( data[i][key] );
|
||||
data[i][key] = ve.dm.example.createAnnotationSet( data[i][key] );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Create an annotation object from shorthand notation.
|
||||
* @param {Object} annotation Plain object with type, data, htmlTagName and htmlAttributes properties
|
||||
* @return {ve.dm.Annotation} Instance of the right ve.dm.Annotation subclass
|
||||
*/
|
||||
ve.dm.example.createAnnotation = function ( annotation ) {
|
||||
var ann, annKey;
|
||||
ann = ve.dm.annotationFactory.create( annotation.type );
|
||||
for ( annKey in annotation ) {
|
||||
if ( annKey !== 'type' ) {
|
||||
ann[annKey] = annotation[annKey];
|
||||
}
|
||||
}
|
||||
return ann;
|
||||
};
|
||||
|
||||
/**
|
||||
* Create an AnnotationSet from an array of shorthand annotations.
|
||||
*
|
||||
* This calls ve.dm.example.createAnnotation() for each element and puts the result in an
|
||||
* AnnotationSet.
|
||||
*
|
||||
* @param {Array} annotations Array of annotations in shorthand format
|
||||
* @return {ve.AnnotationSet}
|
||||
*/
|
||||
ve.dm.example.createAnnotationSet = function ( annotations ) {
|
||||
var i;
|
||||
for ( i = 0; i < annotations.length; i++ ) {
|
||||
annotations[i] = ve.dm.example.createAnnotation( annotations[i] );
|
||||
}
|
||||
return new ve.AnnotationSet( annotations );
|
||||
};
|
||||
|
||||
/* Some common annotations in shorthand format */
|
||||
ve.dm.example.bold = { 'type': 'textStyle/bold', 'htmlTagName': 'b', 'htmlAttributes': {} };
|
||||
ve.dm.example.italic = { 'type': 'textStyle/italic', 'htmlTagName': 'i', 'htmlAttributes': {} };
|
||||
ve.dm.example.underline = { 'type': 'textStyle/underline', 'htmlTagName': 'u', 'htmlAttributes': {} };
|
||||
|
||||
/**
|
||||
* Serialized HTML.
|
||||
*
|
||||
|
@ -85,9 +135,9 @@ ve.dm.example.data = [
|
|||
// 1 - Plain "a"
|
||||
'a',
|
||||
// 2 - Bold "b"
|
||||
['b', [ { 'type': 'textStyle/bold' } ]],
|
||||
['b', [ ve.dm.example.bold ]],
|
||||
// 3 - Italic "c"
|
||||
['c', [ { 'type': 'textStyle/italic' } ]],
|
||||
['c', [ ve.dm.example.italic ]],
|
||||
// 4 - End of heading
|
||||
{ 'type': '/heading' },
|
||||
// 5 - Beginning of table
|
||||
|
@ -400,9 +450,9 @@ ve.dm.example.domToDataCases = {
|
|||
'html': '<p><b>a</b><i>b</i><u>c</u></p>',
|
||||
'data': [
|
||||
{ 'type': 'paragraph' },
|
||||
['a', [ { 'type': 'textStyle/bold' } ]],
|
||||
['b', [ { 'type': 'textStyle/italic' } ]],
|
||||
['c', [ { 'type': 'textStyle/underline' } ]],
|
||||
['a', [ ve.dm.example.bold ]],
|
||||
['b', [ ve.dm.example.italic ]],
|
||||
['c', [ ve.dm.example.underline ]],
|
||||
{ 'type': '/paragraph' }
|
||||
]
|
||||
},
|
||||
|
@ -458,45 +508,48 @@ ve.dm.example.domToDataCases = {
|
|||
[
|
||||
'b',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo bar',
|
||||
'hrefPrefix': '',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': ''
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'a',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo bar',
|
||||
'hrefPrefix': '',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': ''
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'r',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo bar',
|
||||
'hrefPrefix': '',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': ''
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'data-rt': '{"sHref":"foo bar"}',
|
||||
'href': 'Foo_bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
|
@ -513,42 +566,45 @@ ve.dm.example.domToDataCases = {
|
|||
[
|
||||
'F',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo/Bar',
|
||||
'hrefPrefix': './../../../',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': './../../../'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo/Bar',
|
||||
'hrefPrefix': './../../../',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': './../../../'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[ {
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'title': 'Foo/Bar',
|
||||
'hrefPrefix': './../../../',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'hrefPrefix': './../../../'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': './../../../Foo/Bar',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
|
@ -562,39 +618,42 @@ ve.dm.example.domToDataCases = {
|
|||
[
|
||||
'[',
|
||||
[ {
|
||||
'type': 'link/ExtLink/Numbered',
|
||||
'type': 'link/MWexternal',
|
||||
'data': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'1',
|
||||
[ {
|
||||
'type': 'link/ExtLink/Numbered',
|
||||
'type': 'link/MWexternal',
|
||||
'data': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
']',
|
||||
[ {
|
||||
'type': 'link/ExtLink/Numbered',
|
||||
'type': 'link/MWexternal',
|
||||
'data': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/Numbered'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
|
@ -608,26 +667,28 @@ ve.dm.example.domToDataCases = {
|
|||
[
|
||||
'm',
|
||||
[ {
|
||||
'type': 'link/ExtLink/URL',
|
||||
'type': 'link/MWexternal',
|
||||
'data': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/URL'
|
||||
}
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/URL'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
[
|
||||
'w',
|
||||
[ {
|
||||
'type': 'link/ExtLink/URL',
|
||||
'type': 'link/MWexternal',
|
||||
'data': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/URL'
|
||||
}
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'http://www.mediawiki.org/',
|
||||
'rel': 'mw:ExtLink/URL'
|
||||
}
|
||||
} ]
|
||||
],
|
||||
|
@ -718,14 +779,14 @@ ve.dm.example.domToDataCases = {
|
|||
'type': 'paragraph',
|
||||
'internal': { 'whitespace': [ undefined, ' ', ' ' ] }
|
||||
},
|
||||
[ ' ', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'F', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'o', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'o', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/italic' } ] ],
|
||||
[ ' ', [ ve.dm.example.italic ] ],
|
||||
[ ' ', [ ve.dm.example.italic ] ],
|
||||
[ 'F', [ ve.dm.example.italic ] ],
|
||||
[ 'o', [ ve.dm.example.italic ] ],
|
||||
[ 'o', [ ve.dm.example.italic ] ],
|
||||
[ ' ', [ ve.dm.example.italic ] ],
|
||||
[ ' ', [ ve.dm.example.italic ] ],
|
||||
[ ' ', [ ve.dm.example.italic ] ],
|
||||
{ 'type': '/paragraph' }
|
||||
]
|
||||
},
|
||||
|
@ -784,12 +845,12 @@ ve.dm.example.domToDataCases = {
|
|||
' ',
|
||||
' ',
|
||||
' ',
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ 'C', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ 'C', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
'\t',
|
||||
'\t',
|
||||
'D',
|
||||
|
@ -802,12 +863,12 @@ ve.dm.example.domToDataCases = {
|
|||
'\n',
|
||||
'\n',
|
||||
'\n',
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ 'G', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ 'G', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
' ',
|
||||
' ',
|
||||
'H',
|
||||
|
@ -825,24 +886,24 @@ ve.dm.example.domToDataCases = {
|
|||
' ',
|
||||
' ',
|
||||
' ',
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ 'C', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'D', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ 'E', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ ' ', [ ve.dm.example.bold ] ],
|
||||
[ 'C', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ 'D', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ 'E', [ ve.dm.example.bold ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
'\n',
|
||||
'\n',
|
||||
'F',
|
||||
|
@ -860,12 +921,12 @@ ve.dm.example.domToDataCases = {
|
|||
' ',
|
||||
' ',
|
||||
' ',
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'C', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ 'C', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
'\n',
|
||||
'\n',
|
||||
'D',
|
||||
|
@ -883,14 +944,14 @@ ve.dm.example.domToDataCases = {
|
|||
' ',
|
||||
' ',
|
||||
' ',
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'C', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ 'C', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
'\n',
|
||||
'\n',
|
||||
'D',
|
||||
|
@ -908,14 +969,14 @@ ve.dm.example.domToDataCases = {
|
|||
' ',
|
||||
' ',
|
||||
' ',
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ 'C', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' }, { 'type': 'textStyle/italic' } ] ],
|
||||
[ '\n', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ { 'type': 'textStyle/bold' } ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ 'C', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\t', [ ve.dm.example.bold, ve.dm.example.italic ] ],
|
||||
[ '\n', [ ve.dm.example.bold ] ],
|
||||
[ '\t', [ ve.dm.example.bold ] ],
|
||||
'\n',
|
||||
'\n',
|
||||
'D',
|
||||
|
@ -998,55 +1059,58 @@ ve.dm.example.domToDataCases = {
|
|||
[
|
||||
'F',
|
||||
[
|
||||
{ 'type': 'textStyle/bold' },
|
||||
ve.dm.example.bold,
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[
|
||||
{ 'type': 'textStyle/bold' },
|
||||
ve.dm.example.bold,
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[
|
||||
{ 'type': 'textStyle/bold' },
|
||||
ve.dm.example.bold,
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
{ 'type': '/paragraph' }
|
||||
|
@ -1060,14 +1124,15 @@ ve.dm.example.domToDataCases = {
|
|||
'F',
|
||||
[
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -1076,84 +1141,87 @@ ve.dm.example.domToDataCases = {
|
|||
'o',
|
||||
[
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/bold' }
|
||||
ve.dm.example.bold
|
||||
]
|
||||
],
|
||||
[
|
||||
'o',
|
||||
[
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/bold' },
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.bold,
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'b',
|
||||
[
|
||||
{
|
||||
'type': 'link/WikiLink',
|
||||
'type': 'link/MWinternal',
|
||||
'data': {
|
||||
'hrefPrefix': '',
|
||||
'title': 'Foo',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
'title': 'Foo'
|
||||
},
|
||||
'htmlTagName': 'a',
|
||||
'htmlAttributes': {
|
||||
'href': 'Foo',
|
||||
'rel': 'mw:WikiLink'
|
||||
}
|
||||
},
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'a',
|
||||
[
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'r',
|
||||
[
|
||||
{ 'type': 'textStyle/italic' },
|
||||
{ 'type': 'textStyle/bold' }
|
||||
ve.dm.example.italic,
|
||||
ve.dm.example.bold
|
||||
]
|
||||
],
|
||||
[
|
||||
'b',
|
||||
[
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
[
|
||||
'a',
|
||||
[
|
||||
{ 'type': 'textStyle/italic' },
|
||||
{ 'type': 'textStyle/underline' }
|
||||
ve.dm.example.italic,
|
||||
ve.dm.example.underline
|
||||
]
|
||||
],
|
||||
[
|
||||
'z',
|
||||
[
|
||||
{ 'type': 'textStyle/italic' }
|
||||
ve.dm.example.italic
|
||||
]
|
||||
],
|
||||
{ 'type': '/paragraph' }
|
||||
|
|
Loading…
Reference in a new issue