Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/200851

Change subject: Make afterPaste operations optional again
......................................................................

Make afterPaste operations optional again

If the user wants to assert no operations, have them
expect an empty array.

Change-Id: I2afc5b8e588e15a56f33060412de1d08602024c4
---
M tests/ce/ve.ce.Surface.test.js
1 file changed, 19 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/51/200851/1

diff --git a/tests/ce/ve.ce.Surface.test.js b/tests/ce/ve.ce.Surface.test.js
index 049741a..9066188 100644
--- a/tests/ce/ve.ce.Surface.test.js
+++ b/tests/ce/ve.ce.Surface.test.js
@@ -1053,13 +1053,16 @@
                                range: new ve.Range( 1 ),
                                documentHtml: '<p></p>',
                                pasteHtml: '<blockquote><div 
rel="ve:Alien"><p>Foo</p><div><br></div></div></blockquote>',
+                               expectedOps: [],
                                expectedRange: new ve.Range( 1 ),
-                               msg: 'Pasting block content that is fully 
stripped does not crash'
+                               msg: 'Pasting block content that is fully 
stripped does nothing'
                        }
                ];
 
        for ( i = 0; i < cases.length; i++ ) {
-               expected++;
+               if ( cases[i].expectedOps ) {
+                       expected++;
+               }
                if ( cases[i].expectedRange ) {
                        expected++;
                }
@@ -1091,26 +1094,25 @@
                view.afterPaste();
 
                if ( expectedOps ) {
-                       txs = model.getHistory()[0].transactions;
                        ops = [];
-                       for ( i = 0; i < txs.length; i++ ) {
-                               txops = txs[i].getOperations();
-                               for ( j = 0; j < txops.length; j++ ) {
-                                       if ( txops[j].remove ) {
-                                               
ve.dm.example.postprocessAnnotations( txops[j].remove, doc.getStore() );
-                                               
ve.dm.example.removeOriginalDomElements( txops[j].remove );
+                       if ( model.getHistory().length ) {
+                               txs = model.getHistory()[0].transactions;
+                               for ( i = 0; i < txs.length; i++ ) {
+                                       txops = txs[i].getOperations();
+                                       for ( j = 0; j < txops.length; j++ ) {
+                                               if ( txops[j].remove ) {
+                                                       
ve.dm.example.postprocessAnnotations( txops[j].remove, doc.getStore() );
+                                                       
ve.dm.example.removeOriginalDomElements( txops[j].remove );
+                                               }
+                                               if ( txops[j].insert ) {
+                                                       
ve.dm.example.postprocessAnnotations( txops[j].insert, doc.getStore() );
+                                                       
ve.dm.example.removeOriginalDomElements( txops[j].insert );
+                                               }
                                        }
-                                       if ( txops[j].insert ) {
-                                               
ve.dm.example.postprocessAnnotations( txops[j].insert, doc.getStore() );
-                                               
ve.dm.example.removeOriginalDomElements( txops[j].insert );
-                                       }
+                                       ops.push( txops );
                                }
-                               ops.push( txops );
-
                        }
                        assert.deepEqual( ops, expectedOps, msg + ': 
operations' );
-               } else {
-                       assert.strictEqual( model.getHistory().length, 0, msg + 
': no operations' );
                }
                if ( expectedRange ) {
                        assert.equalRange( model.getSelection().getRange(), 
expectedRange, msg +  ': range' );

-- 
To view, visit https://gerrit.wikimedia.org/r/200851
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2afc5b8e588e15a56f33060412de1d08602024c4
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to