mediawiki-extensions-Visual.../modules/ve/dm
Catrope 04516bb02e Whitespace preservation was broken after the first run
The first run of getDomFromData() would preserve whitespace just fine,
but it blanked out the .veInternal.whitespace[1] element in certain
cases, contaminating the linear model and making the whitespace data
inconsistent. Subsequent runs of getDomFromData() would then refuse to
serialize that whitespace because the information about it was
inconsistent.

In getDomFromData(), we sometimes unset .veInternal.whitespace[1] (i.e.
set it to undefined) to prevent double processing. Because we're
potentially going to modify .veInternal, don't assign it by reference,
but copy the object.

Added tests asserting that the linear model is unchanged after calling
getDomFromData(), because that function should never modify
linear model data. This test failed in 4 cases (all whitespace-related)
before I added the copyObject() call.

Bug: 43543
Change-Id: Ic4c93510518163894201a693ab50331413715967
2013-04-17 11:28:05 +00:00
..
annotations Actually use the doc parameter in toDomElements() 2013-04-09 23:48:03 +00:00
lineardata Merge "Implement next/prevBreakOffset and word skipping" 2013-04-09 22:24:41 +00:00
metaitems Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
nodes Hybridise MWTemplateNode 2013-04-14 02:34:18 +00:00
ve.dm.Annotation.js Actually use the doc parameter in toDomElements() 2013-04-09 23:48:03 +00:00
ve.dm.AnnotationFactory.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.AnnotationSet.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.BranchNode.js Fix documentation to place @emits in the correct place 2013-03-25 21:06:05 +00:00
ve.dm.Converter.js Whitespace preservation was broken after the first run 2013-04-17 11:28:05 +00:00
ve.dm.DataString.js UnicodeJS library to implement Unicode standards 2013-03-27 17:44:22 +00:00
ve.dm.Document.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.DocumentSlice.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.DocumentSynchronizer.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.IndexValueStore.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.LeafNode.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.LinearData.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.MetaItem.js Add ve.ce.View as a common base class for ce.Node and ce.Annotation 2013-04-09 12:05:05 -07:00
ve.dm.MetaItemFactory.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.MetaList.js Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
ve.dm.Model.js Fix annotation breakage 2013-04-15 17:04:50 -07:00
ve.dm.ModelRegistry.js Convert AnnotationFactory and MetaItemFactory to NamedClassFactories 2013-04-09 12:05:05 -07:00
ve.dm.Node.js Hybridise MWTemplateNode 2013-04-14 02:34:18 +00:00
ve.dm.NodeFactory.js Allow nodes to handle their own children 2013-04-11 22:41:18 +00:00
ve.dm.Surface.js Fixes to DM metaList stuff under Roan's guidance. 2013-04-11 14:49:17 -07:00
ve.dm.SurfaceFragment.js Have ce's ctrl+arrow functionality use UnicodeJS library 2013-04-12 12:12:53 +01:00
ve.dm.Transaction.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.TransactionProcessor.js TransactionProcessor: Fix offset bug 2013-04-12 23:16:51 +00:00