mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-01 17:36:35 +00:00
57ad316988
When encountering an inline node (i.e. content node that's not a text node) within a branch node that's not a content branch node, the converter should start a wrapper. But it doesn't do this, it only opens wrappers for text nodes and annotations. Fixed this in the converter, added a test for it, and fixed an existing test that asserted the broken behavior. Change-Id: I6e143e21e68b68f0d85b8772e24a2d3a5d465410
67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
/*!
|
|
* VisualEditor DataModel Converter tests.
|
|
*
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
QUnit.module( 've.dm.Converter' );
|
|
|
|
/* Tests */
|
|
|
|
QUnit.test( 'getDataElementFromDomElement', 20, function ( assert ) {
|
|
var msg, conversion;
|
|
|
|
for ( msg in ve.dm.example.conversions ) {
|
|
conversion = ve.dm.example.conversions[msg];
|
|
assert.deepEqual(
|
|
ve.dm.converter.getDataElementFromDomElement( conversion.domElement ),
|
|
conversion.dataElement,
|
|
msg
|
|
);
|
|
}
|
|
} );
|
|
|
|
QUnit.test( 'getDomElementFromDataElement', 20, function ( assert ) {
|
|
var msg, conversion;
|
|
|
|
for ( msg in ve.dm.example.conversions ) {
|
|
conversion = ve.dm.example.conversions[msg];
|
|
assert.equalDomElement(
|
|
ve.dm.converter.getDomElementFromDataElement( conversion.dataElement ),
|
|
conversion.domElement,
|
|
msg
|
|
);
|
|
}
|
|
} );
|
|
|
|
QUnit.test( 'getDataFromDom', 49, function ( assert ) {
|
|
var msg,
|
|
cases = ve.dm.example.domToDataCases;
|
|
|
|
for ( msg in cases ) {
|
|
if ( cases[msg].html !== null ) {
|
|
ve.dm.example.preprocessAnnotations( cases[msg].data );
|
|
assert.deepEqual(
|
|
ve.dm.converter.getDataFromDom( $( '<div>' ).html( cases[msg].html )[0] ),
|
|
cases[msg].data,
|
|
msg
|
|
);
|
|
}
|
|
}
|
|
} );
|
|
|
|
QUnit.test( 'getDomFromData', 53, function ( assert ) {
|
|
var msg,
|
|
cases = ve.dm.example.domToDataCases;
|
|
|
|
for ( msg in cases ) {
|
|
ve.dm.example.preprocessAnnotations( cases[msg].data );
|
|
assert.equalDomElement(
|
|
ve.dm.converter.getDomFromData( cases[msg].data ),
|
|
$( '<div>' ).html( cases[msg].normalizedHtml || cases[msg].html )[0],
|
|
msg
|
|
);
|
|
}
|
|
} );
|