mediawiki-extensions-Visual.../modules/ve/test/dm/ve.dm.LeafNode.test.js
Timo Tijhof cf7f2b141d Set up node-jscs, pass it, and configure in local Gruntfile
Let's experiment with this via our local Gruntfile. If it works
fine we can install it in Jenkins (similar to node-csslint).

Verify through $ npm install && npm test;

Fixed all outstanding violations.

Also:
* Added syntaxhighight to ignore.
* Added imetests (which contain unformatted JSON) to ignore.
* In ve.dm.ModelRegistry#matchTypeRegExps, removed redundant
  !! cast from the [+!!withFunc] statement which was hitting
  a bug in node-jscs. All callers to this local private function
  pass a literal boolean true/false so no need to cast it.
* Removed "/* key .. , value */" from ve.setProp, though this
  wasn't caught by node-jscs, found it when searching for " , ".
* Made npm.devDependencies fixed instead of using tilde-ranges.
  This too often leads to strange bugs or sudden changes. Fixed
  them at the version they were currently ranging to.

Bug: 54218
Change-Id: Ib2630806f3946874c8b01e58cf171df83a28da29
2013-12-06 10:37:27 -08:00

45 lines
1.3 KiB
JavaScript

/*!
* VisualEditor DataModel LeafNode tests.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
QUnit.module( 've.dm.LeafNode' );
/* Stubs */
ve.dm.LeafNodeStub = function VeDmLeafNodeStub( length, element ) {
// Parent constructor
ve.dm.LeafNode.call( this, length, element );
};
OO.inheritClass( ve.dm.LeafNodeStub, ve.dm.LeafNode );
ve.dm.LeafNodeStub.static.name = 'leaf-stub';
ve.dm.LeafNodeStub.static.matchTagNames = [];
ve.dm.nodeFactory.register( ve.dm.LeafNodeStub );
/* Tests */
QUnit.test( 'canHaveChildren', 1, function ( assert ) {
var node = new ve.dm.LeafNodeStub();
assert.equal( node.canHaveChildren(), false );
} );
QUnit.test( 'canHaveChildrenNotContent', 1, function ( assert ) {
var node = new ve.dm.LeafNodeStub();
assert.equal( node.canHaveChildrenNotContent(), false );
} );
QUnit.test( 'getAnnotations', 3, function ( assert ) {
var element = { 'type': 'leaf-stub' },
node = new ve.dm.LeafNodeStub( 0, element );
assert.deepEqual( node.getAnnotations(), [], 'undefined .annotations returns empty set' );
assert.equal( element.annotations, undefined, 'no .annotations property added' );
element.annotations = [0];
assert.deepEqual( node.getAnnotations(), [0], 'annotations retrieve indexes when set' );
} );