mediawiki-extensions-Visual.../modules/ve/test/dm
Catrope 83a592f312 Fix whitespace preservation around meta items
This was broken, especially in wrappers.

Changed the wrapping algorithm so that meta items are placed outside
wrappers if possible. On the left-hand side, this is already the case:
we don't open wrappers for meta items. On the right-hand side, this is
accomplished by buffering the meta items and only inserting them when
we encounter either real text (not whitespace) or the end of the wrapper.
If we're interrupted by real text, we insert the meta items with the
unmodified whitespace. If we're interrupted by the end of the wrapper,
we insert the meta items outside of the wrapper with whitespace stripped.

Internally, this is done by stripping the whitespace into the whitespace[0]
of the meta item to its right. Then when we output the meta items, we
either decide to 'restore' the whitespace, or to 'fixup' by also setting
whitespace[3] on the element before the whitespace.

Change-Id: Ibeea2a9906c4aae9fe6d284613edd6ec853ca5e7
2013-04-18 16:06:58 -07:00
..
lineardata Fix a bug where trimOuterSpaceFromRange() didn't trim an all-whitespace range 2013-04-03 16:58:51 -07:00
nodes Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.AnnotationSet.test.js Make the AnnotationSet constructor take an array of indexes 2013-04-18 10:56:03 -07:00
ve.dm.BranchNode.test.js Correct name of can(Node)HaveGrandchildren functions 2013-03-13 23:25:33 +00:00
ve.dm.Converter.test.js Whitespace preservation was broken after the first run 2013-04-17 11:28:05 +00:00
ve.dm.Document.test.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.DocumentSynchronizer.test.js Merge "Make the AnnotationSet constructor take an array of indexes" 2013-04-18 21:50:25 +00:00
ve.dm.example.js Fix whitespace preservation around meta items 2013-04-18 16:06:58 -07:00
ve.dm.IndexValueStore.test.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.LeafNode.test.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.LinearData.test.js Store data in LinearData class with an index-value store for objects 2013-03-30 10:06:34 +00:00
ve.dm.MetaList.test.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.ModelRegistry.test.js Fix ModelRegistry bugs 2013-04-08 18:05:34 -07:00
ve.dm.Node.test.js Remove html/* attributes in getClonedElement() 2013-04-18 09:27:28 -07:00
ve.dm.NodeFactory.test.js Correct name of can(Node)HaveGrandchildren functions 2013-03-13 23:25:33 +00:00
ve.dm.Surface.test.js Bump copyright notice year range to -2013 over -2012 2013-02-19 15:37:34 -08:00
ve.dm.SurfaceFragment.test.js Death and/or destruction 2013-04-18 13:56:20 -07:00
ve.dm.Transaction.test.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00
ve.dm.TransactionProcessor.test.js Transactions to store metadata merge info when present 2013-04-16 22:26:56 +01:00