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

Reply via email to