@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
@@ -2,7 +2,6 @@
2
2
  sap.ui.define([
3
3
  "sap/ui/core/ComponentContainer",
4
4
  "sap/ui/core/Control",
5
- "sap/ui/core/Core",
6
5
  "sap/ui/core/Element",
7
6
  "sap/ui/core/HTML",
8
7
  "sap/ui/core/RenderManager",
@@ -10,8 +9,9 @@ sap.ui.define([
10
9
  "sap/ui/core/UIComponent",
11
10
  "sap/ui/layout/VerticalLayout",
12
11
  "sap/ui/testlib/TestButton",
13
- "sap/ui/thirdparty/jquery"
14
- ], function(ComponentContainer, Control, oCore, Element, HTML, RenderManager, UIArea, UIComponent, VerticalLayout, TestButton, jQuery) {
12
+ "sap/ui/thirdparty/jquery",
13
+ "sap/ui/qunit/utils/nextUIUpdate"
14
+ ], function(ComponentContainer, Control, Element, HTML, RenderManager, UIArea, UIComponent, VerticalLayout, TestButton, jQuery, nextUIUpdate) {
15
15
  "use strict";
16
16
 
17
17
  var normalize = (function() {
@@ -219,13 +219,13 @@ sap.ui.define([
219
219
  });
220
220
  });
221
221
 
222
- QUnit.test("setting content", function(assert) {
222
+ QUnit.test("setting content", async function(assert) {
223
223
  Element.registry.get("html2").setContent("");
224
- oCore.applyChanges();
224
+ await nextUIUpdate();
225
225
  assert.equal(jQuery("#html2").length, 0, "html2 DOM must be empty");
226
226
 
227
227
  Element.registry.get("html2").setContent(FRAGMENT_1.content);
228
- oCore.applyChanges();
228
+ await nextUIUpdate();
229
229
 
230
230
  assert.equal(jQuery("#html2").length, 1, "content must have length 1");
231
231
  assert.equal(jQuery("#html2").css("width"), "64px", "fragment width");
@@ -233,24 +233,24 @@ sap.ui.define([
233
233
  assert.equal(normalize(jQuery("#html2").css("background-color")), "rgb(255,0,0)", "fragment bg color");
234
234
 
235
235
  Element.registry.get("html2").setContent("someLeadingText" + FRAGMENT_2.content + "someTrailingText");
236
- oCore.applyChanges();
236
+ await nextUIUpdate();
237
237
  okFragment(assert, FRAGMENT_2, "uiAreaA", "html2 DOM must be equal to FRAGMENT_2");
238
238
  assert.ok(jQuery("#uiAreaA")[0].innerHTML.indexOf("someLeadingText") < 0, "rendered HTML does not contain leading text");
239
239
  assert.ok(jQuery("#uiAreaA")[0].innerHTML.indexOf("someTrailingText") < 0, "rendered HTML does not contain trailing text");
240
240
 
241
241
  Element.registry.get("html2").setContent(FRAGMENT_1.content);
242
- oCore.applyChanges();
242
+ await nextUIUpdate();
243
243
  assert.equal(jQuery("#html2").length, 1, "content must have length 1");
244
244
  assert.equal(jQuery("#html2").css("width"), "64px", "fragment width");
245
245
  assert.equal(jQuery("#html2").css("height"), "64px", "fragment height");
246
246
  assert.equal(normalize(jQuery("#html2").css("background-color")), "rgb(255,0,0)", "fragment bg color");
247
247
 
248
248
  Element.registry.get("html2").setContent("somePureText");
249
- oCore.applyChanges();
249
+ await nextUIUpdate();
250
250
  assert.equal(jQuery("#html2").length, 0, "html2 DOM must be empty");
251
251
 
252
252
  Element.registry.get("html2").setContent(FRAGMENT_2.content);
253
- oCore.applyChanges();
253
+ await nextUIUpdate();
254
254
  okFragment(assert, FRAGMENT_2, "uiAreaA", "html2 DOM must be equal to FRAGMENT_2");
255
255
  });
256
256
 
@@ -295,56 +295,56 @@ sap.ui.define([
295
295
  });
296
296
  });
297
297
 
298
- QUnit.test("setting content", function(assert) {
298
+ QUnit.test("setting content", async function(assert) {
299
299
  Element.registry.get("html3").setContent("");
300
- oCore.applyChanges();
300
+ await nextUIUpdate();
301
301
  assert.equal(jQuery("#html3").length, 0, "html3 DOM must be empty");
302
302
 
303
303
  Element.registry.get("html3").setContent(FRAGMENT_1.content);
304
- oCore.applyChanges();
304
+ await nextUIUpdate();
305
305
  assert.equal(jQuery("#html3").length, 1, "content must have length 1");
306
306
  assert.equal(jQuery("#html3").css("width"), "64px", "fragment width");
307
307
  assert.equal(jQuery("#html3").css("height"), "64px", "fragment height");
308
308
  assert.equal(normalize(jQuery("#html3").css("background-color")), "rgb(255,0,0)", "fragment bg color");
309
309
 
310
310
  Element.registry.get("html3").setContent("someLeadingText" + FRAGMENT_2.content + "someTrailingText");
311
- oCore.applyChanges();
311
+ await nextUIUpdate();
312
312
  okFragment(assert, FRAGMENT_2, "uiAreaA", "html3 DOM must be equal to FRAGMENT_2");
313
313
  assert.ok(jQuery("#uiAreaA")[0].innerHTML.indexOf("someLeadingText") < 0, "rendered HTML does not contain leading text");
314
314
  assert.ok(jQuery("#uiAreaA")[0].innerHTML.indexOf("someTrailingText") < 0, "rendered HTML does not contain trailing text");
315
315
 
316
316
  Element.registry.get("html3").setContent(FRAGMENT_1.content);
317
- oCore.applyChanges();
317
+ await nextUIUpdate();
318
318
  assert.equal(jQuery("#html3").length, 1, "content must have length 1");
319
319
  assert.equal(jQuery("#html3").css("width"), "64px", "fragment width");
320
320
  assert.equal(jQuery("#html3").css("height"), "64px", "fragment height");
321
321
  assert.equal(normalize(jQuery("#html3").css("background-color")), "rgb(255,0,0)", "fragment bg color");
322
322
 
323
323
  Element.registry.get("html3").setContent("somePureText");
324
- oCore.applyChanges();
324
+ await nextUIUpdate();
325
325
  assert.equal(jQuery("#html3").length, 0, "html3 DOM must be empty");
326
326
 
327
327
  Element.registry.get("html3").setContent(FRAGMENT_2.content);
328
- oCore.applyChanges();
328
+ await nextUIUpdate();
329
329
  okFragment(assert, FRAGMENT_2, "uiAreaA", "html3 DOM must be equal to FRAGMENT_2");
330
330
  });
331
331
 
332
- QUnit.test("remove & rerender", function(assert) {
332
+ QUnit.test("remove & rerender", async function(assert) {
333
333
  var oHtml3 = Element.registry.get("html3");
334
334
  var oHtml3Dom = oHtml3.getDomRef();
335
335
  var oParent = oHtml3.getParent();
336
336
  oParent.removeContent(0);
337
- oCore.applyChanges();
337
+ await nextUIUpdate();
338
338
 
339
339
  assert.ok(RenderManager.isPreservedContent(jQuery("#html3")[0]), "html3 DOM must have been moved to preserve area");
340
340
 
341
341
  oParent.insertContent(oHtml3);
342
- oCore.applyChanges();
342
+ await nextUIUpdate();
343
343
 
344
344
  assert.ok(oHtml3Dom === oHtml3.getDomRef(), "html3 has the same DOM before rendering");
345
345
  });
346
346
 
347
- QUnit.test("component & move & rerender", function(assert) {
347
+ QUnit.test("component & move & rerender", async function(assert) {
348
348
  var oGrandChild = new HTML({
349
349
  content: "<br>"
350
350
  });
@@ -375,30 +375,30 @@ sap.ui.define([
375
375
  async: false
376
376
  });
377
377
  oUiComponentContainer.placeAt("uiAreaF");
378
- oCore.applyChanges();
378
+ await nextUIUpdate();
379
379
 
380
380
  var oGrandChildDom = oGrandChild.getDomRef();
381
381
  oUiComponentContainer.rerender();
382
382
  assert.ok(oGrandChildDom === oGrandChild.getDomRef(), "oGrandChild DOM reference has not changed after ComponentContainer rerender");
383
383
 
384
384
  oChild2.addContent(oChild1.removeContent(0));
385
- oCore.applyChanges();
385
+ await nextUIUpdate();
386
386
  assert.ok(oGrandChildDom === oGrandChild.getDomRef(), "oGrandChild DOM reference has not changed after moving from child1 to child2");
387
387
 
388
388
  oChild1.addContent(oChild2.removeContent(0));
389
- oCore.applyChanges();
389
+ await nextUIUpdate();
390
390
  assert.ok(oGrandChildDom === oGrandChild.getDomRef(), "oGrandChild DOM reference has not changed after moving from child2 to child1");
391
391
 
392
392
  oParent.setVisible(false);
393
- oCore.applyChanges();
393
+ await nextUIUpdate();
394
394
  oParent.setVisible(true);
395
- oCore.applyChanges();
395
+ await nextUIUpdate();
396
396
  assert.ok(oGrandChildDom === oGrandChild.getDomRef(), "oGrandChild DOM reference has not changed after parent visibility is changed");
397
397
 
398
398
  oParent.destroy();
399
399
  });
400
400
 
401
- QUnit.test("survive removal", function(assert) {
401
+ QUnit.test("survive removal", async function(assert) {
402
402
  // check preconditions
403
403
  assert.ok(Element.registry.get("html3").getUIArea(), "html3 must be part of UIArea");
404
404
  assert.equal(jQuery("#html3").length, 1, "html3 DOM should exist");
@@ -406,7 +406,7 @@ sap.ui.define([
406
406
 
407
407
  // remove from control tree and rerender
408
408
  UIArea.registry.get("uiAreaA").removeAllContent();
409
- oCore.applyChanges();
409
+ await nextUIUpdate();
410
410
 
411
411
  // check that DOM still exists
412
412
  assert.ok(!Element.registry.get("html3").getUIArea(), "html3 must no longer be part of UIArea");
@@ -417,7 +417,7 @@ sap.ui.define([
417
417
 
418
418
  // add it again to an UIArea and rerender
419
419
  Element.registry.get("html3").placeAt("uiAreaB");
420
- oCore.applyChanges();
420
+ await nextUIUpdate();
421
421
  assert.ok(Element.registry.get("html3").getUIArea(), "html3 must be part of UIArea");
422
422
  assert.equal(Element.registry.get("html3").getUIArea().getId(), "uiAreaB", "html3 must be part of UIArea uiAreaB");
423
423
  assert.equal(jQuery("#html3").length, 1, "html3 DOM must exist");
@@ -532,12 +532,12 @@ sap.ui.define([
532
532
  });
533
533
  });
534
534
 
535
- QUnit.test("order of controls in UIArea", function(assert) {
535
+ QUnit.test("order of controls in UIArea", async function(assert) {
536
536
  var html = new HTML({content: FRAGMENT_1.content});
537
537
  html.placeAt("uiAreaE");
538
538
  var button = new TestButton({text: "Button"});
539
539
  button.placeAt("uiAreaE");
540
- oCore.applyChanges();
540
+ await nextUIUpdate();
541
541
 
542
542
  var $currentDom = jQuery("#uiAreaE").children();
543
543
  assert.equal($currentDom.length, 2, "both controls have been rendered");
@@ -545,7 +545,7 @@ sap.ui.define([
545
545
  assert.equal($currentDom[1].tagName, "BUTTON");
546
546
 
547
547
  html.invalidate();
548
- oCore.applyChanges();
548
+ await nextUIUpdate();
549
549
 
550
550
  $currentDom = jQuery("#uiAreaE").children();
551
551
  assert.equal($currentDom.length, 2, "both controls have been rendered");
@@ -7,8 +7,9 @@ sap.ui.define([
7
7
  "sap/ui/Device",
8
8
  "sap/ui/core/library",
9
9
  "sap/ui/thirdparty/jquery",
10
- "sap/ui/qunit/QUnitUtils"
11
- ], function(Icon, IconPool, _IconRegistry, Log, Device, library, jQuery, qutils) {
10
+ "sap/ui/qunit/QUnitUtils",
11
+ "sap/ui/qunit/utils/nextUIUpdate"
12
+ ], function(Icon, IconPool, _IconRegistry, Log, Device, library, jQuery, qutils, nextUIUpdate) {
12
13
  "use strict";
13
14
 
14
15
  // shortcut for type from sap.ui.core
@@ -109,7 +110,7 @@ sap.ui.define([
109
110
  assert.equal($icon.css("background-color"), sHoverBackgroundColor);
110
111
  });
111
112
 
112
- QUnit.test("Icon without Hover color", function(assert) {
113
+ QUnit.test("Icon without Hover color", async function(assert) {
113
114
  var sColor = "#666666",
114
115
  sBackgroundColor = "#CCCCCC",
115
116
  oIcon = new Icon({
@@ -124,7 +125,7 @@ sap.ui.define([
124
125
  var sTestColor = $dummy.css("color"),
125
126
  sTestBackgroundColor = $dummy.css("background-color");
126
127
  oIcon.placeAt("uiAreaA");
127
- sap.ui.getCore().applyChanges();
128
+ await nextUIUpdate();
128
129
 
129
130
  var $icon = oIcon.$();
130
131
  qutils.triggerEvent("mousedown", oIcon.getId());
@@ -139,7 +140,7 @@ sap.ui.define([
139
140
  });
140
141
  }
141
142
 
142
- QUnit.test("Attach press handler", function(assert) {
143
+ QUnit.test("Attach press handler", async function(assert) {
143
144
  var fn1 = function(){}, fn2 = function(){};
144
145
  var oIcon = new Icon({
145
146
  src: _IconRegistry.getIconURI("manager"),
@@ -147,19 +148,19 @@ sap.ui.define([
147
148
  });
148
149
 
149
150
  oIcon.placeAt("uiAreaA");
150
- sap.ui.getCore().applyChanges();
151
+ await nextUIUpdate();
151
152
  assert.equal(oIcon.$().css("cursor"), "pointer", "Icon which has press event handler should show pointer cursor");
152
153
 
153
154
  oIcon.attachPress(fn2);
154
- sap.ui.getCore().applyChanges();
155
+ await nextUIUpdate();
155
156
  assert.equal(oIcon.$().css("cursor"), "pointer", "Icon which has press event handler should show pointer cursor");
156
157
 
157
158
  oIcon.detachPress(fn1);
158
- sap.ui.getCore().applyChanges();
159
+ await nextUIUpdate();
159
160
  assert.equal(oIcon.$().css("cursor"), "pointer", "Icon which still has press event handler should show pointer cursor");
160
161
 
161
162
  oIcon.detachPress(fn2);
162
- sap.ui.getCore().applyChanges();
163
+ await nextUIUpdate();
163
164
  assert.equal(oIcon.$().css("cursor"), "default", "Icon which has no press event handler should not show pointer cursor");
164
165
 
165
166
  oIcon.destroy();
@@ -214,14 +215,14 @@ sap.ui.define([
214
215
  oIcon.destroy();
215
216
  });
216
217
 
217
- QUnit.test("Set color with values in sap.ui.core.IconColor enum", function(assert) {
218
+ QUnit.test("Set color with values in sap.ui.core.IconColor enum", async function(assert) {
218
219
  var oIcon = new Icon({
219
220
  src: _IconRegistry.getIconURI("manager"),
220
221
  color: IconColor.Critical
221
222
  });
222
223
 
223
224
  oIcon.placeAt("uiAreaA");
224
- sap.ui.getCore().applyChanges();
225
+ await nextUIUpdate();
225
226
  assert.ok(oIcon.$().hasClass("sapUiIconColorCritical"), "The color property set in instantiation is applied");
226
227
  oIcon.setColor(IconColor.Positive);
227
228
  assert.ok(oIcon.$().hasClass("sapUiIconColorPositive"), "Positive class is set");
@@ -243,14 +244,14 @@ sap.ui.define([
243
244
  oIcon.destroy();
244
245
  });
245
246
 
246
- QUnit.test("Set background-color with values in sap.ui.core.IconColor enum", function(assert) {
247
+ QUnit.test("Set background-color with values in sap.ui.core.IconColor enum", async function(assert) {
247
248
  var oIcon = new Icon({
248
249
  src: _IconRegistry.getIconURI("manager"),
249
250
  backgroundColor: IconColor.Critical
250
251
  });
251
252
 
252
253
  oIcon.placeAt("uiAreaA");
253
- sap.ui.getCore().applyChanges();
254
+ await nextUIUpdate();
254
255
  assert.ok(oIcon.$().hasClass("sapUiIconBGColorCritical"), "The backgroundColor property set in instantiation is applied");
255
256
  oIcon.setBackgroundColor(IconColor.Positive);
256
257
  assert.ok(oIcon.$().hasClass("sapUiIconBGColorPositive"), "Positive class is set");
@@ -272,14 +273,14 @@ sap.ui.define([
272
273
  oIcon.destroy();
273
274
  });
274
275
 
275
- QUnit.test("set src should also change the tooltip", function(assert) {
276
+ QUnit.test("set src should also change the tooltip", async function(assert) {
276
277
  var oIcon = new Icon({
277
278
  src: _IconRegistry.getIconURI("delete"),
278
279
  decorative: false
279
280
  });
280
281
 
281
282
  oIcon.placeAt("uiAreaA");
282
- sap.ui.getCore().applyChanges();
283
+ await nextUIUpdate();
283
284
 
284
285
  var sTitle = getIconTitle(oIcon);
285
286
  var sLabel = oIcon.$().attr("aria-label");
@@ -290,7 +291,7 @@ sap.ui.define([
290
291
  assert.ok(!sLabelledBy, "No aria-labelledby has been set");
291
292
 
292
293
  oIcon.setSrc(_IconRegistry.getIconURI("add"));
293
- sap.ui.getCore().applyChanges();
294
+ await nextUIUpdate();
294
295
 
295
296
  assert.notEqual(getIconTitle(oIcon), sTitle, "Tooltip should have changed when changing the icon src.");
296
297
  assert.notEqual(oIcon.$().attr("aria-label"), sLabel, "ARIA label is changed when changing the icon src");
@@ -299,7 +300,7 @@ sap.ui.define([
299
300
  oIcon.destroy();
300
301
  });
301
302
 
302
- QUnit.test("set src should not change aria-label when 'labelledby' is set", function(assert) {
303
+ QUnit.test("set src should not change aria-label when 'labelledby' is set", async function(assert) {
303
304
  var sLabelledById = "foo",
304
305
  oIcon = new Icon({
305
306
  src: _IconRegistry.getIconURI("delete"),
@@ -308,7 +309,7 @@ sap.ui.define([
308
309
  });
309
310
 
310
311
  oIcon.placeAt("uiAreaA");
311
- sap.ui.getCore().applyChanges();
312
+ await nextUIUpdate();
312
313
 
313
314
  var sTitle = getIconTitle(oIcon);
314
315
  var sLabel = oIcon.$().attr("aria-label");
@@ -327,7 +328,7 @@ sap.ui.define([
327
328
  assert.equal(aLabels[0], sLabelledById, "The first label id in aLabelledBy should be the one set to ariaLabelledBy");
328
329
 
329
330
  oIcon.setSrc(_IconRegistry.getIconURI("add"));
330
- sap.ui.getCore().applyChanges();
331
+ await nextUIUpdate();
331
332
 
332
333
  assert.notEqual(getIconTitle(oIcon), sTitle, "Tooltip should have changed when changing the icon src.");
333
334
  assert.equal(oIcon.$().attr("aria-label"), undefined, "ARIA label should still not be set when changing the icon src.");
@@ -338,13 +339,13 @@ sap.ui.define([
338
339
  oIcon.destroy();
339
340
  });
340
341
 
341
- QUnit.test("src with icon name only should use default icon collection", function(assert) {
342
+ QUnit.test("src with icon name only should use default icon collection", async function(assert) {
342
343
  var oIcon = new Icon({
343
344
  src: "delete"
344
345
  });
345
346
 
346
347
  oIcon.placeAt("uiAreaA");
347
- sap.ui.getCore().applyChanges();
348
+ await nextUIUpdate();
348
349
 
349
350
  assert.equal(
350
351
  oIcon.$().attr("data-sap-ui-icon-content"),
@@ -365,7 +366,7 @@ sap.ui.define([
365
366
  });
366
367
 
367
368
  this.oAriaIcon.placeAt("qunit-fixture");
368
- sap.ui.getCore().applyChanges();
369
+ return nextUIUpdate();
369
370
  },
370
371
  afterEach: function () {
371
372
  this.oAriaIcon.destroy();
@@ -373,7 +374,7 @@ sap.ui.define([
373
374
  }
374
375
  });
375
376
 
376
- QUnit.test("When decorative is defaulting to true", function (assert) {
377
+ QUnit.test("When decorative is defaulting to true", async function (assert) {
377
378
  var $icon = this.oAriaIcon.$();
378
379
 
379
380
  assert.strictEqual($icon.attr("role"), "presentation", "role should be set to presentation");
@@ -383,17 +384,17 @@ sap.ui.define([
383
384
  assert.notEqual($icon.attr("aria-label"), undefined, "aria-label is output");
384
385
 
385
386
  this.oAriaIcon.setTooltip(this.sTooltip);
386
- sap.ui.getCore().applyChanges();
387
+ await nextUIUpdate();
387
388
 
388
389
  $icon = this.oAriaIcon.$();
389
390
  assert.strictEqual(getIconTitle(this.oAriaIcon), this.sTooltip, "title is rendered with property 'tooltip'");
390
391
  assert.strictEqual($icon.attr("aria-label"), this.sTooltip, "aria-label is output with property 'tooltip'");
391
392
  });
392
393
 
393
- QUnit.test("When decorative is set to false", function (assert) {
394
+ QUnit.test("When decorative is set to false", async function (assert) {
394
395
  this.oAriaIcon.setDecorative(false);
395
396
  this.oAriaIcon.setTooltip(this.sTooltip);
396
- sap.ui.getCore().applyChanges();
397
+ await nextUIUpdate();
397
398
 
398
399
  var $icon = this.oAriaIcon.$();
399
400
 
@@ -405,18 +406,18 @@ sap.ui.define([
405
406
 
406
407
  // setting alt makes the aria-label differ from the title.
407
408
  this.oAriaIcon.setAlt(this.sAlt);
408
- sap.ui.getCore().applyChanges();
409
+ await nextUIUpdate();
409
410
 
410
411
  $icon = this.oAriaIcon.$();
411
412
  assert.strictEqual(getIconTitle(this.oAriaIcon), this.sTooltip, "title is rendered with property 'tooltip'");
412
413
  assert.strictEqual($icon.attr("aria-label"), this.sAlt, "aria-label still doesn't exist in the DOM");
413
414
  });
414
415
 
415
- QUnit.test("press handler, noTabStop and accessbility", function(assert) {
416
+ QUnit.test("press handler, noTabStop and accessbility", async function(assert) {
416
417
  var fnPressHandler = function() {};
417
418
 
418
419
  this.oAriaIcon.attachPress(fnPressHandler);
419
- sap.ui.getCore().applyChanges();
420
+ await nextUIUpdate();
420
421
 
421
422
  var $icon = this.oAriaIcon.$();
422
423
  assert.strictEqual($icon.attr("role"), "presentation", "role is set to presentation");
@@ -424,51 +425,51 @@ sap.ui.define([
424
425
  assert.notEqual(getIconTitle(this.oAriaIcon), undefined, "title is set");
425
426
 
426
427
  this.oAriaIcon.setNoTabStop(true);
427
- sap.ui.getCore().applyChanges();
428
+ await nextUIUpdate();
428
429
  $icon = this.oAriaIcon.$();
429
430
  assert.strictEqual($icon.attr("tabindex"), undefined, "no tabindex when noTabStop is set to true");
430
431
 
431
432
  this.oAriaIcon.setNoTabStop(false);
432
- sap.ui.getCore().applyChanges();
433
+ await nextUIUpdate();
433
434
  $icon = this.oAriaIcon.$();
434
435
  assert.strictEqual($icon.attr("tabindex"), "0", "tabindex is restored when noTabStop is set to false");
435
436
 
436
437
  this.oAriaIcon.detachPress(fnPressHandler);
437
- sap.ui.getCore().applyChanges();
438
+ await nextUIUpdate();
438
439
  assert.strictEqual($icon.attr("role"), "presentation", "role is set back to presentation");
439
440
  assert.strictEqual($icon.attr("tabindex"), undefined, "no tabindex is output");
440
441
 
441
442
  this.oAriaIcon.setDecorative(false);
442
443
  this.oAriaIcon.attachPress(fnPressHandler);
443
444
 
444
- sap.ui.getCore().applyChanges();
445
+ await nextUIUpdate();
445
446
  $icon = this.oAriaIcon.$();
446
447
  assert.strictEqual($icon.attr("role"), "button", "role is set to button");
447
448
  assert.strictEqual($icon.attr("tabindex"), "0", "tabindex is set to 0");
448
449
 
449
450
  this.oAriaIcon.detachPress(fnPressHandler);
450
- sap.ui.getCore().applyChanges();
451
+ await nextUIUpdate();
451
452
  $icon = this.oAriaIcon.$();
452
453
  assert.strictEqual($icon.attr("role"), "img", "role is set back to img");
453
454
  assert.strictEqual($icon.attr("tabindex"), undefined, "no tabindex is output");
454
455
  });
455
456
 
456
- QUnit.test("alt and accessbility", function(assert) {
457
+ QUnit.test("alt and accessbility", async function(assert) {
457
458
  this.oAriaIcon.setAlt(this.sAlt);
458
459
  this.oAriaIcon.setTooltip(this.sTooltip);
459
- sap.ui.getCore().applyChanges();
460
+ await nextUIUpdate();
460
461
 
461
462
  var $icon = this.oAriaIcon.$();
462
463
  assert.strictEqual(getIconTitle(this.oAriaIcon), this.sTooltip, "title is output using tooltip");
463
464
  assert.strictEqual($icon.attr("aria-label"), this.sAlt, "aria-label is output using alt property");
464
465
  });
465
466
 
466
- QUnit.test("When ariaLabelledBy IS set", function (assert) {
467
+ QUnit.test("When ariaLabelledBy IS set", async function (assert) {
467
468
  var sId = "non-existing-id",
468
469
  $Icon, $InvisibleText, sText;
469
470
 
470
471
  this.oAriaIcon.addAriaLabelledBy(sId);
471
- sap.ui.getCore().applyChanges();
472
+ await nextUIUpdate();
472
473
 
473
474
  $Icon = this.oAriaIcon.$();
474
475
  $InvisibleText = this.oAriaIcon.$("label");
@@ -480,7 +481,7 @@ sap.ui.define([
480
481
 
481
482
  // setting alt makes the refered aria-labelledby text differ from the title.
482
483
  this.oAriaIcon.setAlt(this.sAlt);
483
- sap.ui.getCore().applyChanges();
484
+ await nextUIUpdate();
484
485
 
485
486
  $Icon = this.oAriaIcon.$();
486
487
  $InvisibleText = this.oAriaIcon.$("label");
@@ -492,11 +493,11 @@ sap.ui.define([
492
493
  assert.strictEqual(sText, this.sAlt, "The content of InvisibleText is set with the given alt");
493
494
  });
494
495
 
495
- QUnit.test("Property noTabStop", function (assert) {
496
+ QUnit.test("Property noTabStop", async function (assert) {
496
497
  var fnPressHandler = function() {};
497
498
 
498
499
  this.oAriaIcon.setNoTabStop(true);
499
- sap.ui.getCore().applyChanges();
500
+ await nextUIUpdate();
500
501
 
501
502
  var $Icon = this.oAriaIcon.$();
502
503
  assert.strictEqual($Icon.attr("tabindex"), undefined, "no tabindex exists");
@@ -536,9 +537,9 @@ sap.ui.define([
536
537
  });
537
538
 
538
539
  QUnit.module("Property 'useIconTooltip'", {
539
- createIcon: function(mSettings) {
540
+ createIcon: async function(mSettings) {
540
541
  this.oIcon = new Icon(mSettings).placeAt("qunit-fixture");
541
- sap.ui.getCore().applyChanges();
542
+ await nextUIUpdate();
542
543
  },
543
544
  afterEach: function() {
544
545
  if (this.oIcon) {
@@ -548,10 +549,10 @@ sap.ui.define([
548
549
  }
549
550
  });
550
551
 
551
- QUnit.test("useIconTooltip = true (default) / without tooltip", function (assert) {
552
+ QUnit.test("useIconTooltip = true (default) / without tooltip", async function (assert) {
552
553
  var oIconInfo = IconPool.getIconInfo("add");
553
554
 
554
- this.createIcon({
555
+ await this.createIcon({
555
556
  src: oIconInfo.uri
556
557
  });
557
558
 
@@ -561,9 +562,9 @@ sap.ui.define([
561
562
  assert.equal(this.oIcon.$().attr("aria-labelledby"), undefined, "aria-labelledby should be undefined");
562
563
  });
563
564
 
564
- QUnit.test("useIconTooltip = true (default) / with tooltip", function (assert) {
565
+ QUnit.test("useIconTooltip = true (default) / with tooltip", async function (assert) {
565
566
  var sTooltip = "this is a tooltip";
566
- this.createIcon({
567
+ await this.createIcon({
567
568
  src: _IconRegistry.getIconURI("add"),
568
569
  tooltip: sTooltip
569
570
  });
@@ -572,8 +573,8 @@ sap.ui.define([
572
573
  assert.equal(this.oIcon.$().attr("aria-labelledby"), undefined, "aria-labelledby should be undefined");
573
574
  });
574
575
 
575
- QUnit.test("useIconTooltip = false / without tooltip", function (assert) {
576
- this.createIcon({
576
+ QUnit.test("useIconTooltip = false / without tooltip", async function (assert) {
577
+ await this.createIcon({
577
578
  src: _IconRegistry.getIconURI("add"),
578
579
  useIconTooltip: false
579
580
  });
@@ -582,9 +583,9 @@ sap.ui.define([
582
583
  assert.equal(this.oIcon.$().attr("aria-labelledby"), undefined, "aria-labelledby should be undefined");
583
584
  });
584
585
 
585
- QUnit.test("useIconTooltip = false / with tooltip", function (assert) {
586
+ QUnit.test("useIconTooltip = false / with tooltip", async function (assert) {
586
587
  var sTooltip = "this is a tooltip";
587
- this.createIcon({
588
+ await this.createIcon({
588
589
  src: _IconRegistry.getIconURI("add"),
589
590
  useIconTooltip: false,
590
591
  tooltip: sTooltip
@@ -595,9 +596,9 @@ sap.ui.define([
595
596
  });
596
597
 
597
598
  QUnit.module("Loading of additional icon fonts", {
598
- createIcon: function(mSettings, fnCallback) {
599
+ createIcon: async function(mSettings, fnCallback) {
599
600
  this.oIcon = new Icon(mSettings).placeAt("qunit-fixture");
600
- sap.ui.getCore().applyChanges();
601
+ await nextUIUpdate();
601
602
  },
602
603
  afterEach: function() {
603
604
  if (this.oIcon) {
@@ -607,17 +608,17 @@ sap.ui.define([
607
608
  }
608
609
  });
609
610
 
610
- QUnit.test("Render icon without loading the corresponding font", function (assert) {
611
+ QUnit.test("Render icon without loading the corresponding font", async function (assert) {
611
612
  assert.ok(Log, "Log module should be available");
612
613
  var oErrorSpy = sinon.spy(Log, "error");
613
614
 
614
- this.createIcon({src: "sap-icon://tnt/technicalsystem"});
615
+ await this.createIcon({src: "sap-icon://tnt/technicalsystem"});
615
616
  assert.strictEqual(oErrorSpy.callCount, 1, "Rendering of an icon without loading the corresponding font throws an error");
616
617
 
617
618
  oErrorSpy.restore();
618
619
  });
619
620
 
620
- QUnit.test("Refresh icon content after font was loaded lazily", function (assert) {
621
+ QUnit.test("Refresh icon content after font was loaded lazily", async function (assert) {
621
622
  // load additional icon font
622
623
  IconPool.registerFont({
623
624
  collectionName: "tnt",
@@ -629,12 +630,12 @@ sap.ui.define([
629
630
  var oLoadFontMetadataSpy = sinon.spy(_IconRegistry, "_loadFontMetadata");
630
631
 
631
632
  // instantiate icon
632
- this.createIcon({src: "sap-icon://tnt/technicalsystem"});
633
+ await this.createIcon({src: "sap-icon://tnt/technicalsystem"});
633
634
  assert.strictEqual(this.oIcon.$().attr("data-sap-ui-icon-content"), undefined, "The icon content attribute is not set yet while the font is loading");
634
635
  assert.ok(oLoadFontMetadataSpy.called, "The loading of metadata for new font is triggered");
635
636
 
636
- return _IconRegistry.getIconInfo("sap-icon://tnt/technicalsystem", "async").then(function() {
637
- sap.ui.getCore().applyChanges();
637
+ return _IconRegistry.getIconInfo("sap-icon://tnt/technicalsystem", "async").then(async function() {
638
+ await nextUIUpdate();
638
639
 
639
640
  assert.strictEqual(this.oIcon.$().attr("data-sap-ui-icon-content"), String.fromCharCode(0xe000), "Icon content has been set properly after the font is loaded");
640
641
  assert.strictEqual(this.oIcon.$().css("font-family").replace(/"|'/g, ""), "SAP-icons-TNT", "Icon font family has been set properly after the font is loaded");
@@ -643,24 +644,24 @@ sap.ui.define([
643
644
  }.bind(this));
644
645
  });
645
646
 
646
- QUnit.test("Render a non-existent icon", function (assert) {
647
+ QUnit.test("Render a non-existent icon", async function (assert) {
647
648
  var oErrorSpy = sinon.spy(Log, "warning");
648
649
 
649
- this.createIcon({src: "sap-icon://tnt/doesnotexist"});
650
+ await this.createIcon({src: "sap-icon://tnt/doesnotexist"});
650
651
  assert.ok(oErrorSpy.called, "Rendering of an icon without loading the corresponding font throws warning");
651
652
 
652
653
  oErrorSpy.restore();
653
654
  });
654
655
 
655
- QUnit.test("The same icon is displayed immediately after font was loaded lazily", function (assert) {
656
- this.createIcon({src: "sap-icon://tnt/technicalsystem"});
656
+ QUnit.test("The same icon is displayed immediately after font was loaded lazily", async function (assert) {
657
+ await this.createIcon({src: "sap-icon://tnt/technicalsystem"});
657
658
 
658
659
  assert.strictEqual(this.oIcon.$().attr("data-sap-ui-icon-content"), String.fromCharCode(0xe000), "The icon content attribute is not set yet while the font is loading");
659
660
  assert.strictEqual(this.oIcon.$().css("font-family").replace(/"|'/g, ""), "SAP-icons-TNT", "Icon font family has been set properly after the font is loaded");
660
661
  });
661
662
 
662
- QUnit.test("A different icon is displayed immediately after font was loaded lazily", function (assert) {
663
- this.createIcon({src: "sap-icon://tnt/python"});
663
+ QUnit.test("A different icon is displayed immediately after font was loaded lazily", async function (assert) {
664
+ await this.createIcon({src: "sap-icon://tnt/python"});
664
665
 
665
666
  assert.strictEqual(this.oIcon.$().attr("data-sap-ui-icon-content"), String.fromCharCode(0xe00f), "The icon content attribute is not set yet while the font is loading");
666
667
  assert.strictEqual(this.oIcon.$().css("font-family").replace(/"|'/g, ""), "SAP-icons-TNT", "Icon font family has been set properly after the font is loaded");
@@ -459,12 +459,13 @@ sap.ui.define([
459
459
  const oInsertFontFaceStyleSpy = sinon.spy(_IconRegistry, "insertFontFaceStyle");
460
460
  const sExpectedFontURI = sap.ui.require.toUrl("sap/tnt/themes/base/fonts/horizon/");
461
461
 
462
+ Theming.setTheme("sap_horizon");
463
+
462
464
  Theming.attachApplied(() => {
463
465
  assert.ok(oInsertFontFaceStyleSpy.calledWith("SAP-icons-TNT", sExpectedFontURI, "sap-tnt-icons-horizon-2"));
464
466
  res();
465
467
  });
466
468
 
467
- Theming.setTheme("sap_horizon");
468
469
  });
469
470
  });
470
471
  });