@openui5/sap.ui.core 1.117.1 → 1.118.0

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 (831) 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/i18n/LanguageTag.js +1 -1
  11. package/src/sap/base/i18n/Localization.js +42 -39
  12. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  13. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  14. package/src/sap/base/util/restricted/_castArray.js +1 -1
  15. package/src/sap/base/util/restricted/_compact.js +1 -1
  16. package/src/sap/base/util/restricted/_curry.js +1 -1
  17. package/src/sap/base/util/restricted/_debounce.js +1 -1
  18. package/src/sap/base/util/restricted/_difference.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_flatten.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_intersection.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isNil.js +1 -1
  33. package/src/sap/base/util/restricted/_max.js +1 -1
  34. package/src/sap/base/util/restricted/_merge.js +1 -1
  35. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  36. package/src/sap/base/util/restricted/_min.js +1 -1
  37. package/src/sap/base/util/restricted/_omit.js +1 -1
  38. package/src/sap/base/util/restricted/_pick.js +1 -1
  39. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  40. package/src/sap/base/util/restricted/_throttle.js +1 -1
  41. package/src/sap/base/util/restricted/_toArray.js +1 -1
  42. package/src/sap/base/util/restricted/_union.js +1 -1
  43. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  44. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  45. package/src/sap/base/util/restricted/_uniq.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  48. package/src/sap/base/util/restricted/_without.js +1 -1
  49. package/src/sap/base/util/restricted/_xor.js +1 -1
  50. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  51. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  54. package/src/sap/ui/Device.js +3 -3
  55. package/src/sap/ui/Global.js +4 -4
  56. package/src/sap/ui/base/BindingParser.js +2 -1
  57. package/src/sap/ui/base/Event.js +1 -1
  58. package/src/sap/ui/base/EventProvider.js +1 -1
  59. package/src/sap/ui/base/Interface.js +1 -1
  60. package/src/sap/ui/base/ManagedObject.js +7 -3
  61. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  62. package/src/sap/ui/base/Metadata.js +1 -1
  63. package/src/sap/ui/base/Object.js +1 -1
  64. package/src/sap/ui/base/ObjectPool.js +1 -1
  65. package/src/sap/ui/core/.library +9 -1
  66. package/src/sap/ui/core/AnimationMode.js +1 -1
  67. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  68. package/src/sap/ui/core/BusyIndicator.js +2 -2
  69. package/src/sap/ui/core/Component.js +22 -15
  70. package/src/sap/ui/core/ComponentContainer.js +2 -2
  71. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +1 -13
  74. package/src/sap/ui/core/Control.js +21 -1
  75. package/src/sap/ui/core/Core.js +67 -41
  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 +1 -1
  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/Fragment.js +1 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/History.js +1 -1
  85. package/src/sap/ui/core/Icon.js +2 -2
  86. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  87. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  88. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  89. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  90. package/src/sap/ui/core/InvisibleText.js +3 -6
  91. package/src/sap/ui/core/Item.js +1 -1
  92. package/src/sap/ui/core/LabelEnablement.js +1 -1
  93. package/src/sap/ui/core/LayoutData.js +1 -1
  94. package/src/sap/ui/core/Lib.js +9 -13
  95. package/src/sap/ui/core/ListItem.js +1 -1
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +2 -2
  99. package/src/sap/ui/core/Manifest.js +1 -1
  100. package/src/sap/ui/core/Message.js +1 -1
  101. package/src/sap/ui/core/Messaging.js +472 -0
  102. package/src/sap/ui/core/RenderManager.js +1 -1
  103. package/src/sap/ui/core/Renderer.js +1 -1
  104. package/src/sap/ui/core/Rendering.js +3 -2
  105. package/src/sap/ui/core/ResizeHandler.js +1 -4
  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/ShortcutHint.js +1 -1
  109. package/src/sap/ui/core/Theming.js +28 -31
  110. package/src/sap/ui/core/Title.js +1 -1
  111. package/src/sap/ui/core/TooltipBase.js +1 -1
  112. package/src/sap/ui/core/UIArea.js +85 -17
  113. package/src/sap/ui/core/UIComponent.js +1 -1
  114. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  115. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  116. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  117. package/src/sap/ui/core/XMLComposite.js +1 -1
  118. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  119. package/src/sap/ui/core/_IconRegistry.js +1 -1
  120. package/src/sap/ui/core/boot.js +9 -0
  121. package/src/sap/ui/core/date/UI5Date.js +1 -1
  122. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  123. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  124. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  125. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  126. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  127. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  128. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  129. package/src/sap/ui/core/format/DateFormat.js +4 -0
  130. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  131. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  132. package/src/sap/ui/core/library.js +18 -47
  133. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  134. package/src/sap/ui/core/message/Message.js +1 -1
  135. package/src/sap/ui/core/message/MessageManager.js +37 -459
  136. package/src/sap/ui/core/message/MessageMixin.js +3 -3
  137. package/src/sap/ui/core/message/MessageParser.js +1 -1
  138. package/src/sap/ui/core/message/MessageProcessor.js +9 -9
  139. package/src/sap/ui/core/message/MessageType.js +53 -0
  140. package/src/sap/ui/core/messagebundle.properties +3 -0
  141. package/src/sap/ui/core/messagebundle_ar.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_bg.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_ca.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_cs.properties +1 -1
  145. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  146. package/src/sap/ui/core/messagebundle_da.properties +1 -1
  147. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  148. package/src/sap/ui/core/messagebundle_el.properties +1 -1
  149. package/src/sap/ui/core/messagebundle_es.properties +1 -1
  150. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_et.properties +1 -1
  152. package/src/sap/ui/core/messagebundle_fi.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  154. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -1
  155. package/src/sap/ui/core/messagebundle_hi.properties +1 -1
  156. package/src/sap/ui/core/messagebundle_hr.properties +1 -1
  157. package/src/sap/ui/core/messagebundle_hu.properties +1 -1
  158. package/src/sap/ui/core/messagebundle_id.properties +1 -1
  159. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  160. package/src/sap/ui/core/messagebundle_iw.properties +1 -1
  161. package/src/sap/ui/core/messagebundle_ja.properties +1 -1
  162. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  163. package/src/sap/ui/core/messagebundle_ko.properties +1 -1
  164. package/src/sap/ui/core/messagebundle_lt.properties +1 -1
  165. package/src/sap/ui/core/messagebundle_lv.properties +1 -1
  166. package/src/sap/ui/core/messagebundle_ms.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_nl.properties +1 -1
  168. package/src/sap/ui/core/messagebundle_no.properties +1 -1
  169. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  170. package/src/sap/ui/core/messagebundle_pt.properties +1 -1
  171. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
  172. package/src/sap/ui/core/messagebundle_ro.properties +1 -1
  173. package/src/sap/ui/core/messagebundle_ru.properties +1 -1
  174. package/src/sap/ui/core/messagebundle_sh.properties +1 -1
  175. package/src/sap/ui/core/messagebundle_sk.properties +1 -1
  176. package/src/sap/ui/core/messagebundle_sl.properties +1 -1
  177. package/src/sap/ui/core/messagebundle_sv.properties +9 -9
  178. package/src/sap/ui/core/messagebundle_th.properties +1 -1
  179. package/src/sap/ui/core/messagebundle_tr.properties +1 -1
  180. package/src/sap/ui/core/messagebundle_uk.properties +1 -1
  181. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  182. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -1
  183. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -1
  184. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  185. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  186. package/src/sap/ui/core/mvc/JSView.js +1 -1
  187. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  188. package/src/sap/ui/core/mvc/View.js +1 -1
  189. package/src/sap/ui/core/mvc/XMLView.js +9 -2
  190. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  191. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  192. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  193. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  194. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  195. package/src/sap/ui/core/routing/Router.js +7 -1
  196. package/src/sap/ui/core/routing/async/Route.js +1 -0
  197. package/src/sap/ui/core/routing/sync/Route.js +1 -0
  198. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  199. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  200. package/src/sap/ui/core/service/Service.js +1 -1
  201. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  202. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  203. package/src/sap/ui/core/support/Plugin.js +25 -5
  204. package/src/sap/ui/core/support/Support.js +34 -4
  205. package/src/sap/ui/core/support/ToolsAPI.js +6 -16
  206. package/src/sap/ui/core/support/controls/InteractionTree.js +0 -4
  207. package/src/sap/ui/core/support/plugins/Breakpoint.js +0 -2
  208. package/src/sap/ui/core/support/plugins/ControlTree.js +10 -12
  209. package/src/sap/ui/core/support/plugins/Debugging.js +10 -9
  210. package/src/sap/ui/core/support/plugins/Interaction.js +12 -13
  211. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -3
  212. package/src/sap/ui/core/support/plugins/Performance.js +1 -3
  213. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  214. package/src/sap/ui/core/support/plugins/TechInfo.js +32 -42
  215. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  216. package/src/sap/ui/core/support/plugins/ViewInfo.js +27 -13
  217. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
  218. package/src/sap/ui/core/theming/ThemeHelper.js +100 -0
  219. package/src/sap/ui/core/theming/ThemeManager.js +18 -18
  220. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  221. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  222. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  223. package/src/sap/ui/core/tmpl/Template.js +1 -1
  224. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  225. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  226. package/src/sap/ui/core/util/Export.js +1 -1
  227. package/src/sap/ui/core/util/ExportCell.js +1 -1
  228. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  229. package/src/sap/ui/core/util/ExportRow.js +1 -1
  230. package/src/sap/ui/core/util/ExportType.js +1 -1
  231. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  232. package/src/sap/ui/core/util/File.js +1 -1
  233. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  234. package/src/sap/ui/core/util/MockServer.js +1 -1
  235. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  236. package/src/sap/ui/core/util/XMLPreprocessor.js +53 -29
  237. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  238. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  239. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  240. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  241. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  242. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  243. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  244. package/src/sap/ui/core/webc/WebComponent.js +659 -0
  245. package/src/sap/ui/core/webc/WebComponentMetadata.js +253 -0
  246. package/src/sap/ui/core/webc/WebComponentRenderer.js +323 -0
  247. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  248. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  249. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  250. package/src/sap/ui/debug/ControlTree.js +4 -3
  251. package/src/sap/ui/debug/DebugEnv.js +4 -4
  252. package/src/sap/ui/debug/PropertyList.js +1 -1
  253. package/src/sap/ui/model/Binding.js +6 -6
  254. package/src/sap/ui/model/ClientModel.js +1 -1
  255. package/src/sap/ui/model/ClientPropertyBinding.js +3 -3
  256. package/src/sap/ui/model/CompositeDataState.js +1 -1
  257. package/src/sap/ui/model/CompositeType.js +1 -1
  258. package/src/sap/ui/model/Context.js +1 -1
  259. package/src/sap/ui/model/DataState.js +1 -1
  260. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
  261. package/src/sap/ui/model/MetaModel.js +1 -1
  262. package/src/sap/ui/model/Model.js +4 -4
  263. package/src/sap/ui/model/SelectionModel.js +1 -1
  264. package/src/sap/ui/model/SimpleType.js +1 -1
  265. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  266. package/src/sap/ui/model/Type.js +1 -1
  267. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +27 -13
  268. package/src/sap/ui/model/json/JSONModel.js +1 -1
  269. package/src/sap/ui/model/message/MessageModel.js +1 -1
  270. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  271. package/src/sap/ui/model/odata/ODataListBinding.js +24 -0
  272. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
  273. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  274. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  275. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  276. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +6 -0
  277. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  278. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  279. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  280. package/src/sap/ui/model/odata/type/Date.js +1 -1
  281. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  282. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  283. package/src/sap/ui/model/odata/type/DateTimeOffset.js +7 -2
  284. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  285. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  286. package/src/sap/ui/model/odata/type/Double.js +1 -1
  287. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  288. package/src/sap/ui/model/odata/type/Int.js +1 -1
  289. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  290. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  291. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  292. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  293. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  294. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  295. package/src/sap/ui/model/odata/type/Single.js +1 -1
  296. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  297. package/src/sap/ui/model/odata/type/String.js +1 -1
  298. package/src/sap/ui/model/odata/type/Time.js +1 -1
  299. package/src/sap/ui/model/odata/type/TimeOfDay.js +6 -2
  300. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  301. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  302. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  303. package/src/sap/ui/model/odata/v2/ODataListBinding.js +23 -3
  304. package/src/sap/ui/model/odata/v2/ODataModel.js +6 -6
  305. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -6
  306. package/src/sap/ui/model/odata/v4/Context.js +26 -16
  307. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -2
  308. package/src/sap/ui/model/odata/v4/ODataListBinding.js +62 -29
  309. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  310. package/src/sap/ui/model/odata/v4/ODataModel.js +17 -10
  311. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -1
  312. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +129 -6
  313. package/src/sap/ui/model/odata/v4/lib/_Cache.js +102 -57
  314. package/src/sap/ui/model/odata/v4/lib/_Helper.js +30 -4
  315. package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -0
  316. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +14 -4
  317. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +28 -35
  318. package/src/sap/ui/model/odata/v4/ts.js +44 -0
  319. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  320. package/src/sap/ui/model/type/Boolean.js +1 -1
  321. package/src/sap/ui/model/type/Currency.js +1 -1
  322. package/src/sap/ui/model/type/Date.js +1 -1
  323. package/src/sap/ui/model/type/DateInterval.js +5 -4
  324. package/src/sap/ui/model/type/DateTime.js +1 -1
  325. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  326. package/src/sap/ui/model/type/FileSize.js +1 -1
  327. package/src/sap/ui/model/type/Float.js +1 -1
  328. package/src/sap/ui/model/type/Integer.js +1 -1
  329. package/src/sap/ui/model/type/String.js +1 -1
  330. package/src/sap/ui/model/type/Time.js +1 -1
  331. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  332. package/src/sap/ui/model/type/Unit.js +1 -1
  333. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  334. package/src/sap/ui/performance/trace/Interaction.js +11 -2
  335. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  336. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +10 -11
  337. package/src/sap/ui/qunit/utils/nextUIUpdate.js +51 -0
  338. package/src/sap/ui/test/ModuleTracking.js +326 -0
  339. package/src/sap/ui/test/TestUtils.js +7 -6
  340. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +3 -2
  341. package/src/sap/ui/test/generic/TestBase.js +1 -1
  342. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +2 -0
  343. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -0
  344. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -0
  345. package/src/sap/ui/util/Storage.js +1 -1
  346. package/src/ui5loader-autoconfig.js +14 -10
  347. package/test/sap/ui/core/ComponentCleanup.html +228 -225
  348. package/test/sap/ui/core/ComponentConfig.html +1 -1
  349. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
  350. package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
  351. package/test/sap/ui/core/ComponentSimple.html +1 -1
  352. package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
  353. package/test/sap/ui/core/ComponentSupport.html +1 -1
  354. package/test/sap/ui/core/DateFormat.js +3 -3
  355. package/test/sap/ui/core/EventBroadcaster.html +62 -62
  356. package/test/sap/ui/core/Formats.html +4 -2
  357. package/test/sap/ui/core/GenericEventBinding.html +53 -52
  358. package/test/sap/ui/core/ListFormat.js +3 -3
  359. package/test/sap/ui/core/NumberFormat.js +3 -3
  360. package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
  361. package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
  362. package/test/sap/ui/core/ODataV2Messages.html +4 -3
  363. package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
  364. package/test/sap/ui/core/Strings.js +3 -3
  365. package/test/sap/ui/core/ValidateURL.html +143 -143
  366. package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
  367. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
  368. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
  369. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
  370. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
  371. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
  372. package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
  373. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
  374. package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
  375. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
  376. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
  377. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
  378. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
  379. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
  380. package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
  381. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
  382. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
  383. package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
  384. package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
  385. package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
  386. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
  387. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
  388. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
  389. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +12 -10
  390. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
  391. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +10 -9
  392. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
  393. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
  394. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
  395. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +10 -9
  396. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
  397. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
  398. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +85 -0
  399. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
  400. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
  401. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
  402. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
  403. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
  404. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +9 -8
  405. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
  406. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
  407. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
  408. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +12 -11
  409. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
  410. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +11 -10
  411. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
  412. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
  413. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -14
  414. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
  415. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -287
  416. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
  417. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +23 -22
  419. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
  420. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
  421. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
  422. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
  423. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
  424. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
  425. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
  426. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
  427. package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
  428. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
  429. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
  430. package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
  431. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
  432. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
  433. package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
  434. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
  435. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
  436. package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
  437. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
  438. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
  439. package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
  440. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
  441. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
  442. package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
  443. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
  444. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
  445. package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
  446. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
  447. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
  448. package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
  449. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
  450. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
  451. package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
  452. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
  453. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
  454. package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
  455. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
  456. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
  457. package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
  458. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
  459. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
  460. package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
  461. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
  462. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
  463. package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
  464. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
  465. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
  466. package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
  467. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
  468. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
  469. package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
  470. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
  471. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
  472. package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
  473. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
  474. package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
  475. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
  476. package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
  477. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
  478. package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
  479. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
  480. package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
  481. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
  482. package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
  484. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
  485. package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
  487. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
  488. package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
  489. package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
  490. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
  491. package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
  492. package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
  493. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
  494. package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
  495. package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
  496. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
  497. package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
  498. package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
  499. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
  500. package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
  501. package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
  502. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
  503. package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
  504. package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
  505. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
  506. package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
  507. package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
  508. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
  509. package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
  510. package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
  511. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
  512. package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
  513. package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
  514. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
  515. package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
  516. package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
  517. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
  518. package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
  519. package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
  520. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
  521. package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
  522. package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
  523. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
  524. package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
  525. package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
  526. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
  527. package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
  528. package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
  529. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
  530. package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
  531. package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
  532. package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
  533. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
  534. package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
  535. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
  536. package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
  537. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
  538. package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
  539. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
  540. package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
  541. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
  564. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
  565. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
  566. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
  567. package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
  568. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
  569. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
  570. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
  571. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
  572. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
  573. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
  574. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
  575. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
  576. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
  577. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
  578. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +3 -3
  579. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
  580. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
  581. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
  582. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
  583. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
  584. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
  585. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
  586. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
  587. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
  588. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
  589. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
  590. package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
  591. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +11 -10
  592. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
  593. package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
  594. package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
  595. package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
  596. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
  597. package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
  598. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
  599. package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
  600. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
  601. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
  602. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
  603. package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
  604. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
  605. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
  606. package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
  607. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
  608. package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
  609. package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
  610. package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
  611. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
  612. package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
  613. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
  614. package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
  615. package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
  616. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
  617. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
  618. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +6 -5
  619. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
  620. package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
  621. package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
  622. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +4 -3
  623. package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
  624. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
  625. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
  626. package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
  627. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
  628. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
  629. package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
  630. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
  631. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
  632. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
  633. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
  634. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
  635. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
  636. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +12 -14
  637. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  638. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
  639. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
  640. package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
  641. package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
  642. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
  643. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
  644. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
  645. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
  646. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
  647. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
  648. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
  649. package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
  650. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +19 -19
  651. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
  652. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
  653. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
  654. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
  655. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
  656. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
  657. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
  658. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
  659. package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
  660. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
  661. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
  662. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
  663. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
  664. package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
  665. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
  666. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
  667. package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
  668. package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
  669. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
  670. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +16 -16
  671. package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
  672. package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
  673. package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
  674. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +36 -46
  675. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
  676. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
  677. package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
  678. package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
  679. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
  680. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
  681. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
  682. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
  683. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +45 -40
  684. package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
  685. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
  686. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
  687. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
  688. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
  689. package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
  690. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
  691. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +40 -47
  692. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
  693. package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
  694. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
  695. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +8 -8
  696. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -29
  697. package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
  698. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
  699. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
  700. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +33 -12
  701. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
  702. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
  703. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +63 -13
  704. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
  705. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
  706. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
  707. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
  708. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
  709. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
  710. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
  711. package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
  712. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
  713. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
  714. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
  715. package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
  716. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +50 -27
  717. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
  718. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
  719. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
  720. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
  721. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
  722. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
  723. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
  724. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
  725. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
  726. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
  727. package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
  728. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +29 -42
  729. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
  730. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
  731. package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
  732. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
  733. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
  734. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
  735. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
  736. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
  737. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
  738. package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
  739. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
  740. package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
  741. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
  742. package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
  743. package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
  744. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
  745. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
  746. package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
  747. package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
  748. package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
  749. package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
  750. package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
  751. package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
  752. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
  753. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
  754. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
  755. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
  756. package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
  757. package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
  758. package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
  759. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +7 -10
  760. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
  761. package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
  762. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
  763. package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
  764. package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
  765. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
  766. package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
  767. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
  768. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
  769. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
  770. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
  771. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
  772. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
  773. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +24 -17
  774. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
  775. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
  776. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
  777. package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
  778. package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
  779. package/test/sap/ui/core/qunit/test/starter/find/main.js +3 -2
  780. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
  781. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  782. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +10 -6
  783. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
  784. package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
  785. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
  786. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  787. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
  788. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  789. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
  790. package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
  791. package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
  792. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +37 -6
  793. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
  794. package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
  795. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +8 -8
  796. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
  797. package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
  798. package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
  799. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
  800. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
  801. package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
  802. package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
  803. package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
  804. package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
  805. package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
  806. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
  807. package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
  808. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
  809. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
  810. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
  811. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
  812. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
  813. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
  814. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
  815. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
  816. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
  817. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
  818. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
  819. package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
  820. package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
  821. package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
  822. package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
  823. package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
  824. package/test/testsuite/testframe.html +4 -4
  825. package/src/ui5-boot.js +0 -50
  826. package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
  827. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
  828. /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
  829. /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
  830. /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
  831. /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
@@ -1805,7 +1805,8 @@ sap.ui.define([
1805
1805
 
1806
1806
  });
1807
1807
 
1808
- QUnit.test("Check correct initial tree-build in OperationMode.Client", function(assert) {
1808
+ /** @deprecated As of version 1.102.0, reason sap.ui.model.odata.OperationMode.Auto */
1809
+ QUnit.test("Check correct initial tree-build in OperationMode.Auto", function(assert) {
1809
1810
  var done = assert.async();
1810
1811
  createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1811
1812
  operationMode: "Auto",
@@ -1870,118 +1871,175 @@ sap.ui.define([
1870
1871
  // trigger $count in op mode auto
1871
1872
  oBinding.attachChange(countChangeHandler);
1872
1873
  oBinding.getContexts(1, 10);
1874
+ });
1873
1875
 
1874
- QUnit.test("Empty binding should not cause exceptions", function(assert) {
1875
- createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1876
- displayRootNode: true,
1877
- numberOfExpandedLevels: 2,
1878
- rootLevel: 1
1879
- });
1876
+ QUnit.test("Check correct initial tree-build in OperationMode.Client", function(assert) {
1877
+ var done = assert.async();
1878
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1879
+ operationMode: "Client",
1880
+ rootLevel: 2,
1881
+ numberOfExpandedLevels: 1,
1882
+ threshold: 300
1883
+ });
1880
1884
 
1881
- // Keep the binding empty, so that the adapter can't find any nodes
1885
+ // change handler called after the data returned
1886
+ function fnChangeHandler() {
1887
+ oBinding.detachChange(fnChangeHandler);
1882
1888
 
1883
- // The following function calls should fail but not throw an exception
1884
- oBinding.expand(999);
1885
- oBinding.collapse(999);
1886
- oBinding.toggleIndex(999);
1887
- oBinding.setNodeSelection({});
1889
+ // retrieve the data and check it
1890
+ var aContexts = oBinding.getContexts(1, 10);
1888
1891
 
1889
- assert.ok(true, "No exceptions thrown");
1890
- });
1892
+ // check return value of getContexts call
1893
+ assert.equal(aContexts[0].getProperty("HierarchyNode"), "000003", "Node 1 is 000003");
1894
+ assert.equal(aContexts[0].getProperty("FinancialStatementItemText"), "Ausstehende Kapital-Einlagen",
1895
+ "Node 1 is 'Ausstehende Kapital-Einlagen'");
1896
+ assert.equal(aContexts[0].getProperty("FinStatementHierarchyLevelVal"), 3, "Node 1 is a 1st level node");
1891
1897
 
1892
- QUnit.test("Group ID calculation should not add forward slashes from property values", function(assert) {
1893
- createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1894
- displayRootNode: true,
1895
- numberOfExpandedLevels: 2,
1896
- rootLevel: 1
1897
- });
1898
+ assert.equal(aContexts[7].getProperty("HierarchyNode"), "000362", "Node 8 is 'P A S S I V A'");
1899
+ assert.equal(aContexts[7].getProperty("FinancialStatementItemText"), "P A S S I V A", "Node 8 is 'P A S S I V A'");
1900
+ assert.equal(aContexts[7].getProperty("FinStatementHierarchyLevelVal"), 2, "Node 8 is a top-level node");
1898
1901
 
1899
- var oFakeNode = {
1900
- context: {
1901
- getProperty: function(/* property name will be "GLAccount"*/) {
1902
- return "something/containing/forward/slashes";
1903
- }
1904
- },
1905
- parent: null // no parent -> no nesting with existing group IDs
1906
- };
1902
+ // check internal tree state
1903
+ var oN000002 = oBinding.findNode(0);
1904
+ var oN000003 = oBinding.findNode(1);
1907
1905
 
1908
- var sResultGroupId = oBinding._calculateGroupID(oFakeNode);
1909
- assert.equal(sResultGroupId.match(/\//g).length, 2, "Group ID contains exactly two forward slashes");
1910
- // Group ID should contain exactly two forward slashes. One at the beginning and one at the end.
1911
- // Level is then calculated with (slash count)-1
1906
+ assert.equal(oN000002.groupID, "/000002/", "Correct node for index 0 found.");
1907
+ assert.equal(oN000003.groupID, "/000002/000003/", "Correct node for index 1 found.");
1912
1908
 
1913
- // Current implementation encodes the slashes, so let's also explicitly check for that:
1914
- assert.equal(sResultGroupId, "/something%2Fcontaining%2Fforward%2Fslashes/", "Slashes got encoded");
1909
+ var oN000002_test2 = oBinding.getNodeByIndex(0);
1910
+ var oN000003_test2 = oBinding.getNodeByIndex(1);
1911
+
1912
+ assert.deepEqual(oN000002, oN000002_test2, "Correct node for index 0 found via getNodeByIndex.");
1913
+ assert.deepEqual(oN000003, oN000003_test2, "Correct node for index 1 found via getNodeByIndex.");
1914
+
1915
+ // check if contexts are correctly returned via getContextByIndex vs getContexts
1916
+ // Beware: Indices are shifted by 1, as the context array starts with 0
1917
+ var oContext000003 = oBinding.getContextByIndex(1);
1918
+ var oContext000008 = oBinding.getContextByIndex(2);
1919
+
1920
+ assert.equal(oContext000003.getProperty("HierarchyNode"), aContexts[0].getProperty("HierarchyNode"),
1921
+ "Context 000003 via different API calls is identical.");
1922
+ assert.equal(oContext000008.getProperty("HierarchyNode"), aContexts[1].getProperty("HierarchyNode"),
1923
+ "Context 000008 via different API calls is identical.");
1924
+
1925
+ done();
1926
+ }
1927
+
1928
+ // trigger $count in op mode auto
1929
+ oBinding.attachChange(fnChangeHandler);
1930
+ oBinding.getContexts(1, 10);
1931
+ });
1932
+
1933
+ QUnit.test("Empty binding should not cause exceptions", function(assert) {
1934
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1935
+ displayRootNode: true,
1936
+ numberOfExpandedLevels: 2,
1937
+ rootLevel: 1
1915
1938
  });
1916
1939
 
1917
- QUnit.test("Group ID calculation should also be able to handle integer property values", function(assert) {
1918
- createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1919
- displayRootNode: true,
1920
- numberOfExpandedLevels: 2,
1921
- rootLevel: 1
1922
- });
1940
+ // Keep the binding empty, so that the adapter can't find any nodes
1923
1941
 
1924
- var oFakeNode = {
1925
- context: {
1926
- getProperty: function(/* property name will be "GLAccount"*/) {
1927
- return 1;
1928
- }
1929
- },
1930
- parent: null // no parent -> no nesting with existing group IDs
1931
- };
1942
+ // The following function calls should fail but not throw an exception
1943
+ oBinding.expand(999);
1944
+ oBinding.collapse(999);
1945
+ oBinding.toggleIndex(999);
1946
+ oBinding.setNodeSelection({});
1932
1947
 
1933
- try {
1934
- var sResultGroupId = oBinding._calculateGroupID(oFakeNode);
1935
- assert.ok(true, "No exceptions thrown");
1936
- assert.equal(sResultGroupId, "/1/", "Integer got handled correctly");
1937
- } catch (e) {
1938
- assert.ok(false, "Threw exception: " + e);
1939
- }
1948
+ assert.ok(true, "No exceptions thrown");
1949
+ });
1950
+
1951
+ QUnit.test("Group ID calculation should not add forward slashes from property values", function(assert) {
1952
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1953
+ displayRootNode: true,
1954
+ numberOfExpandedLevels: 2,
1955
+ rootLevel: 1
1940
1956
  });
1941
1957
 
1942
- QUnit.test("Expand with bSuppressChange flag should suppress the change event", function(assert) {
1943
- var done = assert.async();
1944
- createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1945
- rootLevel: 2,
1946
- numberOfExpandedLevels: 2
1947
- });
1958
+ var oFakeNode = {
1959
+ context: {
1960
+ getProperty: function(/* property name will be "GLAccount"*/) {
1961
+ return "something/containing/forward/slashes";
1962
+ }
1963
+ },
1964
+ parent: null // no parent -> no nesting with existing group IDs
1965
+ };
1948
1966
 
1949
- oBinding.attachChange(changeHandler);
1950
- oBinding.getContexts(0, 10);
1967
+ var sResultGroupId = oBinding._calculateGroupID(oFakeNode);
1968
+ assert.equal(sResultGroupId.match(/\//g).length, 2, "Group ID contains exactly two forward slashes");
1969
+ // Group ID should contain exactly two forward slashes. One at the beginning and one at the end.
1970
+ // Level is then calculated with (slash count)-1
1951
1971
 
1952
- function changeHandler() {
1953
- oBinding.detachChange(changeHandler);
1954
- oBinding.getContexts(0, 10);
1955
- assert.ok(oBinding.findNode(1), "Node can be found"); // If the binding does not find a node, it also does not fire a change event
1972
+ // Current implementation encodes the slashes, so let's also explicitly check for that:
1973
+ assert.equal(sResultGroupId, "/something%2Fcontaining%2Fforward%2Fslashes/", "Slashes got encoded");
1974
+ });
1956
1975
 
1957
- var oSpy = sinon.spy(oBinding, "_fireChange");
1958
- oBinding.expand(1, true);
1959
- assert.ok(oSpy.notCalled, "No change event fired");
1960
- done();
1961
- }
1976
+ QUnit.test("Group ID calculation should also be able to handle integer property values", function(assert) {
1977
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1978
+ displayRootNode: true,
1979
+ numberOfExpandedLevels: 2,
1980
+ rootLevel: 1
1962
1981
  });
1963
1982
 
1964
- QUnit.test("Collapse with bSuppressChange flag should suppress the change event", function(assert) {
1965
- var done = assert.async();
1966
- createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
1967
- rootLevel: 2,
1968
- numberOfExpandedLevels: 2
1969
- });
1983
+ var oFakeNode = {
1984
+ context: {
1985
+ getProperty: function(/* property name will be "GLAccount"*/) {
1986
+ return 1;
1987
+ }
1988
+ },
1989
+ parent: null // no parent -> no nesting with existing group IDs
1990
+ };
1970
1991
 
1971
- oBinding.attachChange(changeHandler);
1992
+ try {
1993
+ var sResultGroupId = oBinding._calculateGroupID(oFakeNode);
1994
+ assert.ok(true, "No exceptions thrown");
1995
+ assert.equal(sResultGroupId, "/1/", "Integer got handled correctly");
1996
+ } catch (e) {
1997
+ assert.ok(false, "Threw exception: " + e);
1998
+ }
1999
+ });
2000
+
2001
+ QUnit.test("Expand with bSuppressChange flag should suppress the change event", function(assert) {
2002
+ var done = assert.async();
2003
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
2004
+ rootLevel: 2,
2005
+ numberOfExpandedLevels: 2
2006
+ });
2007
+
2008
+ oBinding.attachChange(changeHandler);
2009
+ oBinding.getContexts(0, 10);
2010
+
2011
+ function changeHandler() {
2012
+ oBinding.detachChange(changeHandler);
1972
2013
  oBinding.getContexts(0, 10);
2014
+ assert.ok(oBinding.findNode(1), "Node can be found"); // If the binding does not find a node, it also does not fire a change event
1973
2015
 
1974
- function changeHandler() {
1975
- oBinding.detachChange(changeHandler);
1976
- oBinding.getContexts(0, 10);
1977
- assert.ok(oBinding.findNode(0), "Node can be found"); // If the binding does not find a node, it also does not fire a change event
2016
+ var oSpy = sinon.spy(oBinding, "_fireChange");
2017
+ oBinding.expand(1, true);
2018
+ assert.ok(oSpy.notCalled, "No change event fired");
2019
+ done();
2020
+ }
2021
+ });
1978
2022
 
1979
- var oSpy = sinon.spy(oBinding, "_fireChange");
1980
- oBinding.collapse(0, true);
1981
- assert.ok(oSpy.notCalled, "No change event fired");
1982
- done();
1983
- }
2023
+ QUnit.test("Collapse with bSuppressChange flag should suppress the change event", function(assert) {
2024
+ var done = assert.async();
2025
+ createTreeBindingAdapter("/GLAccountHierarchyInChartOfAccountsSet(P_MANDT='902',P_VERSN='INT',P_KTOPL='INT')/Result", [], null, {
2026
+ rootLevel: 2,
2027
+ numberOfExpandedLevels: 2
1984
2028
  });
2029
+
2030
+ oBinding.attachChange(changeHandler);
2031
+ oBinding.getContexts(0, 10);
2032
+
2033
+ function changeHandler() {
2034
+ oBinding.detachChange(changeHandler);
2035
+ oBinding.getContexts(0, 10);
2036
+ assert.ok(oBinding.findNode(0), "Node can be found"); // If the binding does not find a node, it also does not fire a change event
2037
+
2038
+ var oSpy = sinon.spy(oBinding, "_fireChange");
2039
+ oBinding.collapse(0, true);
2040
+ assert.ok(oSpy.notCalled, "No change event fired");
2041
+ done();
2042
+ }
1985
2043
  });
1986
2044
 
1987
2045
  QUnit.test("expandNodeToLevel: Correct filter creation", function(assert) {
@@ -621,6 +621,7 @@ sap.ui.define([
621
621
  assert.equal(sFilterString, "$filter=false", "Filter string should be returned.");
622
622
  });
623
623
 
624
+ /** @deprecated As of version 1.22.0 reason sap.ui.model.odata.Filter*/
624
625
  QUnit.test("createFilterParams: Use API with deprecated sap.ui.model.odata.Filter", function(assert) {
625
626
  var oFilter1 = new ODataFilter('Customer',[{
626
627
  operator: 'EQ',
@@ -1168,19 +1168,10 @@ sap.ui.define([
1168
1168
  });
1169
1169
 
1170
1170
  //*********************************************************************************************
1171
- [
1172
- "2023-07-31T09:15:30.000Z",
1173
- "2022-06-30T15:15:45.12345Z",
1174
- "0009-06-29T23:00:00.123-01:00",
1175
- "0099-09-25T12:30:45.12345+01:00"
1176
- ].forEach(function (sISOString, i) {
1177
- QUnit.test("getISOStringFromModelValue/getModelValueFromISOString: integrative test V4 #" + i, function (assert) {
1178
- var oType = new DateTimeOffset().setV4();
1179
-
1180
- assert.strictEqual(oType.getISOStringFromModelValue(sISOString), sISOString);
1181
- assert.strictEqual(oType.getModelValueFromISOString(sISOString), sISOString);
1171
+ QUnit.test("getISOStringFromModelValue: integrative test V4", function (assert) {
1172
+ assert.strictEqual(new DateTimeOffset({}, {V4: true})
1173
+ .getISOStringFromModelValue("2023-07-31T09:15:30Z"), "2023-07-31T09:15:30Z");
1182
1174
  });
1183
- });
1184
1175
 
1185
1176
  //*********************************************************************************************
1186
1177
  [new DateTimeOffset(), new DateTimeOffset().setV4()].forEach(function (oType, i) {
@@ -1190,4 +1181,34 @@ sap.ui.define([
1190
1181
  assert.strictEqual(oType.getModelValueFromISOString(""), null);
1191
1182
  });
1192
1183
  });
1184
+
1185
+ //*********************************************************************************************
1186
+ // Enhance existing integration test for V4 DateTimeOffset#getModelValueFromISOString with and without precision
1187
+ // constraints. It is expected that the milliseconds in the ISO string are either truncated or padded with 0
1188
+ // according to the set precision.
1189
+ // BCP: 2380114882
1190
+ [{
1191
+ sISOString: "2023-01-31T23:15:30.6Z",
1192
+ sModelValue: "2023-01-31T23:15:30.6Z",
1193
+ iPrecision: 1
1194
+ }, {
1195
+ sISOString: "2023-07-31T09:15:30.123Z",
1196
+ sModelValue: "2023-07-31T09:15:30.12Z",
1197
+ iPrecision: 2
1198
+ }, {
1199
+ sISOString: "2023-07-31T09:15:30.12Z",
1200
+ sModelValue: "2023-07-31T09:15:30.1200Z",
1201
+ iPrecision: 4
1202
+ }, {
1203
+ sISOString: "2023-07-31T09:15:30.12Z",
1204
+ sModelValue: "2023-07-31T09:15:30Z",
1205
+ iPrecision: undefined
1206
+ }].forEach(function (oFixture, i) {
1207
+ QUnit.test("getModelValueFromISOString: integrative test #" + i, function (assert) {
1208
+ const oType = new DateTimeOffset({}, {V4: true, precision: oFixture.iPrecision});
1209
+
1210
+ // code under test
1211
+ assert.strictEqual(oType.getModelValueFromISOString(oFixture.sISOString), oFixture.sModelValue);
1212
+ });
1213
+ });
1193
1214
  });
@@ -518,19 +518,9 @@ sap.ui.define([
518
518
  });
519
519
 
520
520
  //*********************************************************************************************
521
- [
522
- "09:15:30.000Z",
523
- "15:15:45.12345Z",
524
- "23:00:00.123-01:00",
525
- "12:30:45.12345+01:00"
526
- ].forEach(function (sISOString, i) {
527
- QUnit.test("getISOStringFromModelValue/getModelValueFromISOString: integrative test " + i, function (assert) {
528
- var oType = new TimeOfDay({}, {precision: 3});
529
-
530
- assert.strictEqual(oType.getISOStringFromModelValue(sISOString), sISOString);
531
- assert.strictEqual(oType.getModelValueFromISOString(sISOString), sISOString);
521
+ QUnit.test("getISOStringFromModelValue: integrative test", function (assert) {
522
+ assert.strictEqual(new TimeOfDay().getISOStringFromModelValue("09:15:30"), "09:15:30");
532
523
  });
533
- });
534
524
 
535
525
  //*********************************************************************************************
536
526
  ["getISOStringFromModelValue", "getModelValueFromISOString"].forEach(function (sMethod) {
@@ -542,4 +532,35 @@ sap.ui.define([
542
532
  assert.strictEqual(oType[sMethod](""), null);
543
533
  });
544
534
  });
535
+
536
+ //*********************************************************************************************
537
+ // Enhance existing integration test for TimeOfDay#getModelValueFromISOString with and without precision
538
+ // constraints. It is expected that the milliseconds in the ISO string are either truncated or padded with 0
539
+ // according to the set precision.
540
+ // BCP: 2380114882
541
+ [{
542
+ sISOString: "09:15:30.12",
543
+ sModelValue: "09:15:30.12",
544
+ iPrecision: 2
545
+ }, {
546
+ sISOString: "09:15:30.123",
547
+ sModelValue: "09:15:30.12",
548
+ iPrecision: 2
549
+ }, {
550
+ sISOString: "09:15:30.12",
551
+ sModelValue: "09:15:30.1200",
552
+ iPrecision: 4
553
+ }, {
554
+ sISOString: "09:15:30.12",
555
+ sModelValue: "09:15:30",
556
+ iPrecision: undefined
557
+ }].forEach(function (oFixture, i) {
558
+ const sTitle = "getModelValueFromISOString: integrative test #" + i;
559
+ QUnit.test(sTitle, function (assert) {
560
+ const oType = new TimeOfDay({}, {precision: oFixture.iPrecision});
561
+
562
+ // code under test
563
+ assert.strictEqual(oType.getModelValueFromISOString(oFixture.sISOString), oFixture.sModelValue);
564
+ });
565
+ });
545
566
  });
@@ -2,8 +2,9 @@
2
2
  sap.ui.define([
3
3
  "sap/ui/model/odata/v2/ODataModel",
4
4
  "sap/ui/model/odata/MessageScope",
5
+ "sap/ui/core/Messaging",
5
6
  'sap/ui/core/util/MockServer'
6
- ], function (ODataModel, MessageScope, MockServer) {
7
+ ], function (ODataModel, MessageScope, Messaging, MockServer) {
7
8
  "use strict";
8
9
 
9
10
 
@@ -661,7 +662,7 @@ sap.ui.define([
661
662
  var done = assert.async();
662
663
  var that = this;
663
664
  var oRequest;
664
- var oMessageModel = sap.ui.getCore().getMessageManager().getMessageModel();
665
+ var oMessageModel = Messaging.getMessageModel();
665
666
 
666
667
  var oCreateEntryProduct = {
667
668
  properties: {
@@ -859,7 +860,7 @@ sap.ui.define([
859
860
  mResponseParameter.mDeepSalesOrderMsg = "Msg";
860
861
  that.oModel.read("/BusinessPartnerSet('0100000000')", {
861
862
  success: function(){
862
- var oMsg = sap.ui.getCore().getMessageManager().getMessageModel().getData()[0];
863
+ var oMsg = Messaging.getMessageModel().getData()[0];
863
864
  assert.equal(oMsg.aTargets[0], "/SalesOrderLineItemSet(SalesOrderID='0500000000',ItemPosition='0000000010')", "Message target is correctly set.");
864
865
  assert.equal(oMsg.aFullTargets[0], "/BusinessPartnerSet('0100000000')/ToSalesOrders('0500000000')/ToLineItems(SalesOrderID='0500000000',ItemPosition='0000000010')", "Message full target is correctly set.");
865
866
  done();
@@ -883,7 +884,7 @@ sap.ui.define([
883
884
  mResponseParameter.mDeepSalesOrderMsg = "MsgWithProperty";
884
885
  that.oModel.read("/BusinessPartnerSet('0100000000')", {
885
886
  success: function(){
886
- var oMsg = sap.ui.getCore().getMessageManager().getMessageModel().getData()[0];
887
+ var oMsg = Messaging.getMessageModel().getData()[0];
887
888
  assert.equal(oMsg.aTargets[0], "/SalesOrderLineItemSet(SalesOrderID='0500000000',ItemPosition='0000000010')/CurrencyCode", "Message target is correctly set.");
888
889
  assert.equal(oMsg.aFullTargets[0], "/BusinessPartnerSet('0100000000')/ToSalesOrders('0500000000')/ToLineItems(SalesOrderID='0500000000',ItemPosition='0000000010')/CurrencyCode", "Message full target is correctly set.");
889
890
  done();
@@ -190,7 +190,6 @@ sap.ui.define([
190
190
 
191
191
  //*********************************************************************************************
192
192
  [
193
- {operationMode : OperationMode.Auto, useFilterParams : false},
194
193
  {operationMode : OperationMode.Client, useFilterParams : true},
195
194
  {operationMode : OperationMode.Default, useFilterParams : true},
196
195
  {operationMode : OperationMode.Server, useFilterParams : true}
@@ -231,6 +230,40 @@ sap.ui.define([
231
230
  });
232
231
  });
233
232
 
233
+ //*********************************************************************************************
234
+ /** @deprecated As of version 1.102.0, reason OperationMode.Auto */
235
+ QUnit.test("_getLength: calls _addFilterQueryOption; operation mode=OperationMode.Auto", function (assert) {
236
+ var oModel = {read : function () {}},
237
+ oBinding = {
238
+ sCountMode : CountMode.Request,
239
+ oModel : oModel,
240
+ sOperationMode : OperationMode.Auto,
241
+ sPath : "/~Path",
242
+ _addFilterQueryOption : function () {},
243
+ getResolvedPath : function () {}
244
+ };
245
+
246
+ this.mock(oBinding).expects("_addFilterQueryOption")
247
+ .withExactArgs([], false)
248
+ .callsFake(function (aParams) {
249
+ aParams.push("~filter"); // simulate _addFilterQueryOption implementation
250
+ });
251
+ this.mock(oBinding).expects("getResolvedPath").withExactArgs().returns("/~Path");
252
+
253
+ this.mock(oModel).expects("read").withExactArgs("/~Path/$count", {
254
+ canonicalRequest : undefined,
255
+ context : undefined,
256
+ error : sinon.match.func,
257
+ groupId : undefined,
258
+ success : sinon.match.func,
259
+ urlParameters : ["~filter"],
260
+ withCredentials : undefined
261
+ });
262
+
263
+ // code under test
264
+ ODataListBinding.prototype._getLength.call(oBinding);
265
+ });
266
+
234
267
  //*********************************************************************************************
235
268
  [{
236
269
  error : {message : "~message"},
@@ -1702,6 +1735,7 @@ sap.ui.define([
1702
1735
  });
1703
1736
 
1704
1737
  //*********************************************************************************************
1738
+ /** @deprecated As of version 1.102.0, reason OperationMode.Auto */
1705
1739
  [CountMode.Request, CountMode.Both].forEach(function (sCountMode, i) {
1706
1740
  QUnit.test("getContexts: return empty array; check OperationMode/CountMode; #" + i,
1707
1741
  function (assert) {
@@ -2472,16 +2506,15 @@ sap.ui.define([
2472
2506
  var oBinding = {
2473
2507
  aKeys : [],
2474
2508
  bLengthFinal : true,
2475
- iLength : "~length",
2509
+ iLength : 42,
2476
2510
  _getCreatedContexts : function () {},
2477
2511
  isFirstCreateAtEnd : function () {}
2478
2512
  };
2479
2513
 
2480
- this.mock(oBinding).expects("_getCreatedContexts").withExactArgs(); // return value unused
2514
+ this.mock(oBinding).expects("_getCreatedContexts").withExactArgs().returns(["~oCreated1"]);
2481
2515
  this.mock(oBinding).expects("isFirstCreateAtEnd").withExactArgs().returns(false);
2482
2516
  this.mock(ODataUtils).expects("_getReadIntervals")
2483
- .withExactArgs(sinon.match.same(oBinding.aKeys), "~startIndex", "~length",
2484
- "~maximumPrefetchSize", "~length")
2517
+ .withExactArgs(sinon.match.same(oBinding.aKeys), "~startIndex", "~length", "~maximumPrefetchSize", 43)
2485
2518
  .returns("~aIntervals");
2486
2519
  this.mock(ODataUtils).expects("_mergeIntervals")
2487
2520
  .withExactArgs("~aIntervals")
@@ -2496,27 +2529,27 @@ sap.ui.define([
2496
2529
 
2497
2530
  //*********************************************************************************************
2498
2531
  [
2499
- {interval : {start : 222, end : 333}, result : {skip : 222 - 1, top : 111}},
2532
+ {interval : {start : 222, end : 333}, result : {skip : 222 - 2, top : 111}},
2500
2533
  {interval : undefined, result : undefined}
2501
2534
  ].forEach(function (oFixture, i) {
2502
2535
  QUnit.test("_getSkipAndTop, creation at start, binding has data: #" + i, function (assert) {
2503
2536
  var oBinding = {
2504
2537
  aKeys : ["key0", "key1"],
2505
2538
  bLengthFinal : true,
2506
- iLength : "~length",
2539
+ iLength : 42,
2507
2540
  _getCreatedContexts : function () {},
2508
2541
  isFirstCreateAtEnd : function () {}
2509
2542
  };
2510
2543
 
2511
2544
  this.mock(oBinding).expects("_getCreatedContexts")
2512
2545
  .withExactArgs()
2513
- .returns(["created0"]);
2546
+ .returns(["created0", "created1"]);
2514
2547
  this.mock(oBinding).expects("isFirstCreateAtEnd")
2515
2548
  .withExactArgs()
2516
2549
  .returns(false);
2517
2550
  this.mock(ODataUtils).expects("_getReadIntervals")
2518
- .withExactArgs(["created0", "key0", "key1"], "~startIndex", "~length",
2519
- "~maximumPrefetchSize", "~length")
2551
+ .withExactArgs(["created0", "created1", "key0", "key1"], "~startIndex", "~length",
2552
+ "~maximumPrefetchSize", 44)
2520
2553
  .returns("~aIntervals");
2521
2554
  this.mock(ODataUtils).expects("_mergeIntervals")
2522
2555
  .withExactArgs("~aIntervals")
@@ -2566,7 +2599,7 @@ sap.ui.define([
2566
2599
  var oBinding = {
2567
2600
  aKeys : [],
2568
2601
  bLengthFinal : true,
2569
- iLength : "~length",
2602
+ iLength : 42,
2570
2603
  _getCreatedContexts : function () {},
2571
2604
  isFirstCreateAtEnd : function () {}
2572
2605
  };
@@ -2574,8 +2607,7 @@ sap.ui.define([
2574
2607
  this.mock(oBinding).expects("_getCreatedContexts").withExactArgs().returns([]);
2575
2608
  this.mock(oBinding).expects("isFirstCreateAtEnd").withExactArgs().returns(false);
2576
2609
  this.mock(ODataUtils).expects("_getReadIntervals")
2577
- .withExactArgs(sinon.match.same(oBinding.aKeys) , 0, 10, "~maximumPrefetchSize",
2578
- "~length")
2610
+ .withExactArgs(sinon.match.same(oBinding.aKeys) , 0, 10, "~maximumPrefetchSize", 42)
2579
2611
  .returns("~aIntervals");
2580
2612
  this.mock(ODataUtils).expects("_mergeIntervals")
2581
2613
  .withExactArgs("~aIntervals")
@@ -3768,4 +3800,22 @@ sap.ui.define([
3768
3800
  // code under test
3769
3801
  ODataListBinding.prototype.addComparators.call(oBinding, [/*unused*/], false /*bSort unused*/);
3770
3802
  });
3803
+
3804
+ //*********************************************************************************************
3805
+ QUnit.test("getContextByIndex", function (assert) {
3806
+ var oBinding = {
3807
+ _getContexts : function () {}
3808
+ },
3809
+ oBindingMock = this.mock(oBinding);
3810
+
3811
+ oBindingMock.expects("_getContexts").withExactArgs(42, 1).returns([]);
3812
+
3813
+ // code under test
3814
+ assert.strictEqual(ODataListBinding.prototype.getContextByIndex.call(oBinding, 42), undefined);
3815
+
3816
+ oBindingMock.expects("_getContexts").withExactArgs(77, 1).returns(["~oContext"]);
3817
+
3818
+ // code under test
3819
+ assert.strictEqual(ODataListBinding.prototype.getContextByIndex.call(oBinding, 77), "~oContext");
3820
+ });
3771
3821
  });