Jforrester has uploaded a new change for review.
https://gerrit.wikimedia.org/r/269890
Change subject: ve.dm.ElementLinearData.static.getRelativeOffset: Add a missed
exception-throwing test case
......................................................................
ve.dm.ElementLinearData.static.getRelativeOffset: Add a missed
exception-throwing test case
Change-Id: I732e03c9bc4f97ff47d955f478ab6bfd41e79e72
---
M tests/dm/lineardata/ve.dm.ElementLinearData.test.js
1 file changed, 49 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor
refs/changes/90/269890/1
diff --git a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
index ee289a6..0199ff2 100644
--- a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
+++ b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
@@ -865,20 +865,59 @@
return true;
},
expected: 2
+ },
+ {
+ msg: 'document with invalid offset inside an
ignoreChildren node throws',
+ offset: 7,
+ distance: 3,
+ data: [
+ 'a',
+ { type: 'blockImage', attributes: {} },
+ { type: 'imageCaption' },
+ { type: 'paragraph', internal: { generated:
'wrapper' } },
+ 'a', 'b', 'c',
+ { type: '/paragraph' },
+ { type: '/imageCaption' },
+ { type: '/blockImage' },
+ 'b'
+ ],
+ callback: function () {
+ return true;
+ },
+ exception: /offset was inside an ignoreChildren node/
}
];
+
QUnit.expect( cases.length );
+
for ( i = 0; i < cases.length; i++ ) {
- data = new ve.dm.ElementLinearData( new
ve.dm.IndexValueStore(), cases[ i ].data );
- assert.strictEqual(
- data.getRelativeOffset(
- cases[ i ].offset,
- cases[ i ].distance,
- cases[ i ].callback
- ),
- cases[ i ].expected,
- cases[ i ].msg
- );
+ if ( 'expected' in cases[ i ] ) {
+ data = new ve.dm.ElementLinearData( new
ve.dm.IndexValueStore(), cases[ i ].data );
+ assert.strictEqual(
+ data.getRelativeOffset(
+ cases[ i ].offset,
+ cases[ i ].distance,
+ cases[ i ].callback
+ ),
+ cases[ i ].expected,
+ cases[ i ].msg
+ );
+ } else if ( 'exception' in cases[ i ] ) {
+ debugger;
+ assert.throws(
+ // jshint loopfunc:true
+ function () {
+ data.getRelativeOffset(
+ cases[ i ].offset,
+ cases[ i ].distance,
+ cases[ i ].callback
+ );
+ },
+ cases[ i ].exception,
+ cases[ i ].msg
+ // jshint loopfunc:false
+ );
+ }
}
} );
--
To view, visit https://gerrit.wikimedia.org/r/269890
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I732e03c9bc4f97ff47d955f478ab6bfd41e79e72
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits