mediawiki-extensions-Visual.../modules/ve
C. Scott Ananian 5830bce72c Correctly preserve metadata in Transaction.newFromUnwrap.
The `Transaction.pushReplace` method has a corner case if the removed
region has metadata and the inserted region is empty.  This works fine
unless there are two adjacent `pushReplace` operations, which can occur
in `Transaction.newFromUnwrap`.  Fix this by having `pushReplace` look
at a preceding replace and correctly merge the two operations if
possible (in particular in the tricky case where the previous case has
a zero-length insertion).  Pleasantly, this can be done without a lot of
special-casing code in `pushReplace` or `newFromUnwrap`.

Add test cases verifying the `newFromUnwrap` works correctly (both
in commit and in rollback) when there is metadata present.

Change-Id: I6cfec0d2b1823dad724422f018a3c73dc0c7f186
2013-09-06 01:06:59 +00:00
..
ce Apply DOM changes in onProtectedSetup and onProtectedTeardown instead of constructor 2013-09-05 22:05:23 +00:00
dm Correctly preserve metadata in Transaction.newFromUnwrap. 2013-09-06 01:06:59 +00:00
init Add keyboard shortcuts for formatting tools 2013-09-03 17:17:03 -07:00
test Correctly preserve metadata in Transaction.newFromUnwrap. 2013-09-06 01:06:59 +00:00
ui Fix doc comment in ve.ui.Surface.js 2013-09-05 11:25:49 -07:00
ve.BranchNode.js
ve.debug.js
ve.Document.js doc: Clean up spacing that caused <pre> or broken <ul>/<ol> 2013-07-25 04:02:50 +02:00
ve.Element.js doc: Add missing @static to static ve.Element methods 2013-08-02 08:49:53 +02:00
ve.EventEmitter.js
ve.EventSequencer.js ve.EventSequencer: Post-event listening 2013-09-04 11:20:46 -07:00
ve.Factory.js Make tools generic and add fancy tool groups 2013-09-03 11:27:39 -07:00
ve.js Include element HTML in QUnit summary for diff 2013-08-02 16:10:05 +01:00
ve.LeafNode.js
ve.NamedClassFactory.js
ve.Node.js
ve.Range.js Fix copy and paste of backwards selction 2013-08-22 18:10:34 +00:00
ve.Registry.js Make tools generic and add fancy tool groups 2013-09-03 11:27:39 -07:00
ve.track.js Add ve.track, a generic dispatch of analytic events 2013-08-03 02:51:07 +00:00