%PDF- %PDF-
| Direktori : /www/varak.net/wiki.varak.net/extensions/VisualEditor/lib/ve/tests/ce/nodes/ |
| Current File : //www/varak.net/wiki.varak.net/extensions/VisualEditor/lib/ve/tests/ce/nodes/ve.ce.TextNode.test.js |
/*!
* VisualEditor ContentEditable TextNode tests.
*
* @copyright 2011-2016 VisualEditor Team and others; see http://ve.mit-license.org
*/
QUnit.module( 've.ce.TextNode' );
/* Tests */
QUnit.test( 'getAnnotatedHtml', function ( assert ) {
var i, len, cases, doc,
store = new ve.dm.IndexValueStore();
cases = [
{
data: [
{ type: 'paragraph' },
'a',
'b',
'c',
{ type: '/paragraph' }
],
html: [ 'a', 'b', 'c' ]
},
{
data: [
{ type: 'paragraph' },
[ 'a', [ { type: 'textStyle/bold' } ] ],
[ 'b', [ { type: 'textStyle/bold' } ] ],
[ 'c', [ { type: 'textStyle/bold' } ] ],
{ type: '/paragraph' }
],
html: [
[ 'a', [ { type: 'textStyle/bold' } ] ],
[ 'b', [ { type: 'textStyle/bold' } ] ],
[ 'c', [ { type: 'textStyle/bold' } ] ]
]
},
{
data: [
{ type: 'paragraph' },
[ 'a', [ { type: 'textStyle/bold' } ] ],
'b',
[ 'c', [ { type: 'textStyle/italic' } ] ],
{ type: '/paragraph' }
],
html: [
[ 'a', [ { type: 'textStyle/bold' } ] ],
'b',
[ 'c', [ { type: 'textStyle/italic' } ] ]
]
},
{
// [ ]
data: [ { type: 'paragraph' }, ' ', { type: '/paragraph' } ],
html: [ ' ' ]
},
{
// [ ][ ][ ]
data: [ { type: 'paragraph' }, ' ', ' ', ' ', { type: '/paragraph' } ],
html: [ ' ', ' ', ' ' ]
},
{
// [ ][ ][ ][A][ ][ ]
data: [ { type: 'paragraph' }, ' ', ' ', ' ', 'A', ' ', ' ', { type: '/paragraph' } ],
html: [ ' ', ' ', ' ', 'A', ' ', ' ' ]
},
{
// [A][ ][A] with non-breaking space
data: [ { type: 'paragraph' }, 'A', '\u00a0', 'A', { type: '/paragraph' } ],
html: [ 'A', '\u00a0', 'A' ]
},
{
data: [ { type: 'paragraph' }, '\n', 'A', '\n', 'B', '\n', { type: '/paragraph' } ],
html: [ '\u21b5', 'A', '\u21b5', 'B', '\u21b5' ]
},
{
data: [ { type: 'paragraph' }, '\t', 'A', '\t', 'B', '\t', { type: '/paragraph' } ],
html: [ '\u279e', 'A', '\u279e', 'B', '\u279e' ]
},
{
data: [ { type: 'preformatted' }, '\n', 'A', '\n', 'B', '\n', { type: '/preformatted' } ],
html: [ '\n', 'A', '\n', 'B', '\n' ]
},
{
data: [ { type: 'preformatted' }, '\t', 'A', '\t', 'B', '\t', { type: '/preformatted' } ],
html: [ '\t', 'A', '\t', 'B', '\t' ]
},
{
// [ ][ ][ ][A][ ][ ]
data: [ { type: 'preformatted' }, ' ', ' ', ' ', 'A', ' ', ' ', { type: '/preformatted' } ],
html: [ ' ', ' ', ' ', 'A', ' ', ' ' ]
},
{
data: [ { type: 'paragraph' }, '&', '<', '>', '\'', '"', { type: '/paragraph' } ],
html: [ '&', '<', '>', '\'', '"' ]
}
];
QUnit.expect( cases.length );
for ( i = 0, len = cases.length; i < len; i++ ) {
doc = new ve.dm.Document( ve.dm.example.preprocessAnnotations( cases[ i ].data, store ) );
ve.dm.example.preprocessAnnotations( cases[ i ].html, store );
assert.deepEqual(
( new ve.ce.TextNode( doc.getDocumentNode().getChildren()[ 0 ].getChildren()[ 0 ] ) ).getAnnotatedHtml(),
cases[ i ].html
);
}
} );