jenkins-bot has submitted this change and it was merged.

Change subject: ve.dm.ElementLinearData#getRelativeOffset: Add a missed 
exception-throwing test case
......................................................................


ve.dm.ElementLinearData#getRelativeOffset: Add a missed exception-throwing test 
case

Change-Id: I732e03c9bc4f97ff47d955f478ab6bfd41e79e72
---
M tests/dm/lineardata/ve.dm.ElementLinearData.test.js
1 file changed, 46 insertions(+), 9 deletions(-)

Approvals:
  Jforrester: Looks good to me, approved
  Esanders: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js 
b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
index 6c0664f..b9825e1 100644
--- a/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
+++ b/tests/dm/lineardata/ve.dm.ElementLinearData.test.js
@@ -865,20 +865,57 @@
                                return true;
                        },
                        expected: 2
+               },
+               {
+                       msg: 'document with invalid offset inside an 
ignoreChildren node throws',
+                       offset: 7,
+                       distance: 1,
+                       data: [
+                               'a',
+                               { type: 'blockImage', attributes: {} },
+                               { type: 'imageCaption' },
+                               { type: 'paragraph', internal: { generated: 
'wrapper' } },
+                               'a', 'b', 'c',
+                               { type: '/paragraph' },
+                               { type: '/imageCaption' },
+                               { type: '/blockImage' },
+                               'b'
+                       ],
+                       callback: 
ve.dm.ElementLinearData.prototype.isContentOffset,
+                       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 ] ) {
+                       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 ] ) {
+
+                       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: merged
Gerrit-Change-Id: I732e03c9bc4f97ff47d955f478ab6bfd41e79e72
Gerrit-PatchSet: 4
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to