@openui5/sap.ui.core 1.123.1 → 1.124.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/Event.js +1 -1
  8. package/src/sap/base/Eventing.js +1 -1
  9. package/src/sap/base/config.js +1 -1
  10. package/src/sap/base/future.js +66 -6
  11. package/src/sap/base/i18n/LanguageTag.js +1 -1
  12. package/src/sap/base/i18n/date/TimezoneUtils.js +11 -5
  13. package/src/sap/base/util/LoaderExtensions.js +1 -5
  14. package/src/sap/base/util/Version.js +18 -12
  15. package/src/sap/base/util/defineCoupledProperty.js +4 -1
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  17. package/src/sap/base/util/restricted/_castArray.js +1 -1
  18. package/src/sap/base/util/restricted/_compact.js +1 -1
  19. package/src/sap/base/util/restricted/_curry.js +1 -1
  20. package/src/sap/base/util/restricted/_debounce.js +1 -1
  21. package/src/sap/base/util/restricted/_difference.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_flatten.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_intersection.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isNil.js +1 -1
  36. package/src/sap/base/util/restricted/_max.js +1 -1
  37. package/src/sap/base/util/restricted/_merge.js +1 -1
  38. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  39. package/src/sap/base/util/restricted/_min.js +1 -1
  40. package/src/sap/base/util/restricted/_omit.js +1 -1
  41. package/src/sap/base/util/restricted/_pick.js +1 -1
  42. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  43. package/src/sap/base/util/restricted/_throttle.js +1 -1
  44. package/src/sap/base/util/restricted/_toArray.js +1 -1
  45. package/src/sap/base/util/restricted/_union.js +1 -1
  46. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  47. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  48. package/src/sap/base/util/restricted/_uniq.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  51. package/src/sap/base/util/restricted/_without.js +1 -1
  52. package/src/sap/base/util/restricted/_xor.js +1 -1
  53. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  54. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  57. package/src/sap/ui/Device.js +3 -3
  58. package/src/sap/ui/Global.js +4 -4
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +1 -2
  61. package/src/sap/ui/base/Interface.js +1 -1
  62. package/src/sap/ui/base/ManagedObject.js +2 -2
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +26 -2
  65. package/src/sap/ui/base/Object.js +1 -1
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/core/.library +3 -3
  68. package/src/sap/ui/core/BusyIndicator.js +1 -1
  69. package/src/sap/ui/core/Component.js +54 -75
  70. package/src/sap/ui/core/ComponentContainer.js +1 -1
  71. package/src/sap/ui/core/ComponentMetadata.js +33 -21
  72. package/src/sap/ui/core/ComponentSupport.js +4 -4
  73. package/src/sap/ui/core/Configuration.js +1 -1
  74. package/src/sap/ui/core/Control.js +1 -1
  75. package/src/sap/ui/core/Core.js +1 -1
  76. package/src/sap/ui/core/CustomData.js +1 -1
  77. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  78. package/src/sap/ui/core/Element.js +37 -12
  79. package/src/sap/ui/core/ElementMetadata.js +1 -1
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +1 -1
  82. package/src/sap/ui/core/ExtensionPoint.js +4 -2
  83. package/src/sap/ui/core/Fragment.js +2 -2
  84. package/src/sap/ui/core/HTML.js +1 -1
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +1 -1
  87. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  88. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  89. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +1 -1
  92. package/src/sap/ui/core/Item.js +1 -1
  93. package/src/sap/ui/core/LabelEnablement.js +88 -28
  94. package/src/sap/ui/core/LayoutData.js +1 -1
  95. package/src/sap/ui/core/Lib.js +36 -11
  96. package/src/sap/ui/core/ListItem.js +1 -1
  97. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  98. package/src/sap/ui/core/Locale.js +1 -1
  99. package/src/sap/ui/core/LocaleData.js +1 -1
  100. package/src/sap/ui/core/Manifest.js +44 -21
  101. package/src/sap/ui/core/Message.js +1 -1
  102. package/src/sap/ui/core/Popup.js +5 -1
  103. package/src/sap/ui/core/RenderManager.js +1 -1
  104. package/src/sap/ui/core/Renderer.js +1 -1
  105. package/src/sap/ui/core/ResizeHandler.js +1 -1
  106. package/src/sap/ui/core/ScrollBar.js +1 -1
  107. package/src/sap/ui/core/SeparatorItem.js +1 -1
  108. package/src/sap/ui/core/Title.js +1 -1
  109. package/src/sap/ui/core/TooltipBase.js +1 -1
  110. package/src/sap/ui/core/UIArea.js +1 -1
  111. package/src/sap/ui/core/UIComponent.js +94 -42
  112. package/src/sap/ui/core/UIComponentMetadata.js +5 -1
  113. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  114. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  115. package/src/sap/ui/core/XMLComposite.js +1 -1
  116. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  117. package/src/sap/ui/core/XMLTemplateProcessor.js +23 -12
  118. package/src/sap/ui/core/date/UI5Date.js +1 -1
  119. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  120. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  122. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  124. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  125. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  126. package/src/sap/ui/core/format/NumberFormat.js +1 -1
  127. package/src/sap/ui/core/format/TimezoneUtil.js +86 -10
  128. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  129. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  130. package/src/sap/ui/core/library.js +3 -3
  131. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  132. package/src/sap/ui/core/message/Message.js +1 -1
  133. package/src/sap/ui/core/message/MessageManager.js +1 -1
  134. package/src/sap/ui/core/message/MessageParser.js +1 -1
  135. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  136. package/src/sap/ui/core/messagebundle_sh.properties +65 -65
  137. package/src/sap/ui/core/mvc/Controller.js +2 -2
  138. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -0
  139. package/src/sap/ui/core/mvc/EventHandlerResolver.js +1 -1
  140. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  141. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  142. package/src/sap/ui/core/mvc/JSView.js +1 -1
  143. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  144. package/src/sap/ui/core/mvc/View.js +12 -3
  145. package/src/sap/ui/core/mvc/XMLView.js +7 -2
  146. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  147. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  148. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  149. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  150. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  151. package/src/sap/ui/core/routing/Targets.js +1 -1
  152. package/src/sap/ui/core/rules/App.support.js +11 -11
  153. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  154. package/src/sap/ui/core/rules/Theming.support.js +3 -3
  155. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  156. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  157. package/src/sap/ui/core/service/Service.js +1 -1
  158. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  159. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  160. package/src/sap/ui/core/support/Plugin.js +1 -1
  161. package/src/sap/ui/core/support/Support.js +1 -1
  162. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  163. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  164. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  165. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  166. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  167. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  168. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  169. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  170. package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
  171. package/src/sap/ui/core/theming/Parameters.js +23 -27
  172. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  173. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  174. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  175. package/src/sap/ui/core/tmpl/Template.js +1 -1
  176. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  177. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  178. package/src/sap/ui/core/util/Export.js +1 -1
  179. package/src/sap/ui/core/util/ExportCell.js +1 -1
  180. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  181. package/src/sap/ui/core/util/ExportRow.js +1 -1
  182. package/src/sap/ui/core/util/ExportType.js +1 -1
  183. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  184. package/src/sap/ui/core/util/File.js +1 -1
  185. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  186. package/src/sap/ui/core/util/MockServer.js +1 -1
  187. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  188. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  189. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  190. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  191. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  192. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  193. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  194. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  195. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  196. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  197. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  198. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  199. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  200. package/src/sap/ui/debug/ControlTree.js +1 -1
  201. package/src/sap/ui/debug/DebugEnv.js +1 -1
  202. package/src/sap/ui/debug/PropertyList.js +1 -1
  203. package/src/sap/ui/model/ClientModel.js +1 -1
  204. package/src/sap/ui/model/ClientTreeBindingAdapter.js +7 -5
  205. package/src/sap/ui/model/CompositeBinding.js +9 -3
  206. package/src/sap/ui/model/CompositeDataState.js +1 -1
  207. package/src/sap/ui/model/CompositeType.js +1 -1
  208. package/src/sap/ui/model/Context.js +26 -2
  209. package/src/sap/ui/model/DataState.js +1 -1
  210. package/src/sap/ui/model/MetaModel.js +1 -1
  211. package/src/sap/ui/model/Model.js +1 -1
  212. package/src/sap/ui/model/PropertyBinding.js +113 -35
  213. package/src/sap/ui/model/SelectionModel.js +1 -1
  214. package/src/sap/ui/model/SimpleType.js +1 -1
  215. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  216. package/src/sap/ui/model/TreeBindingAdapter.js +5 -5
  217. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +6 -6
  218. package/src/sap/ui/model/Type.js +1 -1
  219. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -0
  220. package/src/sap/ui/model/json/JSONModel.js +1 -1
  221. package/src/sap/ui/model/message/MessageModel.js +1 -1
  222. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  223. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -5
  224. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  225. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  226. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  227. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  228. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  229. package/src/sap/ui/model/odata/type/Currency.js +24 -1
  230. package/src/sap/ui/model/odata/type/Date.js +1 -1
  231. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  232. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  233. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  234. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  235. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  236. package/src/sap/ui/model/odata/type/Double.js +1 -1
  237. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int.js +1 -1
  239. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  240. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  241. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  242. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  243. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  244. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  245. package/src/sap/ui/model/odata/type/Single.js +1 -1
  246. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  247. package/src/sap/ui/model/odata/type/String.js +1 -1
  248. package/src/sap/ui/model/odata/type/Time.js +1 -1
  249. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  250. package/src/sap/ui/model/odata/type/Unit.js +24 -1
  251. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  252. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  253. package/src/sap/ui/model/odata/v2/ODataModel.js +6 -9
  254. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  255. package/src/sap/ui/model/odata/v4/Context.js +74 -67
  256. package/src/sap/ui/model/odata/v4/ODataBinding.js +31 -39
  257. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +8 -20
  258. package/src/sap/ui/model/odata/v4/ODataListBinding.js +162 -95
  259. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  260. package/src/sap/ui/model/odata/v4/ODataModel.js +8 -5
  261. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +5 -3
  262. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -17
  263. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +204 -177
  264. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +9 -3
  265. package/src/sap/ui/model/odata/v4/lib/_Cache.js +10 -32
  266. package/src/sap/ui/model/odata/v4/lib/_Helper.js +18 -0
  267. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -3
  268. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +35 -1
  269. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  270. package/src/sap/ui/model/type/Boolean.js +1 -1
  271. package/src/sap/ui/model/type/Currency.js +6 -3
  272. package/src/sap/ui/model/type/Date.js +1 -1
  273. package/src/sap/ui/model/type/DateInterval.js +1 -1
  274. package/src/sap/ui/model/type/DateTime.js +1 -1
  275. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  276. package/src/sap/ui/model/type/FileSize.js +1 -1
  277. package/src/sap/ui/model/type/Float.js +1 -1
  278. package/src/sap/ui/model/type/Integer.js +1 -1
  279. package/src/sap/ui/model/type/String.js +1 -1
  280. package/src/sap/ui/model/type/Time.js +1 -1
  281. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  282. package/src/sap/ui/model/type/Unit.js +6 -3
  283. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  284. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  285. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  286. package/src/sap/ui/test/ModuleTracking.js +1 -2
  287. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +96 -7
  288. package/src/sap/ui/test/generic/TestBase.js +1 -1
  289. package/src/sap/ui/test/gherkin/opa5TestHarness.js +0 -1
  290. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +0 -1
  291. package/src/sap/ui/test/starter/_utils.js +27 -1
  292. package/src/sap/ui/test/starter/createSuite.js +2 -5
  293. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  294. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-blind.js +4 -0
  295. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-bounce.js +4 -0
  296. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-clip.js +4 -0
  297. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-core.js +4 -0
  298. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-drop.js +4 -0
  299. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-explode.js +4 -0
  300. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-fade.js +4 -0
  301. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-fold.js +4 -0
  302. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-highlight.js +4 -0
  303. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-pulsate.js +4 -0
  304. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-scale.js +4 -0
  305. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-shake.js +4 -0
  306. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-slide.js +4 -0
  307. package/src/sap/ui/thirdparty/jqueryui/jquery-effects-transfer.js +4 -0
  308. package/src/sap/ui/util/Storage.js +1 -1
  309. package/src/ui5loader.js +11 -5
  310. package/test/sap/ui/core/demokit/sample/FieldGroup/Page.view.xml +1 -1
  311. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  312. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/view/Employee.view.xml +0 -1
  313. package/test/sap/ui/core/demokit/sample/TypeCurrency/Component.js +1 -0
  314. package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -2
  315. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/Component.js +1 -0
  316. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -2
  317. package/test/sap/ui/core/demokit/sample/TypeDateAsString/Component.js +1 -0
  318. package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -2
  319. package/test/sap/ui/core/demokit/sample/TypeDateTime/Component.js +1 -0
  320. package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -2
  321. package/test/sap/ui/core/demokit/sample/TypeFileSize/Component.js +1 -0
  322. package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -2
  323. package/test/sap/ui/core/demokit/sample/TypeFloat/Component.js +1 -0
  324. package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -2
  325. package/test/sap/ui/core/demokit/sample/TypeInteger/Component.js +1 -0
  326. package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -2
  327. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/Component.js +1 -0
  328. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -2
  329. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +3 -3
  330. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV2.view.xml +3 -2
  331. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  332. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  333. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  334. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  335. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/view/Main.view.xml +0 -1
  336. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Error.view.xml +1 -1
  337. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +30 -7
  338. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +28 -4
  339. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +38 -52
  340. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +13 -13
  341. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -4
  342. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -3
  343. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +2 -3
  344. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +3 -3
  345. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +3 -3
  346. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  347. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  348. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  349. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  350. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  351. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  352. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  353. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  354. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  355. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  356. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  357. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  358. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  359. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  360. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  361. package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +3 -0
  362. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  363. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/Component.js +1 -0
  364. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/test/mockServer.html +1 -1
  365. package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +3 -0
  366. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  367. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/Component.js +1 -0
  368. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/test/mockServer.html +1 -1
  369. package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +3 -0
  370. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  371. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/Component.js +1 -0
  372. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/test/mockServer.html +1 -1
  373. package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +3 -0
  374. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  375. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/Component.js +1 -0
  376. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/test/mockServer.html +1 -1
  377. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  378. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  380. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  381. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  382. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  383. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  384. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  385. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  386. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  387. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  388. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  389. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  390. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  392. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  393. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  394. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  395. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  396. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  397. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  398. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  399. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  400. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  401. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  402. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  403. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  404. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  405. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  406. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/controller/App.controller.js +2 -3
  407. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -4
  408. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +4 -5
  409. package/test/sap/ui/core/qunit/BindingParser.qunit.js +68 -5
  410. package/test/sap/ui/core/qunit/CacheManager.qunit.js +2 -2
  411. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +1 -1
  412. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +173 -7
  413. package/test/sap/ui/core/qunit/Core.qunit.js +92 -65
  414. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +8 -6
  415. package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +26 -5
  416. package/test/sap/ui/core/qunit/Element_data.qunit.js +86 -3
  417. package/test/sap/ui/core/qunit/Fragment.qunit.js +1 -1
  418. package/test/sap/ui/core/qunit/HTML.qunit.js +13 -0
  419. package/test/sap/ui/core/qunit/Lib.qunit.js +160 -42
  420. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -2
  421. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +1 -0
  422. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +63 -4
  423. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +1 -0
  424. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +4 -4
  425. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +3 -0
  426. package/test/sap/ui/core/qunit/component/Component.qunit.js +88 -16
  427. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +26 -2
  428. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +62 -59
  429. package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +75 -7
  430. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +128 -117
  431. package/test/sap/ui/core/qunit/component/Manifest.qunit.js +57 -5
  432. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +72 -7
  433. package/test/sap/ui/core/qunit/component/Metadata_unavoidablySync.qunit.js +62 -17
  434. package/test/sap/ui/core/qunit/component/Models.qunit.js +670 -237
  435. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +211 -33
  436. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -0
  437. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  438. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +1 -0
  439. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -0
  440. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  441. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +1 -0
  442. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -0
  443. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  444. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +1 -0
  445. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -0
  446. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -0
  447. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -0
  448. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/Component.js +1 -2
  449. package/test/sap/ui/core/qunit/component/testdata/customizing_legacyAPIs/customer/Component.js +1 -2
  450. package/test/sap/ui/core/qunit/component/testdata/inherit/manifest.json +3 -5
  451. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/manifest.json +2 -2
  452. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnActivateReturns/App.view.xml +3 -0
  453. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnActivateReturns/Component.js +15 -0
  454. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnActivateReturns/Home.view.xml +5 -0
  455. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnActivateReturns/Other.view.xml +5 -0
  456. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnActivateReturns/manifest.json +54 -0
  457. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnDeactivateReturns/App.view.xml +3 -0
  458. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnDeactivateReturns/Component.js +17 -0
  459. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnDeactivateReturns/Home.view.xml +5 -0
  460. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnDeactivateReturns/Other.view.xml +5 -0
  461. package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3OnDeactivateReturns/manifest.json +54 -0
  462. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/Component.js +18 -0
  463. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/Main.controller.js +6 -0
  464. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/Main.view.xml +6 -0
  465. package/test/sap/ui/core/qunit/component/testdata/minUI5Version/manifest.json +12 -0
  466. package/test/sap/ui/core/qunit/component/testdata/mixed/Component.js +3 -1
  467. package/test/sap/ui/core/qunit/component/testdata/mixed/manifest.json +3 -11
  468. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/Component.js +16 -0
  469. package/test/sap/ui/core/qunit/component/testdata/{mixed → mixed_legacyAPIs}/component.json +3 -3
  470. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/i18n/i18n.properties +3 -0
  471. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/manifest.json +139 -0
  472. package/test/sap/ui/core/qunit/component/testdata/mixed_legacyAPIs/style.css +0 -0
  473. package/test/sap/ui/core/qunit/component/testdata/routerClass/Component.js +33 -0
  474. package/test/sap/ui/core/qunit/component/testdata/routerClass/Main.view.xml +8 -0
  475. package/test/sap/ui/core/qunit/component/testdata/routerClass/manifest.json +38 -0
  476. package/test/sap/ui/core/qunit/component/testdata/v1/component.json +2 -2
  477. package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -2
  478. package/test/sap/ui/core/qunit/component/testdata/v2/manifest.json +3 -5
  479. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +2 -4
  480. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -4
  481. package/test/sap/ui/core/qunit/component/testdata/v2models/empty/Component.js +1 -1
  482. package/test/sap/ui/core/qunit/component/testdata/v2models/extension/Component.js +1 -1
  483. package/test/sap/ui/core/qunit/component/testdata/v2models/parentValid/Component.js +286 -0
  484. package/test/sap/ui/core/qunit/component/testdata/v2models/parentValid/i18n.properties +2 -0
  485. package/test/sap/ui/core/qunit/component/testdata/v2models/parentValid/i18n_de.properties +2 -0
  486. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +16 -0
  487. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +102 -0
  488. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +5 -5
  489. package/test/sap/ui/core/qunit/{types/TimezoneUtil.qunit.js → i18n/TimezoneUtils.qunit.js} +85 -87
  490. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +6 -0
  491. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +2 -2
  492. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +117 -85
  493. package/test/sap/ui/core/qunit/messages/Message.qunit.js +7 -5
  494. package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -5
  495. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +41 -4
  496. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +3 -2
  497. package/test/sap/ui/core/qunit/model/Context.qunit.js +29 -0
  498. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +490 -5
  499. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +164 -12
  500. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +144 -6
  501. package/test/sap/ui/core/qunit/mvc/View.qunit.js +2 -2
  502. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +60 -5
  503. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +58 -3
  504. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +127 -10
  505. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +108 -10
  506. package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +74 -7
  507. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +0 -6
  508. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +0 -6
  509. package/test/sap/ui/core/qunit/mvc/extensions/testdata/ExtendMainLegacy.controller.js +15 -0
  510. package/test/sap/ui/core/qunit/mvc/extensions/testdata/MainContext.controller.js +0 -3
  511. package/test/sap/ui/core/qunit/mvc/extensions/testdata/MainMemberExtLegacyFinal.controller.js +38 -0
  512. package/test/sap/ui/core/qunit/mvc/extensions/testdata/ReuseExtension.js +0 -3
  513. package/test/sap/ui/core/qunit/mvc/extensions/testdata/ReuseExtensionContext.js +0 -3
  514. package/test/sap/ui/core/qunit/mvc/extensions/testdata/ReuseExtensionFinal.js +47 -0
  515. package/test/sap/ui/core/qunit/mvc/testdata/HtmlOnRoot.view.xml +8 -0
  516. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewWithTypes.view.xml +1 -1
  517. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewWithTypesFailure.view.xml +41 -0
  518. package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -1
  519. package/test/sap/ui/core/qunit/mvc/testdata/test.controller.js +4 -0
  520. package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +1 -1
  521. package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +12 -2
  522. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +23 -4
  523. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +1 -1
  524. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +3 -5
  525. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +3 -5
  526. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +180 -12
  527. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +3 -5
  528. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -6
  529. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +149 -122
  530. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +22 -71
  531. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
  532. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +351 -174
  533. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +6094 -2827
  534. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +2 -4
  535. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +11 -5
  536. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -49
  537. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +24 -0
  538. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +14 -2
  539. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +16 -0
  540. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +408 -403
  541. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +11 -1
  542. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +56 -51
  543. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +30 -0
  544. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +68 -59
  545. package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +91 -2
  546. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +62 -15
  547. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +91 -19
  548. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
  549. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +131 -16
  550. package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +111 -3
  551. package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
  552. package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +2 -2
  553. package/test/sap/ui/core/qunit/routing/fixture/Async2.view.xml +2 -2
  554. package/test/sap/ui/core/qunit/routing/fixture/Async3.view.xml +2 -2
  555. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/Parent/manifest.json +2 -1
  556. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +3 -0
  557. package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +1 -1
  558. package/test/sap/ui/core/qunit/testdata/libraries/customCss/lib1/library.js +4 -11
  559. package/test/sap/ui/core/qunit/testdata/libraries/make.js +8 -1
  560. package/test/sap/ui/core/qunit/testdata/libraries/myGlobalLib/library.js +1 -0
  561. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +1 -0
  562. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/intentionally_no_manifest_here.txt +7 -0
  563. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +1 -0
  564. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library-preload.js +2 -0
  565. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library.js +1 -0
  566. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library-preload.json +1 -1
  567. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library.js +1 -0
  568. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library-preload.js +2 -0
  569. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library.js +1 -0
  570. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.js +2 -0
  571. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.json +1 -1
  572. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library.js +1 -0
  573. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library-preload.json +1 -1
  574. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library.js +1 -0
  575. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library-preload.js +2 -0
  576. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library.js +1 -0
  577. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib7/library.js +1 -0
  578. package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +6 -4
  579. package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/manifest.json +7 -0
  580. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library-preload.js +2 -0
  581. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library.js +1 -0
  582. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library-preload.json +1 -1
  583. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library.js +1 -0
  584. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library-preload.js +2 -0
  585. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library.js +1 -0
  586. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.js +2 -0
  587. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.json +1 -1
  588. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library.js +1 -0
  589. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library-preload.json +1 -1
  590. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library.js +1 -0
  591. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library-preload.js +2 -0
  592. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library.js +1 -0
  593. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib7/library.js +1 -0
  594. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +2 -0
  595. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +1 -0
  596. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +2 -0
  597. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +1 -0
  598. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -0
  599. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +1 -0
  600. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library-preload.js +2 -0
  601. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library.js +1 -0
  602. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -0
  603. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +1 -0
  604. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -0
  605. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +1 -0
  606. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library-preload.js +2 -0
  607. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library.js +1 -0
  608. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -0
  609. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +1 -0
  610. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library-preload.js +2 -0
  611. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library.js +1 -0
  612. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library-preload.js +2 -0
  613. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library.js +1 -0
  614. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library-preload.json +1 -1
  615. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library.js +1 -0
  616. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library-preload.js +2 -0
  617. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library.js +1 -0
  618. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.js +2 -0
  619. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.json +1 -1
  620. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library.js +1 -0
  621. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library-preload.json +1 -1
  622. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library.js +1 -0
  623. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library-preload.js +2 -0
  624. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library.js +1 -0
  625. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library-preload.js +2 -0
  626. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library.js +1 -0
  627. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library-preload.js +2 -0
  628. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library.js +1 -0
  629. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library-preload.js +2 -0
  630. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library.js +1 -0
  631. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library-preload.js +2 -0
  632. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library.js +1 -0
  633. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library-preload.js +2 -0
  634. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library.js +1 -0
  635. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library-preload.json +1 -1
  636. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library.js +1 -0
  637. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library-preload.js +2 -0
  638. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library.js +1 -0
  639. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.js +2 -0
  640. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.json +1 -1
  641. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library.js +1 -0
  642. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library-preload.json +1 -1
  643. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library.js +1 -0
  644. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library-preload.js +2 -0
  645. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library.js +1 -0
  646. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib7/library.js +1 -0
  647. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library-preload.js +2 -0
  648. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library.js +1 -0
  649. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library-preload.json +1 -1
  650. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library.js +1 -0
  651. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library-preload.js +2 -0
  652. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library.js +1 -0
  653. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library-preload.js +2 -0
  654. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library.js +1 -0
  655. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library-preload.json +1 -1
  656. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library.js +1 -0
  657. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library-preload.js +2 -0
  658. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library.js +1 -0
  659. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library-preload.js +2 -0
  660. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library.js +1 -0
  661. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library-preload.js +2 -0
  662. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library.js +1 -0
  663. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.js +2 -0
  664. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.json +1 -1
  665. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library.js +1 -0
  666. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library-preload.json +1 -1
  667. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library.js +1 -0
  668. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library-preload.js +2 -0
  669. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library.js +1 -0
  670. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library-preload.json +1 -1
  671. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library.js +1 -0
  672. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library-preload.json +1 -1
  673. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library.js +1 -0
  674. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.js +2 -0
  675. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.json +1 -1
  676. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library.js +1 -0
  677. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library-preload.json +1 -1
  678. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library.js +1 -0
  679. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library-preload.js +2 -0
  680. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library.js +1 -0
  681. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library-preload.json +1 -1
  682. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library.js +1 -0
  683. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library-preload.js +2 -0
  684. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library.js +1 -0
  685. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.js +2 -0
  686. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.json +1 -1
  687. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library.js +1 -0
  688. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library-preload.json +1 -1
  689. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library.js +1 -0
  690. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library-preload.js +2 -0
  691. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library.js +1 -0
  692. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library-preload.json +1 -1
  693. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library.js +1 -0
  694. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library-preload.js +2 -0
  695. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library.js +1 -0
  696. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library-preload.js +2 -0
  697. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library.js +1 -0
  698. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/absoluteBundleUrl/library-preload.js +2 -0
  699. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/application/Component-preload.js +1 -1
  700. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +2 -2
  701. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/notLoadedYet/library-preload.js +2 -0
  702. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/library-preload.js +2 -0
  703. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib1/library.js +1 -0
  704. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib10/library.js +1 -0
  705. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib11/library.js +1 -0
  706. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib12/library.js +1 -0
  707. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib13/library.js +1 -0
  708. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib14/library.js +1 -0
  709. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib15/library.js +1 -0
  710. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib16/library.js +1 -0
  711. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib17/library.js +1 -0
  712. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib2/library.js +1 -0
  713. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib3/library.js +1 -0
  714. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/library.js +1 -0
  715. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib5/library.js +1 -0
  716. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib6/library.js +1 -0
  717. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib7/library.js +1 -0
  718. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib8/library.js +1 -0
  719. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib9/library.js +1 -0
  720. package/test/sap/ui/core/qunit/testdata/routing/scenario1/RootView.view.xml +1 -2
  721. package/test/sap/ui/core/qunit/testdata/uilib/library.js +1 -0
  722. package/test/sap/ui/core/qunit/testdata/uilib/themes/test_theme_scoped/library-parameters.json +25 -0
  723. package/test/sap/ui/core/qunit/testdata/uilib/themes/test_theme_scoped/library.css +28 -0
  724. package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +1 -0
  725. package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +1 -0
  726. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +0 -1
  727. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expressionFaulty.view.xml +40 -0
  728. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +11 -1
  729. package/test/sap/ui/core/qunit/testsuites/testsuite.eventing.qunit.js +3 -0
  730. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +3 -0
  731. package/test/sap/ui/core/qunit/types/Date.qunit.js +62 -25
  732. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +79 -12
  733. package/test/sap/ui/core/qunit/types/Types.qunit.js +135 -38
  734. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +0 -6
  735. package/test/sap/ui/core/qunit/ui5classes/DataType.qunit.js +10 -1
  736. package/test/sap/ui/core/qunit/ui5classes/ManagedObject.qunit.js +102 -19
  737. package/test/sap/ui/core/qunit/ui5classes/Object.qunit.js +116 -124
  738. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +122 -3
  739. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +79 -4
  740. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +0 -1
  741. package/test/sap/ui/core/relnotes/changes-1.124.json +52 -0
  742. package/test/sap/ui/core/samples/databinding/UnitTable/README.md +18 -0
  743. package/test/sap/ui/core/samples/databinding/UnitTable/package.json +13 -0
  744. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +12 -0
  745. package/test/sap/ui/core/samples/databinding/UnitTable/webapp/Component.js +29 -0
  746. package/test/sap/ui/core/samples/databinding/UnitTable/webapp/controller/UnitTable.controller.js +58 -0
  747. package/test/sap/ui/core/samples/databinding/{UnitTable.meters.json → UnitTable/webapp/data/UnitTable.meters.json} +42 -42
  748. package/test/sap/ui/core/samples/databinding/UnitTable/webapp/index.html +28 -0
  749. package/test/sap/ui/core/samples/databinding/UnitTable/webapp/manifest.json +40 -0
  750. package/test/sap/ui/core/samples/databinding/UnitTable/webapp/view/UnitTable.view.xml +206 -0
  751. package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
  752. package/test/sap/ui/core/samples/draganddrop/dragBetweenLists.html +10 -5
  753. package/test/sap/ui/core/samples/draganddrop/dragWithinList.html +0 -2
  754. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  755. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  756. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  757. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  758. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  759. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  760. package/test/sap/ui/core/CurrenciesIndia.html +0 -182
  761. package/test/sap/ui/core/CurrenciesRTL.html +0 -312
  762. package/test/sap/ui/core/CustomData.html +0 -161
  763. package/test/sap/ui/core/DataTypeNormalizer.html +0 -44
  764. package/test/sap/ui/core/Formats.html +0 -384
  765. package/test/sap/ui/core/Strings.controller.js +0 -90
  766. package/test/sap/ui/core/Strings.css +0 -8
  767. package/test/sap/ui/core/Strings.html +0 -25
  768. package/test/sap/ui/core/Strings.js +0 -20
  769. package/test/sap/ui/core/Strings.view.xml +0 -86
  770. package/test/sap/ui/core/Timezones.html +0 -23
  771. package/test/sap/ui/core/qunit/ODataModelRefresh.qunit.html +0 -236
  772. package/test/sap/ui/core/qunit/ODataModelThreshold.qunit.html +0 -164
  773. package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +0 -85
  774. package/test/sap/ui/core/samples/databinding/DataBindingDeclarativeSyntax.js +0 -65
  775. package/test/sap/ui/core/samples/databinding/DataBindingFragment.html +0 -21
  776. package/test/sap/ui/core/samples/databinding/DatabindingDeclarativeSyntax.html +0 -38
  777. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +0 -193
  778. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +0 -305
  779. package/test/sap/ui/core/samples/databinding/UnitTable.controller.js +0 -202
  780. package/test/sap/ui/core/samples/databinding/UnitTable.html +0 -25
  781. package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +0 -337
  782. package/test/sap/ui/core/samples/databinding/UnitTableMain.js +0 -21
  783. package/test/sap/ui/core/samples/databinding/fragment/Fragment.fragment.xml +0 -6
  784. package/test/sap/ui/core/samples/databinding/fragment/NamedFragment.fragment.xml +0 -6
  785. package/test/sap/ui/core/samples/databinding/fragment/View.controller.js +0 -36
  786. package/test/sap/ui/core/samples/databinding/fragment/View.view.xml +0 -12
  787. package/test/sap/ui/core/samples/databinding/message/Component.js +0 -185
  788. package/test/sap/ui/core/samples/databinding/message/component.json +0 -12
  789. package/test/sap/ui/core/samples/databinding/message/comptree/Component.js +0 -186
  790. package/test/sap/ui/core/samples/databinding/message/comptree/component.json +0 -12
  791. package/test/sap/ui/core/samples/databinding/message/disabled/Component.js +0 -186
  792. package/test/sap/ui/core/samples/databinding/message/disabled/component.json +0 -12
  793. package/test/sap/ui/core/samples/databinding/message/enabled/Component.js +0 -186
  794. package/test/sap/ui/core/samples/databinding/message/enabled/component.json +0 -12
  795. package/test/sap/ui/core/samples/databinding/testdata/ComplexSyntax.js +0 -38
  796. package/test/sap/ui/core/samples/databinding/testdata/complexsyntax.controller.js +0 -26
  797. package/test/sap/ui/core/samples/databinding/testdata/complexsyntax.view.xml +0 -26
  798. package/test/sap/ui/core/samples/databinding/testdata/team.xml +0 -12
  799. package/test/sap/ui/core/samples/databinding/testdata/test.controller.js +0 -39
  800. package/test/sap/ui/core/samples/databinding/testdata/text.properties +0 -5
  801. package/test/sap/ui/core/samples/databinding/testdata/text_de.properties +0 -5
  802. package/test/sap/ui/core/samples/formatting/Component.js +0 -21
  803. package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +0 -96
  804. package/test/sap/ui/core/samples/formatting/controller/Main.controller.js +0 -9
  805. package/test/sap/ui/core/samples/formatting/index.html +0 -28
  806. package/test/sap/ui/core/samples/formatting/manifest.json +0 -68
  807. package/test/sap/ui/core/samples/formatting/model/Customizing.js +0 -35
  808. package/test/sap/ui/core/samples/formatting/model/data.json +0 -17
  809. package/test/sap/ui/core/samples/formatting/types/CustomCurrency.js +0 -14
  810. package/test/sap/ui/core/samples/formatting/types/CustomUnit.js +0 -14
  811. package/test/sap/ui/core/samples/formatting/view/App.view.xml +0 -6
  812. package/test/sap/ui/core/samples/formatting/view/ChooseFormatOptions.view.xml +0 -71
  813. package/test/sap/ui/core/samples/formatting/view/InputFields.fragment.xml +0 -118
  814. package/test/sap/ui/core/samples/formatting/view/Main.view.xml +0 -15
  815. package/test/sap/ui/core/timezones.js +0 -92
  816. package/test/sap/ui/core/timezones.view.xml +0 -23
  817. /package/test/sap/ui/core/qunit/component/testdata/{mixed → mixed_legacyAPIs}/script.js +0 -0
@@ -86,10 +86,6 @@ sap.ui.define([
86
86
  });
87
87
  assert.ok(bCreatedPromisePending, "Created Promise still pending");
88
88
 
89
- assert.throws(function () {
90
- // code under test
91
- oContext.setCreatedPersisted();
92
- }, new Error("Already 'created', currently transient: true"));
93
89
  assert.throws(function () {
94
90
  // code under test
95
91
  oContext.setPersisted();
@@ -101,27 +97,6 @@ sap.ui.define([
101
97
  });
102
98
  });
103
99
 
104
- //*********************************************************************************************
105
- QUnit.test("setCreatedPersisted", function (assert) {
106
- const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/foo", 42);
107
-
108
- // code under test
109
- oContext.setCreatedPersisted();
110
-
111
- assert.strictEqual(oContext.isInactive(), undefined);
112
- assert.strictEqual(oContext.isTransient(), false);
113
- assert.ok(oContext.created() instanceof Promise);
114
-
115
- assert.throws(function () {
116
- // code under test
117
- oContext.setCreatedPersisted();
118
- }, new Error("Already 'created', currently transient: false"));
119
-
120
- return oContext.created().then(function (vResult) {
121
- assert.strictEqual(vResult, undefined);
122
- });
123
- });
124
-
125
100
  //*********************************************************************************************
126
101
  QUnit.test("setPersisted", function (assert) {
127
102
  const oContext
@@ -245,6 +220,16 @@ sap.ui.define([
245
220
  undefined);
246
221
  });
247
222
 
223
+ //*********************************************************************************************
224
+ QUnit.test("getIndex/getModelIndex: return index after destroy", function (assert) {
225
+ const oContext = Context.create(undefined/*oModel*/, undefined/*oBinding*/, "/foo", 42);
226
+
227
+ // code under test
228
+ assert.strictEqual(oContext.getIndex(), 42);
229
+ // code under test
230
+ assert.strictEqual(oContext.getModelIndex(), 42);
231
+ });
232
+
248
233
  //*********************************************************************************************
249
234
  QUnit.test("path must be absolute", function (assert) {
250
235
  assert.throws(function () {
@@ -498,11 +483,10 @@ sap.ui.define([
498
483
  assert.notOk(oContext.mChangeListeners);
499
484
 
500
485
  this.mock(oBinding).expects("fetchValue").never();
501
- this.mock(_Helper).expects("addByPath")
502
- .withExactArgs(sinon.match.object, "", "~listener~")
503
- .callsFake((mChangeListeners) => {
504
- assert.strictEqual(mChangeListeners, oContext.mChangeListeners);
505
- assert.deepEqual(mChangeListeners, {});
486
+ this.mock(_Helper).expects("registerChangeListener")
487
+ .withExactArgs(sinon.match.same(oContext), "", "~listener~")
488
+ .callsFake(() => {
489
+ assert.deepEqual(oContext.mChangeListeners, {});
506
490
  });
507
491
  }
508
492
 
@@ -2187,20 +2171,34 @@ sap.ui.define([
2187
2171
  });
2188
2172
 
2189
2173
  //*********************************************************************************************
2190
- [0, 1, 2, 3].forEach((i) => { // 0: w/ parent, 1: null parent, 2: no parent, 3: no args
2191
- QUnit.test(`move: #${i}`, function (assert) {
2174
+ [undefined, {}, {parent : undefined}, {nextSibling : undefined},
2175
+ {nextSibling : undefined, parent : undefined}].forEach(function (mParameters, i) {
2176
+ QUnit.test("move: no move happens, " + i, async function (assert) {
2177
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2178
+
2179
+ // code under test
2180
+ const oPromise = oContext.move(mParameters);
2181
+
2182
+ assert.ok(oPromise instanceof Promise);
2183
+ assert.strictEqual(await oPromise, undefined);
2184
+ });
2185
+ });
2186
+
2187
+ //*********************************************************************************************
2188
+ [null, Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')", 23)].forEach((oParent) => {
2189
+ [undefined, null, Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('24')", 24)]
2190
+ .forEach((oSibling) => {
2191
+ QUnit.test(`move: parent=${oParent}, nextSibling=${oSibling}`, function (assert) {
2192
2192
  const oBinding = {
2193
2193
  move : mustBeMocked
2194
2194
  };
2195
2195
  const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
2196
+ this.mock(oContext).expects("isAncestorOf")
2197
+ .withExactArgs(sinon.match.same(oParent)).returns(false);
2196
2198
  let bResolved = false;
2197
- this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2198
- this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2199
- this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2200
- this.mock(oContext).expects("isAncestorOf").withExactArgs(i ? null : "~oParent~")
2201
- .returns(false);
2202
2199
  this.mock(oBinding).expects("move")
2203
- .withExactArgs(sinon.match.same(oContext), i ? null : "~oParent~")
2200
+ .withExactArgs(sinon.match.same(oContext), sinon.match.same(oParent),
2201
+ sinon.match.same(oSibling))
2204
2202
  .returns(new SyncPromise(function (resolve) {
2205
2203
  setTimeout(function () {
2206
2204
  bResolved = true;
@@ -2208,47 +2206,28 @@ sap.ui.define([
2208
2206
  }, 0);
2209
2207
  }));
2210
2208
 
2211
- let oPromise;
2212
- switch (i) {
2213
- case 0:
2214
- // code under test
2215
- oPromise = oContext.move({parent : "~oParent~"});
2216
- break;
2217
-
2218
- case 1:
2219
- // code under test
2220
- oPromise = oContext.move({parent : null});
2221
- break;
2222
-
2223
- case 2:
2224
- // code under test
2225
- oPromise = oContext.move({});
2226
- break;
2227
-
2228
- default:
2229
- // code under test
2230
- oPromise = oContext.move();
2231
- }
2209
+ // code under test
2210
+ const oPromise = oContext.move({nextSibling : oSibling, parent : oParent});
2232
2211
 
2233
2212
  assert.ok(oPromise instanceof Promise);
2234
2213
  return oPromise.then(function () {
2235
2214
  assert.ok(bResolved, "not too soon");
2236
2215
  });
2237
2216
  });
2217
+ });
2238
2218
  });
2239
2219
 
2240
2220
  //*********************************************************************************************
2241
2221
  QUnit.test("move: Unsupported parent context", function (assert) {
2242
2222
  const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2243
- this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2244
- this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2245
- this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2246
- this.mock(oContext).expects("isAncestorOf").withExactArgs("~oParent~").returns(true);
2223
+ const oParent = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')", 23);
2224
+ this.mock(oContext).expects("isAncestorOf").withExactArgs(sinon.match.same(oParent))
2225
+ .returns(true);
2247
2226
 
2248
2227
  assert.throws(function () {
2249
2228
  // code under test
2250
- oContext.move({parent : "~oParent~"});
2251
- }, new Error("Unsupported parent context: ~oParent~"));
2229
+ oContext.move({parent : oParent});
2230
+ }, new Error("Unsupported parent context: " + oParent));
2252
2231
  });
2253
2232
 
2254
2233
  //*********************************************************************************************
@@ -2257,15 +2236,15 @@ sap.ui.define([
2257
2236
  move : mustBeMocked
2258
2237
  };
2259
2238
  const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
2260
- this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2261
- this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2262
- this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2263
- this.mock(oContext).expects("isAncestorOf").withExactArgs("~oParent~").returns(false);
2264
- this.mock(oBinding).expects("move").withExactArgs(sinon.match.same(oContext), "~oParent~")
2239
+ const oParent = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')", 23);
2240
+ this.mock(oContext).expects("isAncestorOf").withExactArgs(sinon.match.same(oParent))
2241
+ .returns(false);
2242
+ this.mock(oBinding).expects("move")
2243
+ .withExactArgs(sinon.match.same(oContext), sinon.match.same(oParent), undefined)
2265
2244
  .returns(SyncPromise.reject("~error~"));
2266
2245
 
2267
2246
  // code under test
2268
- const oPromise = oContext.move({parent : "~oParent~"});
2247
+ const oPromise = oContext.move({parent : oParent});
2269
2248
 
2270
2249
  assert.ok(oPromise instanceof Promise);
2271
2250
  return oPromise.then(function () {
@@ -2283,7 +2262,7 @@ sap.ui.define([
2283
2262
 
2284
2263
  assert.throws(function () {
2285
2264
  // code under test
2286
- oContext.move();
2265
+ oContext.move({parent : null});
2287
2266
  }, new Error("Cannot move " + oContext));
2288
2267
  });
2289
2268
 
@@ -2296,7 +2275,7 @@ sap.ui.define([
2296
2275
 
2297
2276
  assert.throws(function () {
2298
2277
  // code under test
2299
- oContext.move();
2278
+ oContext.move({parent : null});
2300
2279
  }, new Error("Cannot move " + oContext));
2301
2280
  });
2302
2281
 
@@ -2309,10 +2288,51 @@ sap.ui.define([
2309
2288
 
2310
2289
  assert.throws(function () {
2311
2290
  // code under test
2312
- oContext.move();
2291
+ oContext.move({parent : null});
2313
2292
  }, new Error("Cannot move " + oContext));
2314
2293
  });
2315
2294
 
2295
+ //*********************************************************************************************
2296
+ QUnit.test("move: Cannot move; parent deleted", function (assert) {
2297
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2298
+ const oParent = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')", 23);
2299
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2300
+ this.mock(oParent).expects("isDeleted").withExactArgs().atLeast(1).returns(true);
2301
+
2302
+ assert.throws(function () {
2303
+ // code under test
2304
+ oContext.move({parent : oParent});
2305
+ }, new Error("Cannot move to " + oParent));
2306
+ });
2307
+
2308
+ //*********************************************************************************************
2309
+ QUnit.test("move: Cannot move; parent transient", function (assert) {
2310
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2311
+ const oParent = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')", 23);
2312
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2313
+ this.mock(oParent).expects("isDeleted").withExactArgs().atLeast(1).returns(false);
2314
+ this.mock(oParent).expects("isTransient").withExactArgs().atLeast(1).returns(true);
2315
+
2316
+ assert.throws(function () {
2317
+ // code under test
2318
+ oContext.move({parent : oParent});
2319
+ }, new Error("Cannot move to " + oParent));
2320
+ });
2321
+
2322
+ //*********************************************************************************************
2323
+ QUnit.test("move: Cannot move; parent outside collection", function (assert) {
2324
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2325
+ const oParent = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('23')");
2326
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2327
+ this.mock(oParent).expects("isDeleted").withExactArgs().atLeast(1).returns(false);
2328
+ this.mock(oParent).expects("isTransient").withExactArgs().atLeast(1).returns(false);
2329
+
2330
+ assert.throws(function () {
2331
+ // code under test
2332
+ oContext.move({parent : oParent});
2333
+ }, new Error("Cannot move to " + oParent));
2334
+ });
2335
+
2316
2336
  //*********************************************************************************************
2317
2337
  QUnit.test("patch", function (assert) {
2318
2338
  var oCache = {
@@ -4570,32 +4590,41 @@ sap.ui.define([
4570
4590
  });
4571
4591
 
4572
4592
  //*********************************************************************************************
4573
- [false, true].forEach(function (bHasChangeListeners) {
4574
- QUnit.test("setSelected: with change listeners=" + bHasChangeListeners, function () {
4575
- const oCache = {setProperty : mustBeMocked};
4576
- const oBinding = {getHeaderContext : "~function~", _getAllExistingContexts : mustBeMocked};
4593
+ [false, true].forEach(function (bIsHeaderContext) {
4594
+ [false, true].forEach(function (bHasChangeListeners) {
4595
+ if (!bIsHeaderContext && bHasChangeListeners) {
4596
+ return; // unrealistic
4597
+ }
4598
+ const sTitle = `setSelected: is header context=${bIsHeaderContext},
4599
+ with change listeners=${bHasChangeListeners}`;
4600
+
4601
+ QUnit.test(sTitle, function () {
4602
+ const oBinding = {getHeaderContext : mustBeMocked, _getAllExistingContexts : mustBeMocked};
4577
4603
  // Note: oBinding is optional, it might already be missing in certain cases!
4578
4604
  const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
4579
- const aRowContexts = [
4580
- {setSelected : mustBeMocked},
4581
- {setSelected : mustBeMocked}
4582
- ];
4583
4605
 
4584
4606
  if (bHasChangeListeners) {
4585
4607
  oContext.mChangeListeners = "~mChangeListeners~";
4608
+ }
4609
+ this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
4610
+ this.mock(oBinding).expects("getHeaderContext").returns(bIsHeaderContext ? oContext : null);
4611
+ if (bIsHeaderContext) {
4612
+ const aRowContexts = [
4613
+ {setSelected : mustBeMocked},
4614
+ {setSelected : mustBeMocked}
4615
+ ];
4586
4616
  this.mock(oBinding).expects("_getAllExistingContexts").withExactArgs()
4587
4617
  .returns(aRowContexts);
4588
4618
  aRowContexts.forEach((oRowContext) => {
4589
4619
  this.mock(oRowContext).expects("setSelected").withExactArgs("~selected~");
4590
4620
  });
4591
4621
  }
4592
-
4593
- this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
4594
4622
  this.mock(_Helper).expects("fireChange").exactly(bHasChangeListeners ? 1 : 0)
4595
4623
  .withExactArgs("~mChangeListeners~", "", "~selected~");
4596
4624
  this.mock(oContext).expects("withCache")
4597
4625
  .withExactArgs(sinon.match.func, "")
4598
4626
  .callsFake((fnProcessor) => {
4627
+ const oCache = {setProperty : mustBeMocked};
4599
4628
  this.mock(oCache).expects("setProperty")
4600
4629
  .withExactArgs("@$ui5.context.isSelected", "~selected~", "~sPath~");
4601
4630
 
@@ -4606,35 +4635,59 @@ sap.ui.define([
4606
4635
  // code under test
4607
4636
  oContext.setSelected("~selected~");
4608
4637
  });
4638
+ });
4609
4639
  });
4610
4640
 
4611
4641
  //*********************************************************************************************
4612
- QUnit.test("setSelected: special cases", function () {
4642
+ QUnit.test("setSelected: binding destroyed", function () {
4613
4643
  const oBinding = {
4614
- getHeaderContext : function () {}
4644
+ getHeaderContext : mustBeMocked
4615
4645
  };
4616
- const oCache = {};
4617
4646
  const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
4618
- const oContextMock = this.mock(oContext);
4619
4647
 
4620
- oContextMock.expects("isDeleted").withExactArgs().returns(false);
4621
- oContextMock.expects("withCache")
4648
+ this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
4649
+ this.mock(oBinding).expects("getHeaderContext").returns(undefined);
4650
+ this.mock(oContext).expects("withCache")
4622
4651
  .withExactArgs(sinon.match.func, "")
4623
4652
  .callsFake((fnProcessor) => {
4624
4653
  oContext.oBinding = undefined;
4625
4654
 
4626
- return fnProcessor(oCache, "~sPath~");
4655
+ return fnProcessor({}, "~sPath~");
4627
4656
  });
4628
- oContextMock.expects("doSetSelected").withExactArgs(true);
4657
+ this.mock(oContext).expects("doSetSelected").withExactArgs(true);
4629
4658
 
4630
4659
  // code under test - binding destroyed
4631
4660
  oContext.setSelected(true);
4661
+ });
4662
+
4663
+ //*********************************************************************************************
4664
+ QUnit.test("setSelected: flag already set", function () {
4665
+ const oBinding = {
4666
+ getHeaderContext : mustBeMocked,
4667
+ onKeepAliveChanged : mustBeMocked
4668
+ };
4669
+ const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
4632
4670
 
4633
- // no additional calls to withCache
4634
- oContextMock.expects("doSetSelected").withExactArgs(false);
4671
+ oContext.mChangeListeners = "~mChangeListeners~";
4672
+ this.mock(oContext).expects("isDeleted").twice().withExactArgs().returns(false);
4673
+ this.mock(oBinding).expects("getHeaderContext").twice().returns(undefined);
4674
+ this.mock(_Helper).expects("fireChange").withExactArgs("~mChangeListeners~", "", true);
4675
+ this.mock(oContext).expects("withCache")
4676
+ .withExactArgs(sinon.match.func, "")
4677
+ .callsFake((fnProcessor) => {
4678
+ const oCache = {setProperty : mustBeMocked};
4679
+ this.mock(oCache).expects("setProperty")
4680
+ .withExactArgs("@$ui5.context.isSelected", true, "~sPath~");
4635
4681
 
4636
- // code under test - flag unchanged
4637
- oContext.setSelected(false);
4682
+ return fnProcessor(oCache, "~sPath~");
4683
+ });
4684
+ this.mock(oBinding).expects("onKeepAliveChanged").twice().withExactArgs(oContext);
4685
+
4686
+ // code under test
4687
+ oContext.setSelected(true);
4688
+
4689
+ // code under test
4690
+ oContext.setSelected(true);
4638
4691
  });
4639
4692
 
4640
4693
  //*********************************************************************************************
@@ -4911,32 +4964,6 @@ sap.ui.define([
4911
4964
  }, "~oError~");
4912
4965
  });
4913
4966
 
4914
- //*********************************************************************************************
4915
- QUnit.test("deregisterChangeListener", function (assert) {
4916
- const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/path");
4917
- let oListener = {
4918
- getPath : () => "foo"
4919
- };
4920
-
4921
- // code under test
4922
- assert.strictEqual(oContext.deregisterChangeListener(), false, "no mChangeListeners");
4923
-
4924
- oContext.mChangeListeners = {};
4925
-
4926
- // code under test
4927
- assert.strictEqual(oContext.deregisterChangeListener(oListener), false, "wrong path");
4928
-
4929
- oListener = {
4930
- getPath : () => "@$ui5.context.isSelected"
4931
- };
4932
- this.mock(_Helper).expects("removeByPath")
4933
- .withExactArgs(sinon.match.same(oContext.mChangeListeners), "",
4934
- sinon.match.same(oListener));
4935
-
4936
- // code under test
4937
- assert.strictEqual(oContext.deregisterChangeListener(oListener), true);
4938
- });
4939
-
4940
4967
  //*********************************************************************************************
4941
4968
  [0, 1].forEach(function (iFailureIndex) {
4942
4969
  QUnit.test("updateAfterCreate, fail=" + iFailureIndex, function () {
@@ -81,6 +81,8 @@ sap.ui.define([
81
81
  assert.strictEqual(oBinding.oCachePromise.getResult(), null);
82
82
  assert.ok(oBinding.hasOwnProperty("mCacheQueryOptions"));
83
83
  assert.strictEqual(oBinding.mCacheQueryOptions, undefined);
84
+ assert.ok(oBinding.hasOwnProperty("fnDeregisterChangeListener"));
85
+ assert.strictEqual(oBinding.fnDeregisterChangeListener, undefined);
84
86
  assert.ok(oBinding.hasOwnProperty("oFetchCacheCallToken"));
85
87
  assert.strictEqual(oBinding.oFetchCacheCallToken, undefined);
86
88
  assert.ok(oBinding.hasOwnProperty("mLateQueryOptions"));
@@ -95,7 +97,6 @@ sap.ui.define([
95
97
  QUnit.test("destroy", function (assert) {
96
98
  var oBinding = new ODataBinding(),
97
99
  oCache = {
98
- deregisterChangeListener : function () {},
99
100
  setActive : function () {}
100
101
  },
101
102
  // we might become asynchronous due to auto $expand/$select reading $metadata
@@ -107,8 +108,7 @@ sap.ui.define([
107
108
  oBinding.mCacheQueryOptions = {};
108
109
  oBinding.oContext = {}; // @see sap.ui.model.Binding's c'tor
109
110
  oBinding.oFetchCacheCallToken = {};
110
- this.mock(oCache).expects("deregisterChangeListener")
111
- .withExactArgs("", sinon.match.same(oBinding));
111
+ this.mock(oBinding).expects("deregisterChangeListener").withExactArgs();
112
112
  this.mock(oCache).expects("setActive").withExactArgs(false);
113
113
 
114
114
  // code under test
@@ -1717,7 +1717,6 @@ sap.ui.define([
1717
1717
  },
1718
1718
  mMergedQueryOptions = {},
1719
1719
  oOldCache = {
1720
- deregisterChangeListener : function () {},
1721
1720
  setActive : function () {},
1722
1721
  setLateQueryOptions : function () {}
1723
1722
  },
@@ -1732,8 +1731,8 @@ sap.ui.define([
1732
1731
  .withExactArgs("/resource/path", sinon.match.same(mMergedQueryOptions), undefined,
1733
1732
  undefined, "~sGroupId~", sinon.match.same(oOldCache))
1734
1733
  .returns(oNewCache);
1735
- this.mock(oOldCache).expects("deregisterChangeListener").exactly(bOldCacheIsReused ? 0 : 1)
1736
- .withExactArgs("", sinon.match.same(oBinding));
1734
+ this.mock(oBinding).expects("deregisterChangeListener").exactly(bOldCacheIsReused ? 0 : 1)
1735
+ .withExactArgs();
1737
1736
  this.mock(oOldCache).expects("setActive").exactly(bOldCacheIsReused ? 0 : 1)
1738
1737
  .withExactArgs(false);
1739
1738
  this.mock(oOldCache).expects("setLateQueryOptions")
@@ -1783,7 +1782,6 @@ sap.ui.define([
1783
1782
  oContext = {},
1784
1783
  mMergedQueryOptions = {},
1785
1784
  oOldCache = {
1786
- deregisterChangeListener : function () {},
1787
1785
  setActive : function () {}
1788
1786
  },
1789
1787
  mQueryOptions = {},
@@ -1814,8 +1812,7 @@ sap.ui.define([
1814
1812
  .returns(oCache);
1815
1813
  this.mock(oCache).expects("setLateQueryOptions").exactly(bHasLateQueryOptions ? 1 : 0)
1816
1814
  .withExactArgs(sinon.match.same(mLateQueryOptions));
1817
- this.mock(oOldCache).expects("deregisterChangeListener")
1818
- .withExactArgs("", sinon.match.same(oBinding));
1815
+ this.mock(oBinding).expects("deregisterChangeListener").withExactArgs();
1819
1816
  this.mock(oOldCache).expects("setActive").withExactArgs(false);
1820
1817
 
1821
1818
  assert.strictEqual(
@@ -1910,7 +1907,6 @@ sap.ui.define([
1910
1907
  },
1911
1908
  mMergedQueryOptions = {},
1912
1909
  oOldCache = {
1913
- deregisterChangeListener : function () {},
1914
1910
  setActive : function () {}
1915
1911
  },
1916
1912
  mQueryOptions = {};
@@ -1929,8 +1925,7 @@ sap.ui.define([
1929
1925
  sinon.match.same(oContext), "deep/resource/path", "~sGroupId~",
1930
1926
  sinon.match.same(oOldCache))
1931
1927
  .returns(oCache1);
1932
- this.mock(oOldCache).expects("deregisterChangeListener")
1933
- .withExactArgs("", sinon.match.same(oBinding));
1928
+ this.mock(oBinding).expects("deregisterChangeListener").withExactArgs();
1934
1929
  this.mock(oOldCache).expects("setActive").withExactArgs(false);
1935
1930
 
1936
1931
  assert.strictEqual(
@@ -2629,7 +2624,11 @@ sap.ui.define([
2629
2624
 
2630
2625
  //*********************************************************************************************
2631
2626
  [
2632
- "$$canonicalPath", "$$noPatch", "$$ownRequest", "$$patchWithoutSideEffects"
2627
+ "$$canonicalPath",
2628
+ "$$clearSelectionOnFilter",
2629
+ "$$noPatch",
2630
+ "$$ownRequest",
2631
+ "$$patchWithoutSideEffects"
2633
2632
  ].forEach(function (sName) {
2634
2633
  QUnit.test("checkBindingParameters, " + sName, function (assert) {
2635
2634
  var aAllowedParameters = [sName],
@@ -3068,70 +3067,23 @@ sap.ui.define([
3068
3067
  });
3069
3068
 
3070
3069
  //*********************************************************************************************
3071
- ["", "relative/path"].forEach(function (sRelativePath) {
3072
- QUnit.test(`doDeregisterChangeListener: matching cache, path=${sRelativePath}`, function () {
3073
- const oCache = {
3074
- deregisterChangeListener : mustBeMocked
3075
- };
3076
- const oBinding = new ODataBinding({
3077
- oCachePromise : SyncPromise.resolve(oCache)
3078
- });
3079
-
3080
- this.mock(oBinding).expects("getResolvedPath").withExactArgs().returns("/resolved/path");
3081
- this.mock(_Helper).expects("getRelativePath")
3082
- .withExactArgs("/absolute/path", "/resolved/path").returns(sRelativePath);
3083
- this.mock(oCache).expects("deregisterChangeListener")
3084
- .withExactArgs(sRelativePath, "~oListener~");
3070
+ QUnit.test("deregisterChangeListener", function (assert) {
3071
+ const oBinding = new ODataBinding();
3072
+ const fnDeregisterChangeListener = sinon.spy();
3085
3073
 
3086
3074
  // code under test
3087
- oBinding.doDeregisterChangeListener("/absolute/path", "~oListener~");
3088
- });
3089
- });
3075
+ oBinding.setDeregisterChangeListener(fnDeregisterChangeListener);
3090
3076
 
3091
- //*********************************************************************************************
3092
- [false, true].forEach(function (bCache) {
3093
- QUnit.test(`doDeregisterChangeListener: no ${bCache ? "matching " : ""} cache`, function () {
3094
- const oBinding = new ODataBinding({
3095
- oCachePromise : SyncPromise.resolve(bCache ? {} : null),
3096
- oContext : {
3097
- getBinding : mustBeMocked
3098
- },
3099
- bRelative : true
3100
- });
3101
- const oParentBinding = {
3102
- doDeregisterChangeListener : mustBeMocked
3103
- };
3104
-
3105
- this.mock(oBinding).expects("getResolvedPath").exactly(bCache ? 1 : 0)
3106
- .withExactArgs().returns("/resolved/path");
3107
- this.mock(_Helper).expects("getRelativePath").exactly(bCache ? 1 : 0)
3108
- .withExactArgs("/absolute/path", "/resolved/path").returns(undefined);
3109
- this.mock(oBinding.oContext).expects("getBinding").withExactArgs().returns(oParentBinding);
3110
- this.mock(oParentBinding).expects("doDeregisterChangeListener")
3111
- .withExactArgs("/absolute/path", "~oListener~");
3077
+ assert.strictEqual(oBinding.fnDeregisterChangeListener, fnDeregisterChangeListener);
3112
3078
 
3113
3079
  // code under test
3114
- oBinding.doDeregisterChangeListener("/absolute/path", "~oListener~");
3115
- });
3116
- });
3117
-
3118
- //*********************************************************************************************
3119
- QUnit.test("doDeregisterChangeListener: no cache and no valid context", function () {
3120
- const oBinding = new ODataBinding();
3080
+ oBinding.deregisterChangeListener();
3121
3081
 
3122
- // code under test - unresolved
3123
- oBinding.doDeregisterChangeListener();
3082
+ assert.ok(fnDeregisterChangeListener.calledOnceWithExactly());
3083
+ assert.strictEqual(oBinding.fnDeregisterChangeListener, undefined);
3124
3084
 
3125
- oBinding.oContext = {getBinding : "do not call"};
3126
-
3127
- // code under test - absolute with context
3128
- oBinding.doDeregisterChangeListener();
3129
-
3130
- oBinding.bRelative = true;
3131
- oBinding.oContext = {};
3132
-
3133
- // code under test - base context
3134
- oBinding.doDeregisterChangeListener();
3085
+ // code under test
3086
+ oBinding.deregisterChangeListener();
3135
3087
  });
3136
3088
 
3137
3089
  //*********************************************************************************************
@@ -3141,7 +3093,6 @@ sap.ui.define([
3141
3093
  [
3142
3094
  "adjustPredicate",
3143
3095
  "destroy",
3144
- "doDeregisterChangeListener",
3145
3096
  "hasPendingChangesForPath"
3146
3097
  ].forEach(function (sMethod) {
3147
3098
  assert.strictEqual(asODataBinding.prototype[sMethod], oBinding[sMethod]);