@openui5/sap.ui.core 1.117.0 → 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 (833) 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/src/ui5loader.js +2 -2
  348. package/test/sap/ui/core/ComponentCleanup.html +228 -225
  349. package/test/sap/ui/core/ComponentConfig.html +1 -1
  350. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +1 -1
  351. package/test/sap/ui/core/ComponentExtensibility_legacyAPIs.html +1 -1
  352. package/test/sap/ui/core/ComponentSimple.html +1 -1
  353. package/test/sap/ui/core/ComponentSimpleModel.html +1 -1
  354. package/test/sap/ui/core/ComponentSupport.html +1 -1
  355. package/test/sap/ui/core/DateFormat.js +3 -3
  356. package/test/sap/ui/core/EventBroadcaster.html +62 -62
  357. package/test/sap/ui/core/Formats.html +4 -2
  358. package/test/sap/ui/core/GenericEventBinding.html +53 -52
  359. package/test/sap/ui/core/ListFormat.js +3 -3
  360. package/test/sap/ui/core/NumberFormat.js +3 -3
  361. package/test/sap/ui/core/ODataAnnotationsPerformance.html +28 -28
  362. package/test/sap/ui/core/ODataV2CanonicalRequests.html +3 -2
  363. package/test/sap/ui/core/ODataV2Messages.html +4 -3
  364. package/test/sap/ui/core/PopupWithUserSelection.html +1 -1
  365. package/test/sap/ui/core/Strings.js +3 -3
  366. package/test/sap/ui/core/ValidateURL.html +143 -143
  367. package/test/sap/ui/core/demokit/sample/Commands/Commands.html +1 -1
  368. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/Controller.controller.js +10 -10
  369. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +7 -7
  370. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/Component.js +3 -2
  371. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +3 -2
  372. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +7 -8
  373. package/test/sap/ui/core/demokit/sample/OpaGetStarted/applicationUnderTest/index.html +9 -6
  374. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/applicationUnderTest/index.html +13 -10
  375. package/test/sap/ui/core/demokit/sample/PatternMatching/Patterns.html +11 -8
  376. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/RoutingFullscreen.html +11 -8
  377. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/RoutingMasterDetail.html +11 -8
  378. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/RoutingNestedComponent.html +1 -1
  379. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.html +1 -1
  380. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/test/integration/opaTests.qunit.js +5 -4
  381. package/test/sap/ui/core/demokit/sample/TargetsStandalone/TargetsStandalone.html +11 -8
  382. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +9 -8
  383. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +12 -11
  384. package/test/sap/ui/core/demokit/sample/common/Controller.js +6 -7
  385. package/test/sap/ui/core/demokit/sample/common/Helper.js +6 -2
  386. package/test/sap/ui/core/demokit/sample/common/init.js +25 -21
  387. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/WebsiteCode.js +8 -7
  388. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +9 -8
  389. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +3 -2
  390. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +12 -10
  391. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ListReport.controller.js +3 -2
  392. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +10 -9
  393. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +10 -9
  394. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +4 -4
  395. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +3 -3
  396. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +10 -9
  397. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +19 -0
  398. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +93 -0
  399. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +85 -0
  400. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/SandboxModel.js +10 -0
  401. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +396 -0
  402. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +423 -0
  403. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +70 -0
  404. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +11 -10
  405. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +9 -8
  406. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +10 -9
  407. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +8 -7
  408. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +8 -10
  409. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +12 -11
  410. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.controller.js +3 -2
  411. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +11 -10
  412. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/MIT.RecursiveHierarchy maintenance.html +408 -0
  413. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.js +26 -8
  414. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -14
  415. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +24 -10
  416. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +352 -287
  417. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +38 -5
  418. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +128 -0
  419. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +23 -22
  420. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +10 -9
  421. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +9 -8
  422. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +3 -2
  423. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +15 -14
  424. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +9 -8
  425. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +9 -8
  426. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +10 -9
  427. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +10 -9
  428. package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +2 -5
  429. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +8 -0
  430. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +7 -3
  431. package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +2 -5
  432. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +8 -0
  433. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +4 -3
  434. package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +2 -5
  435. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +8 -0
  436. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +4 -3
  437. package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +2 -5
  438. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +8 -0
  439. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +4 -3
  440. package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +2 -5
  441. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +8 -0
  442. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +4 -3
  443. package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +2 -5
  444. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +8 -0
  445. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +4 -3
  446. package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +2 -5
  447. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +8 -0
  448. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +4 -3
  449. package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +2 -5
  450. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +8 -0
  451. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +4 -3
  452. package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +2 -5
  453. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +8 -0
  454. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +4 -3
  455. package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +2 -5
  456. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +8 -0
  457. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +4 -3
  458. package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +2 -5
  459. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +8 -0
  460. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +6 -4
  461. package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +2 -5
  462. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +8 -0
  463. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +6 -4
  464. package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +2 -5
  465. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +8 -0
  466. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +6 -4
  467. package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +2 -5
  468. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +8 -0
  469. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +6 -4
  470. package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +2 -5
  471. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +8 -0
  472. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +6 -4
  473. package/test/sap/ui/core/demokit/tutorial/mockserver/01/package.json +2 -5
  474. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +8 -0
  475. package/test/sap/ui/core/demokit/tutorial/mockserver/02/package.json +2 -5
  476. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +8 -0
  477. package/test/sap/ui/core/demokit/tutorial/mockserver/03/package.json +2 -5
  478. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +8 -0
  479. package/test/sap/ui/core/demokit/tutorial/mockserver/04/package.json +2 -5
  480. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +8 -0
  481. package/test/sap/ui/core/demokit/tutorial/navigation/01/package.json +2 -4
  482. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +7 -0
  483. package/test/sap/ui/core/demokit/tutorial/navigation/01/webapp/index.html +1 -1
  484. package/test/sap/ui/core/demokit/tutorial/navigation/02/package.json +2 -4
  485. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +7 -0
  486. package/test/sap/ui/core/demokit/tutorial/navigation/02/webapp/index.html +1 -1
  487. package/test/sap/ui/core/demokit/tutorial/navigation/03/package.json +2 -4
  488. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +7 -0
  489. package/test/sap/ui/core/demokit/tutorial/navigation/03/webapp/index.html +1 -1
  490. package/test/sap/ui/core/demokit/tutorial/navigation/04/package.json +2 -4
  491. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +7 -0
  492. package/test/sap/ui/core/demokit/tutorial/navigation/04/webapp/index.html +1 -1
  493. package/test/sap/ui/core/demokit/tutorial/navigation/05/package.json +2 -4
  494. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +7 -0
  495. package/test/sap/ui/core/demokit/tutorial/navigation/05/webapp/index.html +1 -1
  496. package/test/sap/ui/core/demokit/tutorial/navigation/06/package.json +2 -4
  497. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +7 -0
  498. package/test/sap/ui/core/demokit/tutorial/navigation/06/webapp/index.html +1 -1
  499. package/test/sap/ui/core/demokit/tutorial/navigation/07/package.json +2 -4
  500. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +7 -0
  501. package/test/sap/ui/core/demokit/tutorial/navigation/07/webapp/index.html +1 -1
  502. package/test/sap/ui/core/demokit/tutorial/navigation/08/package.json +2 -4
  503. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +7 -0
  504. package/test/sap/ui/core/demokit/tutorial/navigation/08/webapp/index.html +1 -1
  505. package/test/sap/ui/core/demokit/tutorial/navigation/09/package.json +2 -4
  506. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +7 -0
  507. package/test/sap/ui/core/demokit/tutorial/navigation/09/webapp/index.html +1 -1
  508. package/test/sap/ui/core/demokit/tutorial/navigation/10/package.json +2 -4
  509. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +7 -0
  510. package/test/sap/ui/core/demokit/tutorial/navigation/10/webapp/index.html +1 -1
  511. package/test/sap/ui/core/demokit/tutorial/navigation/11/package.json +2 -4
  512. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +7 -0
  513. package/test/sap/ui/core/demokit/tutorial/navigation/11/webapp/index.html +1 -1
  514. package/test/sap/ui/core/demokit/tutorial/navigation/12/package.json +2 -4
  515. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +7 -0
  516. package/test/sap/ui/core/demokit/tutorial/navigation/12/webapp/index.html +1 -1
  517. package/test/sap/ui/core/demokit/tutorial/navigation/13/package.json +2 -4
  518. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +7 -0
  519. package/test/sap/ui/core/demokit/tutorial/navigation/13/webapp/index.html +1 -1
  520. package/test/sap/ui/core/demokit/tutorial/navigation/14/package.json +2 -4
  521. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +7 -0
  522. package/test/sap/ui/core/demokit/tutorial/navigation/14/webapp/index.html +1 -1
  523. package/test/sap/ui/core/demokit/tutorial/navigation/15/package.json +2 -4
  524. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +7 -0
  525. package/test/sap/ui/core/demokit/tutorial/navigation/15/webapp/index.html +1 -1
  526. package/test/sap/ui/core/demokit/tutorial/navigation/16/package.json +2 -4
  527. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +7 -0
  528. package/test/sap/ui/core/demokit/tutorial/navigation/16/webapp/index.html +1 -1
  529. package/test/sap/ui/core/demokit/tutorial/navigation/17/package.json +4 -6
  530. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +8 -1
  531. package/test/sap/ui/core/demokit/tutorial/navigation/17/webapp/index.html +1 -1
  532. package/test/sap/ui/core/demokit/tutorial/navigation/index.html +2 -2
  533. package/test/sap/ui/core/demokit/tutorial/odatav4/01/package.json +2 -6
  534. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +9 -0
  535. package/test/sap/ui/core/demokit/tutorial/odatav4/02/package.json +2 -6
  536. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +9 -0
  537. package/test/sap/ui/core/demokit/tutorial/odatav4/03/package.json +2 -6
  538. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +9 -0
  539. package/test/sap/ui/core/demokit/tutorial/odatav4/04/package.json +2 -6
  540. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +9 -0
  541. package/test/sap/ui/core/demokit/tutorial/odatav4/05/package.json +2 -6
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +9 -0
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/06/package.json +2 -6
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +9 -0
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +5 -5
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/07/package.json +2 -6
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +9 -0
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +7 -7
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/08/package.json +2 -6
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +9 -0
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +7 -7
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.js +5 -5
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/pages/Tutorial.js +1 -1
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/09/package.json +2 -6
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +9 -0
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +7 -7
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/10/package.json +2 -6
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +9 -0
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +7 -7
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/11/package.json +2 -6
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +9 -0
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +7 -7
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.js +5 -5
  564. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/pages/Tutorial.js +1 -1
  565. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/package.json +2 -5
  566. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +8 -0
  567. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/test/integration/opaTests.qunit.js +6 -6
  568. package/test/sap/ui/core/frameoptions/createcontent.js +7 -6
  569. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -1
  570. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exStringAndFloat/Test.controller.js +3 -2
  571. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -1
  572. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.js +8 -8
  573. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -1
  574. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.html +1 -1
  575. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +7 -7
  576. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -1
  577. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +3 -2
  578. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/MIT.SalesOrders(V2).ODLB.create.html +2 -0
  579. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +3 -3
  580. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.html +1 -1
  581. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Opa.qunit.js +9 -6
  582. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +3 -0
  583. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/data/ODLB.create/TC3/SalesOrderSet_desc_4-1.json +16 -0
  584. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/index.html +1 -1
  585. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/tests/ODataListBinding.create/TC3_SalesOrders_InlineCreationRow.js +9 -0
  586. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +3 -2
  587. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +3 -3
  588. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -1
  589. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +9 -7
  590. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +4 -2
  591. package/test/sap/ui/core/qunit/ContextMenuSupport.qunit.js +3 -2
  592. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +11 -10
  593. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +218 -223
  594. package/test/sap/ui/core/qunit/Core.qunit.js +35 -31
  595. package/test/sap/ui/core/qunit/CoreEvents.qunit.js +17 -15
  596. package/test/sap/ui/core/qunit/Core_repeatedExecution.qunit.js +3 -3
  597. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +4 -3
  598. package/test/sap/ui/core/qunit/Element_data.qunit.js +5 -5
  599. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -4
  600. package/test/sap/ui/core/qunit/Element_focus.qunit.js +25 -24
  601. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +3 -2
  602. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +7 -6
  603. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +1 -1
  604. package/test/sap/ui/core/qunit/FastNavigationWithWebComponents.qunit.js +5 -5
  605. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -6
  606. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +7 -6
  607. package/test/sap/ui/core/qunit/Fragment.qunit.js +35 -34
  608. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +51 -50
  609. package/test/sap/ui/core/qunit/HTML.qunit.js +32 -32
  610. package/test/sap/ui/core/qunit/Icon.qunit.js +66 -65
  611. package/test/sap/ui/core/qunit/IconPool.qunit.js +2 -1
  612. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +13 -12
  613. package/test/sap/ui/core/qunit/Lib.qunit.js +8 -8
  614. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +24 -24
  615. package/test/sap/ui/core/qunit/RenderManager.qunit.js +54 -53
  616. package/test/sap/ui/core/qunit/ResizeHandler.qunit.js +8 -9
  617. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +7 -6
  618. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +13 -11
  619. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +6 -5
  620. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -4
  621. package/test/sap/ui/core/qunit/Theming.qunit.js +88 -50
  622. package/test/sap/ui/core/qunit/Theming_default_and_fallback.qunit.js +130 -0
  623. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +4 -3
  624. package/test/sap/ui/core/qunit/UIArea.qunit.js +248 -18
  625. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.js +9 -8
  626. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +10 -10
  627. package/test/sap/ui/core/qunit/base/Config.qunit.js +12 -2
  628. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +123 -52
  629. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -0
  630. package/test/sap/ui/core/qunit/base/config/GlobalConfig.js +3 -1
  631. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +4 -1
  632. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +3 -3
  633. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal_legacyAPIs.qunit.js +13 -11
  634. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -1
  635. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomScript_legacyAPIs.qunit.js +13 -11
  636. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery_legacyAPIs.qunit.js +7 -5
  637. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +12 -14
  638. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  639. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +1 -1
  640. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +1 -1
  641. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +12 -6
  642. package/test/sap/ui/core/qunit/component/Component.qunit.js +14 -15
  643. package/test/sap/ui/core/qunit/component/Component_unavoidablySync.qunit.js +4 -3
  644. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +4 -5
  645. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +4 -3
  646. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +4 -6
  647. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +3 -5
  648. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +3 -6
  649. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -8
  650. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +4 -5
  651. package/test/sap/ui/core/qunit/component/ExtensionPoint_unavoidablySync.qunit.js +4 -3
  652. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +19 -19
  653. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +19 -19
  654. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +43 -43
  655. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +18 -13
  656. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +19 -18
  657. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +13 -12
  658. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +5 -4
  659. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +7 -6
  660. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +7 -6
  661. package/test/sap/ui/core/qunit/generic/legacy/ControlIterator.qunit.js +6 -6
  662. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +20 -17
  663. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +8 -7
  664. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -2
  665. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +14 -19
  666. package/test/sap/ui/core/qunit/internal/1Ring.qunit.js +34 -22
  667. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -6
  668. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +4 -0
  669. package/test/sap/ui/core/qunit/isBehindOtherElement.qunit.js +7 -7
  670. package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
  671. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +3 -2
  672. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +16 -16
  673. package/test/sap/ui/core/qunit/messages/{MessageManager.qunit.js → Messaging.qunit.js} +46 -49
  674. package/test/sap/ui/core/qunit/messages/messagesDataBinding.qunit.js +3 -1
  675. package/test/sap/ui/core/qunit/messages/messagesEnd2End.qunit.js +10 -10
  676. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +36 -46
  677. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +25 -36
  678. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +2 -2
  679. package/test/sap/ui/core/qunit/model/Binding.qunit.js +8 -8
  680. package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +24 -14
  681. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +7 -6
  682. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +3 -2
  683. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync_unavoidablyUsingInlineStyle.qunit.js +5 -4
  684. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +8 -9
  685. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +45 -40
  686. package/test/sap/ui/core/qunit/mvc/testdata/stashed/OP.html +1 -1
  687. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +15 -20
  688. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +20 -25
  689. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyViewAsync_legacyAPIs.qunit.js +10 -11
  690. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AnyView_legacyAPIs.qunit.js +7 -6
  691. package/test/sap/ui/core/qunit/mvc_legacyAPIs/HTMLView_legacyAPIs.qunit.js +8 -7
  692. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +7 -7
  693. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +40 -47
  694. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +52 -20
  695. package/test/sap/ui/core/qunit/odata/{ODataListBinding.qunit.js → ODataListBinding_legacyAPIs.qunit.js} +27 -0
  696. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +44 -48
  697. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +8 -8
  698. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +66 -29
  699. package/test/sap/ui/core/qunit/odata/ODataMetadata.qunit.js +17 -7
  700. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +147 -89
  701. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +1 -0
  702. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +33 -12
  703. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +33 -12
  704. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +5 -4
  705. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +63 -13
  706. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +281 -59
  707. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +28 -4
  708. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +21 -0
  709. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +1 -2
  710. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding.qunit.js +7 -207
  711. package/test/sap/ui/core/qunit/odata/v2/ODataV2ListBinding_Filter_legacyAPIs.qunit.js +281 -0
  712. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +9 -8
  713. package/test/sap/ui/core/qunit/odata/v2/ODataV2TreeBinding.qunit.js +1 -0
  714. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +95 -85
  715. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +70 -67
  716. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +19 -20
  717. package/test/sap/ui/core/qunit/odata/v2/testsuite.odatav2.qunit.js +4 -0
  718. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +50 -27
  719. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +5 -0
  720. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +4 -3
  721. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +103 -14
  722. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1027 -31
  723. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +18 -17
  724. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -36
  725. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +115 -82
  726. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +10 -0
  727. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +108 -10
  728. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +1 -1
  729. package/test/sap/ui/core/qunit/opa/Opa5PageObject.qunit.js +5 -6
  730. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +29 -42
  731. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +13 -14
  732. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -4
  733. package/test/sap/ui/core/qunit/opa/actions/Action.qunit.js +6 -5
  734. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +22 -21
  735. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +60 -56
  736. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +5 -7
  737. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +5 -9
  738. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +5 -6
  739. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -4
  740. package/test/sap/ui/core/qunit/opa/autowaiter/_resourceWaiter.js +21 -20
  741. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +6 -5
  742. package/test/sap/ui/core/qunit/opa/matchers/Interactable.qunit.js +7 -5
  743. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -3
  744. package/test/sap/ui/core/qunit/opa/matchers/Sibling.qunit.js +4 -3
  745. package/test/sap/ui/core/qunit/opa/matchers/Visible.qunit.js +6 -5
  746. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +28 -27
  747. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +11 -10
  748. package/test/sap/ui/core/qunit/opa/matchers/_Enabled.qunit.js +11 -10
  749. package/test/sap/ui/core/qunit/opa/matchers/_Visitor.qunit.js +5 -4
  750. package/test/sap/ui/core/qunit/opa/opa5/actions.qunit.js +8 -7
  751. package/test/sap/ui/core/qunit/opa/opa5/basics.qunit.js +12 -17
  752. package/test/sap/ui/core/qunit/opa/opa5/logging.qunit.js +5 -6
  753. package/test/sap/ui/core/qunit/opa/opa5/matchers.qunit.js +6 -5
  754. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +10 -9
  755. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +6 -7
  756. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +4 -3
  757. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +4 -3
  758. package/test/sap/ui/core/qunit/opa/selectors/_GlobalID.js +4 -3
  759. package/test/sap/ui/core/qunit/opa/selectors/_LabelFor.js +4 -3
  760. package/test/sap/ui/core/qunit/opa/selectors/_Properties.js +33 -27
  761. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +7 -10
  762. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +5 -7
  763. package/test/sap/ui/core/qunit/opa/selectors/_ViewID.js +5 -7
  764. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +35 -28
  765. package/test/sap/ui/core/qunit/routing/Placeholder.qunit.js +11 -9
  766. package/test/sap/ui/core/qunit/routing/PlaceholderOptOut.qunit.js +5 -3
  767. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +57 -0
  768. package/test/sap/ui/core/qunit/routing/fixture/historyIframe/iframe/index.html +1 -1
  769. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/Component.js +30 -0
  770. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Child/manifest.json +25 -0
  771. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/Component.js +14 -0
  772. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/manifest.json +51 -0
  773. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/NotFound.view.xml +3 -0
  774. package/test/sap/ui/core/qunit/routing/fixture/router/component/2LevelsMultiNavTo/Parent/view/RootView.view.xml +5 -0
  775. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +24 -17
  776. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +3 -3
  777. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +3 -3
  778. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +9 -18
  779. package/test/sap/ui/core/qunit/support/techinfo/TechnicalInfoTestbench.html +3 -1
  780. package/test/sap/ui/core/qunit/test/starter/find/index.html +1 -1
  781. package/test/sap/ui/core/qunit/test/starter/find/main.js +3 -2
  782. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +0 -6
  783. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  784. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +10 -6
  785. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +27 -4
  786. package/test/sap/ui/core/qunit/tmpl/Template.qunit.js +36 -35
  787. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +13 -0
  788. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  789. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +2 -2
  790. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  791. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +27 -31
  792. package/test/sap/ui/core/qunit/util/Popup.qunit.js +27 -27
  793. package/test/sap/ui/core/qunit/util/ResponsivePaddingsEnablement.qunit.js +13 -9
  794. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +37 -6
  795. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +1 -1
  796. package/test/sap/ui/core/qunit/util/jquery.sap.dom.qunit.js +3 -2
  797. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +8 -8
  798. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +24 -24
  799. package/test/sap/ui/core/qunit/util/static/TechnicalInfoTestbenchInit.js +8 -2
  800. package/test/sap/ui/core/qunit/webc/WebComponent.qunit.js +188 -0
  801. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.html +14 -0
  802. package/test/sap/ui/core/qunit/webc/testsuite.webc.qunit.js +22 -0
  803. package/test/sap/ui/core/relnotes/changes-1.117.json +1 -34
  804. package/test/sap/ui/core/relnotes/changes-1.118.json +143 -0
  805. package/test/sap/ui/core/samples/components/resourcesCSS/index.html +1 -1
  806. package/test/sap/ui/core/samples/databinding/DataBinding.html +3 -1
  807. package/test/sap/ui/core/samples/databinding/DataBindingAsyncType.html +3 -2
  808. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +3 -1
  809. package/test/sap/ui/core/samples/databinding/DataBindingList.html +3 -1
  810. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +3 -1
  811. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +3 -1
  812. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +3 -1
  813. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +3 -1
  814. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +102 -113
  815. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +3 -1
  816. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +90 -89
  817. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +149 -148
  818. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +3 -2
  819. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +158 -153
  820. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +4 -6
  821. package/test/sap/ui/core/samples/databinding/UnitTableMain.js +3 -4
  822. package/test/sap/ui/core/samples/extensions/index_legacyAPIs.html +15 -13
  823. package/test/sap/ui/core/samples/formatting/controller/ChooseFormatOptions.controller.js +3 -2
  824. package/test/sap/ui/core/samples/mvc/ExtendedXMLViewEventHandlerSyntax.html +5 -3
  825. package/test/sap/ui/core/samples/mvc/XMLViewBindableAggregation.html +1 -1
  826. package/test/testsuite/testframe.html +4 -4
  827. package/src/ui5-boot.js +0 -50
  828. package/test/sap/ui/core/qunit/CoreLock.qunit.js +0 -61
  829. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.js +0 -30
  830. /package/test/sap/ui/core/qunit/{MasterDetail.qunit.js → MasterDetail_legacyAPIs.qunit.js} +0 -0
  831. /package/test/sap/ui/core/qunit/odata/{ODataModel.qunit.js → ODataModel_legacyAPIs.qunit.js} +0 -0
  832. /package/test/sap/ui/core/qunit/odata/{ODataSharedMetadata.qunit.js → ODataSharedMetadata_legacyAPIs.qunit.js} +0 -0
  833. /package/test/sap/ui/core/qunit/odata/{ODataTreeBinding.qunit.js → ODataTreeBinding_legacyAPIs.qunit.js} +0 -0
@@ -291,89 +291,160 @@ sap.ui.define([
291
291
  });
292
292
 
293
293
  QUnit.test("Configuration freeze", function(assert) {
294
- assert.expect(8);
295
- assert.strictEqual(BaseConfiguration.get({
296
- name: "sapUiParamD",
297
- type: BaseConfiguration.Type.String,
298
- external: true,
299
- freeze: true
300
- }), "global", "BaseConfiguration.get for param 'sapUiParamD' returns value 'global'");
294
+ assert.expect(87);
295
+ var oGlobalProviderGetSpy = sinon.spy(GlobalConfigurationProvider, "get");
296
+ var oWritableBootInstance = BaseConfiguration.getWritableBootInstance();
301
297
 
302
- assert.strictEqual(BaseConfiguration.get({
303
- name: "sapUiParamE",
304
- type: BaseConfiguration.Type.String,
305
- external: true
306
- }), "xx-global", "BaseConfiguration.get for param 'paramE' returns correct value 'xx-global'");
298
+ // BaseConfiguration and WritableBootInstance use both the identical get function, therefore
299
+ // the result should be always the same, but the first call could be either answered by cache
300
+ // or by provider whether the second call must always be answered by cache.
301
+ function assertBaseConfigGet(sName, vResult, sMessage, bFreeze) {
302
+ assert.strictEqual(oWritableBootInstance.get({
303
+ name: sName,
304
+ type: BaseConfiguration.Type.String,
305
+ external: true,
306
+ freeze: bFreeze
307
+ }), vResult, "WritableBootInstance: " + sMessage);
308
+ assert.strictEqual(BaseConfiguration.get({
309
+ name: sName,
310
+ type: BaseConfiguration.Type.String,
311
+ external: true
312
+ }), vResult, "BaseConfiguration: " + sMessage);
313
+ }
314
+ // Params provided and changed via globalThis['sap-ui-config']
315
+ assertBaseConfigGet("sapUiParamD", "global", "get: for param 'sapUiParamD' returns value 'global'", true);
316
+ assertBaseConfigGet("sapUiXxParamE", "xx-global", "get: for param 'xxParamE' returns correct value 'xx-global'");
317
+ // Params provided via globalThis['sap-ui-config'] and changed via WritableBootInstance.set
318
+ assertBaseConfigGet("sapUiParamG", "global", "get: for param 'paramG' returns correct value 'global'", true);
319
+ assertBaseConfigGet("sapUiParamH", "global", "get: for param 'paramH' returns correct value 'global'");
320
+ // Params not provided at all and changed via WritableBootInstance.set
321
+ assertBaseConfigGet("sapUiNotProvidedParamA", "", "get: for param 'notProvidedParamA' returns correct value ''", true);
322
+ assertBaseConfigGet("sapUiNotProvidedParamB", "", "get: for param 'notProvidedParamB' returns correct value ''");
323
+ // Params not provided at all and changed via WritableBootInstance.set and globalThis['sap-ui-config']
324
+ assertBaseConfigGet("sapUiNotProvidedParamC", "", "get: for param 'notProvidedParamC' returns correct value ''", true);
325
+ assertBaseConfigGet("sapUiNotProvidedParamD", "", "get: for param 'notProvidedParamD' returns correct value ''");
307
326
 
308
- globalThis["sap-ui-config"]["paramD"] = "hubelDubel";
309
- globalThis["sap-ui-config"]["paramE"] = "hubelDubel";
310
- BaseConfiguration._.invalidate();
327
+ // Param is provided via globalThis['sap-ui-config'] in lowercase and the param should not become frozen
328
+ assertBaseConfigGet("sapUiParamLowercase", "lowercase", "get: for param 'paramlowercase' returns correct value 'lowercase'");
329
+
330
+ assert.strictEqual(oGlobalProviderGetSpy.callCount, 13, "No entries in cache. All 'get' calls to the provider, eigth regular and four times for the 'xx'-fallback. BaseConfiguration already reads from cache within 'assertBaseConfigGet'.");
331
+ assert.ok(oGlobalProviderGetSpy.getCall(0).calledWithExactly("sapUiParamD", true), "1st call was for 'sapUiParamD' with additional parameter freeze 'true'.");
332
+ assert.ok(oGlobalProviderGetSpy.getCall(1).calledWithExactly("sapUiXxParamE", undefined), "2nd call was for 'sapUiXxParamE' with additional parameter freeze 'undefined'.");
333
+ assert.ok(oGlobalProviderGetSpy.getCall(2).calledWithExactly("sapUiParamG", true), "3rd call was for 'sapUiParamG' with additional parameter freeze 'true'.");
334
+ assert.ok(oGlobalProviderGetSpy.getCall(3).calledWithExactly("sapUiParamH", undefined), "4th call was for 'sapUiParamH' with additional parameter freeze 'undefined'.");
335
+ assert.ok(oGlobalProviderGetSpy.getCall(4).calledWithExactly("sapUiNotProvidedParamA", true), "5th call was for 'sapUiNotProvidedParamA' with additional parameter freeze 'true'.");
336
+ assert.ok(oGlobalProviderGetSpy.getCall(5).calledWithExactly("sapUiXxNotProvidedParamA", true), "6th call was for 'sapUiXxNotProvidedParamA' with additional parameter freeze 'true'.");
337
+ assert.ok(oGlobalProviderGetSpy.getCall(6).calledWithExactly("sapUiNotProvidedParamB", undefined), "7th call was for 'sapUiNotProvidedParamB' with additional parameter freeze 'undefined'.");
338
+ assert.ok(oGlobalProviderGetSpy.getCall(7).calledWithExactly("sapUiXxNotProvidedParamB", undefined), "8th call was for 'sapUiXxNotProvidedParamB' with additional parameter freeze 'undefined'.");
339
+ assert.ok(oGlobalProviderGetSpy.getCall(8).calledWithExactly("sapUiNotProvidedParamC", true), "9th call was for 'sapUiNotProvidedParamC' with additional parameter freeze 'true'.");
340
+ assert.ok(oGlobalProviderGetSpy.getCall(9).calledWithExactly("sapUiXxNotProvidedParamC", true), "10th call was for 'sapUiXxNotProvidedParamC' with additional parameter freeze 'true'.");
341
+ assert.ok(oGlobalProviderGetSpy.getCall(10).calledWithExactly("sapUiNotProvidedParamD", undefined), "11th call was for 'sapUiNotProvidedParamD' with additional parameter freeze 'undefined'.");
342
+ assert.ok(oGlobalProviderGetSpy.getCall(11).calledWithExactly("sapUiXxNotProvidedParamD", undefined), "12th call was for 'sapUiXxNotProvidedParamD' with additional parameter freeze 'undefined'.");
343
+ assert.ok(oGlobalProviderGetSpy.getCall(12).calledWithExactly("sapUiParamLowercase", undefined), "12th call was for 'sapUiParamLowercase' with additional parameter freeze 'undefined'.");
344
+ oGlobalProviderGetSpy.reset();
311
345
 
312
346
  var oLogSpy = sinon.spy(sap.ui.loader._.logger, "error");
313
347
 
314
- assert.strictEqual(BaseConfiguration.get({
315
- name: "sapUiParamD",
316
- type: BaseConfiguration.Type.String,
317
- external: true
318
- }), "global", "BaseConfiguration.get for param 'sapUiParamD' still returns value 'global'");
348
+ // Change some parameter using the globalThis['sap-ui-config'] object
349
+ globalThis["sap-ui-config"]["paramD"] = "hubelDubel";
350
+ globalThis["sap-ui-config"]["xx-paramE"] = "hubelDubel";
351
+ globalThis["sap-ui-config"]["notProvidedParamC"] = "hubelDubel";
352
+ globalThis["sap-ui-config"]["notProvidedParamD"] = "hubelDubel";
319
353
 
320
- assert.strictEqual(BaseConfiguration.get({
321
- name: "sapUiParamE",
322
- type: BaseConfiguration.Type.String,
323
- external: true
324
- }), "xx-global", "BaseConfiguration.get for param 'paramE' still returns correct value 'xx-global'");
354
+ // Change some parameter using WritableBootInstance.set
355
+ oWritableBootInstance.set("sapUiParamG", "HubelDubel");
356
+ oWritableBootInstance.set("sapUiParamH", "HubelDubel");
357
+ oWritableBootInstance.set("sapUiNotProvidedParamA", "HubelDubel");
358
+ oWritableBootInstance.set("sapUiNotProvidedParamB", "HubelDubel");
359
+ oWritableBootInstance.set("sapUiNotProvidedParamC", "HubelDubel");
360
+ oWritableBootInstance.set("sapUiNotProvidedParamD", "HubelDubel");
361
+ assert.strictEqual(oLogSpy.callCount, 3, "There should be 3 log messages.");
362
+ assert.ok(oLogSpy.calledWith("Configuration option 'sapUiParamG' was frozen and cannot be changed to HubelDubel!"), "Correct error message logged.");
363
+ assert.ok(oLogSpy.calledWith("Configuration option 'sapUiNotProvidedParamA' was frozen and cannot be changed to HubelDubel!"), "Correct error message logged.");
364
+ assert.ok(oLogSpy.calledWith("Configuration option 'sapUiNotProvidedParamC' was frozen and cannot be changed to HubelDubel!"), "Correct error message logged.");
365
+ oLogSpy.reset();
366
+
367
+ assertBaseConfigGet("sapUiParamD", "global", "BaseConfiguration.get for param 'sapUiParamD' still returns value 'global'");
368
+ assertBaseConfigGet("sapUiXxParamE", "xx-global", "BaseConfiguration.get for param 'paramE' still returns correct value 'xx-global'");
369
+ assertBaseConfigGet("sapUiParamG", "global", "BaseConfiguration.get for param 'paramG' returns correct value 'global'");
370
+ assertBaseConfigGet("sapUiParamH", "HubelDubel", "BaseConfiguration.get for param 'paramH' returns correct value 'HubelDubel'");
371
+ assertBaseConfigGet("sapUiNotProvidedParamA", "", "BaseConfiguration.get for param 'notProvidedParamA' returns correct value ''");
372
+ assertBaseConfigGet("sapUiNotProvidedParamB", "HubelDubel", "BaseConfiguration.get for param 'notProvidedParamB' returns correct value 'HubelDubel'");
373
+ assertBaseConfigGet("sapUiNotProvidedParamC", "", "BaseConfiguration.get for param 'notProvidedParamC' returns correct value ''");
374
+ assertBaseConfigGet("sapUiNotProvidedParamD", "HubelDubel", "BaseConfiguration.get for param 'notProvidedParamD' returns correct value 'HubelDubel'");
375
+
376
+ assert.strictEqual(oGlobalProviderGetSpy.callCount, 10, "All entries were cached, but WriteabelConfig.set clears the cache. There are only two 'xx'-fallback because 'sapUiParamG' and 'sapUiParamH' are not evaluated before freeze of provider.");
377
+ oGlobalProviderGetSpy.reset();
325
378
 
326
379
  GlobalConfigurationProvider.freeze();
327
- BaseConfiguration._.invalidate();
328
- assert.strictEqual(oLogSpy.callCount, 1, "There should be 1 log message.");
380
+ // Set after freeze should not change any parameter
381
+ oWritableBootInstance.set("sapUiParamLowercase", "HubelDubel");
382
+ assert.strictEqual(oLogSpy.callCount, 3, "There should be 3 log messages.");
329
383
  assert.ok(oLogSpy.calledWith("Configuration option 'sapUiParamD' was frozen and cannot be changed to hubelDubel!"), "Correct error message logged.");
384
+ assert.ok(oLogSpy.calledWith("Configuration option 'sapUiNotProvidedParamC' was frozen and cannot be changed to hubelDubel!"), "Correct error message logged.");
385
+ assert.ok(oLogSpy.calledWith("Configuration option 'sapUiParamLowercase' was frozen and cannot be changed to HubelDubel!"), "Correct error message logged.");
386
+ oLogSpy.reset();
330
387
 
331
- assert.strictEqual(BaseConfiguration.get({
332
- name: "sapUiParamD",
333
- type: BaseConfiguration.Type.String,
334
- external: true
335
- }), "global", "After freeze: BaseConfiguration.get for param 'sapUiParamD' returns default value 'global'");
388
+ assertBaseConfigGet("sapUiParamD", "global", "get (after freeze): for param 'sapUiParamD' returns default value 'global'");
389
+ assertBaseConfigGet("sapUiXxParamE", "hubelDubel", "get (after freeze): for param 'sapUiParamE' returns correct value 'hubelDubel'");
390
+ assertBaseConfigGet("sapUiParamG", "global", "get (after freeze): for param 'sapUiParamG' returns correct value 'hubelDubel'");
391
+ assertBaseConfigGet("sapUiParamH", "HubelDubel", "get (after freeze): for param 'sapUiParamH' returns correct value 'HubelDubel'");
392
+ assertBaseConfigGet("sapUiNotProvidedParamA", "", "get (after freeze): for param 'sapUiNotProvidedParamA' returns correct value ''");
393
+ assertBaseConfigGet("sapUiNotProvidedParamB", "HubelDubel", "get (after freeze): for param 'sapUiNotProvidedParamB' returns correct value 'HubelDubel'");
394
+ assertBaseConfigGet("sapUiNotProvidedParamC", "", "get (after freeze): for param 'sapUiNotProvidedParamC' returns correct value ''");
395
+ assertBaseConfigGet("sapUiNotProvidedParamD", "HubelDubel", "get (after freeze): for param 'sapUiNotProvidedParamD' returns correct value 'HubelDubel'");
396
+ assertBaseConfigGet("sapUiParamLowercase", "lowercase", "get (after freeze): for param 'sapUiParamLowercase' returns correct value 'lowercase'");
336
397
 
337
- assert.strictEqual(BaseConfiguration.get({
338
- name: "sapUiParamE",
339
- type: BaseConfiguration.Type.String,
340
- external: true
341
- }), "hubelDubel", "After freeze: BaseConfiguration.get for param 'sapUiParamE' returns correct value 'hubelDubel'");
398
+ assert.strictEqual(oGlobalProviderGetSpy.callCount, 11, "The cache should be emtpy again after freeze. There are two 'xx'-fallback calls because frozen value of 'sapUiNotProvidedParamA' and 'sapUiNotProvidedParamC' is 'undefined'.");
399
+ assert.ok(oGlobalProviderGetSpy.getCall(0).calledWithExactly("sapUiParamD", undefined), "1st call was for 'sapUiParamD' with additional parameter freeze 'undefined'.");
400
+ assert.ok(oGlobalProviderGetSpy.getCall(1).calledWithExactly("sapUiXxParamE", undefined), "2nd call was for 'sapUiXxParamE' with additional parameter freeze 'undefined'.");
401
+ assert.ok(oGlobalProviderGetSpy.getCall(2).calledWithExactly("sapUiParamG", undefined), "3rd call was for 'sapUiParamG' with additional parameter freeze 'undefined'.");
402
+ assert.ok(oGlobalProviderGetSpy.getCall(3).calledWithExactly("sapUiParamH", undefined), "4th call was for 'sapUiParamH' with additional parameter freeze 'undefined'.");
403
+ assert.ok(oGlobalProviderGetSpy.getCall(4).calledWithExactly("sapUiNotProvidedParamA", undefined), "5th call was for 'sapUiNotProvidedParamA' with additional parameter freeze 'undefined'.");
404
+ assert.ok(oGlobalProviderGetSpy.getCall(5).calledWithExactly("sapUiXxNotProvidedParamA", undefined), "6th call was for 'sapUiXxNotProvidedParamA' with additional parameter freeze 'undefined'.");
405
+ assert.ok(oGlobalProviderGetSpy.getCall(6).calledWithExactly("sapUiNotProvidedParamB", undefined), "7th call was for 'sapUiNotProvidedParamB' with additional parameter freeze 'undefined'.");
406
+ assert.ok(oGlobalProviderGetSpy.getCall(7).calledWithExactly("sapUiNotProvidedParamC", undefined), "8th call was for 'sapUiNotProvidedParamC' with additional parameter freeze 'undefined'.");
407
+ assert.ok(oGlobalProviderGetSpy.getCall(8).calledWithExactly("sapUiXxNotProvidedParamC", undefined), "9th call was for 'sapUiXxNotProvidedParamC' with additional parameter freeze 'undefined'.");
408
+ assert.ok(oGlobalProviderGetSpy.getCall(9).calledWithExactly("sapUiNotProvidedParamD", undefined), "10th call was for 'sapUiNotProvidedParamD' with additional parameter freeze 'undefined'.");
409
+ assert.ok(oGlobalProviderGetSpy.getCall(10).calledWithExactly("sapUiParamLowercase", undefined), "11th call was for 'sapUiParamLowercase' with additional parameter freeze 'undefined'.");
410
+
411
+ oGlobalProviderGetSpy.restore();
412
+ oLogSpy.restore();
342
413
  });
343
414
 
344
415
  QUnit.test("Configuration write", function(assert) {
345
416
  assert.expect(5);
346
417
 
347
- var oWriteableInstance1 = BaseConfiguration.getWritableInstance();
348
- var oWriteableInstance2 = BaseConfiguration.getWritableInstance();
418
+ var oWritableInstance1 = BaseConfiguration.getWritableInstance();
419
+ var oWritableInstance2 = BaseConfiguration.getWritableInstance();
349
420
 
350
- oWriteableInstance1.set("myNewParameter", true);
351
- oWriteableInstance2.set("myNewParameter", false);
421
+ oWritableInstance1.set("myNewParameter", true);
422
+ oWritableInstance2.set("myNewParameter", false);
352
423
 
353
- assert.strictEqual(oWriteableInstance1.get({
424
+ assert.strictEqual(oWritableInstance1.get({
354
425
  name: "myNewParameter",
355
- type: oWriteableInstance2.Type.Boolean
426
+ type: oWritableInstance2.Type.Boolean
356
427
  }), true, "WritableInstance1.get for param 'myNewParameter' returns value 'true'");
357
- assert.strictEqual(oWriteableInstance2.get({
428
+ assert.strictEqual(oWritableInstance2.get({
358
429
  name: "myNewParameter",
359
- type: oWriteableInstance2.Type.Boolean,
430
+ type: oWritableInstance2.Type.Boolean,
360
431
  defaultValue: true
361
432
  }), false, "WritableInstance2.get for param 'myNewParameter' returns value 'false'");
362
433
 
363
- oWriteableInstance1.set("sapUiParamA", "write");
364
- assert.strictEqual(oWriteableInstance1.get({
434
+ oWritableInstance1.set("sapUiParamA", "write");
435
+ assert.strictEqual(oWritableInstance1.get({
365
436
  name: "sapUiParamA",
366
- type: oWriteableInstance2.Type.String,
437
+ type: oWritableInstance2.Type.String,
367
438
  external: true
368
439
  }), "write", "WritableInstance1.get for param 'sapUiParamA' returns value 'write'");
369
- assert.strictEqual(oWriteableInstance2.get({
440
+ assert.strictEqual(oWritableInstance2.get({
370
441
  name: "sapUiParamA",
371
- type: oWriteableInstance2.Type.String,
442
+ type: oWritableInstance2.Type.String,
372
443
  external: true
373
444
  }), "url", "WritableInstance2.get for param 'sapUiParamA' returns value 'url'");
374
445
 
375
446
  assert.throws(function () {
376
- oWriteableInstance1.set("sap-ui-param1", true);
377
- }, new TypeError("Invalid configuration key 'sap-ui-param1'!"), "oWriteableInstance1.set for param 'sap-ui-param1' throws error 'Invalid configuration key 'sap-ui-param1'!'");
447
+ oWritableInstance1.set("sap-ui-param1", true);
448
+ }, new TypeError("Invalid configuration key 'sap-ui-param1'!"), "oWritableInstance1.set for param 'sap-ui-param1' throws error 'Invalid configuration key 'sap-ui-param1'!'");
378
449
  });
379
450
  });
@@ -18,6 +18,8 @@
18
18
  <meta name="sap-ui-xx-farBoo" content="value12">
19
19
  <meta name="sap-ui-sap/foo/bar" content="value13">
20
20
  <meta name="sap-ushell-foo-bar" content="value14">
21
+ <meta name="sap-ui-initialFalsyValue"=false>
22
+ <meta name="sap-ui-initial-falsy-value" content=true>
21
23
 
22
24
  <script src="../../../../../../resources/ui5loader.js"></script>
23
25
  <script src="../../../../../../resources/ui5loader-autoconfig.js"></script>
@@ -15,6 +15,8 @@
15
15
  "xxBarFoo": "value11", // valid
16
16
  "xx-farBoo": "value12", // valid
17
17
  "sap/foo/bar": "value13", // invalid
18
- "sap-ushell-foo-bar": "value14" // valid but sap-ui- prefixed
18
+ "sap-ushell-foo-bar": "value14", // valid but sap-ui- prefixed
19
+ "initialFalsyValue": false, // valid
20
+ "initial-falsy-value": false // duplicate
19
21
  };
20
22
  })();
@@ -9,6 +9,8 @@
9
9
  "paramD": "global",
10
10
  "xx-paramE": "xx-global",
11
11
  "xxParamF": "xxGlobal",
12
+ "paramG": "global",
13
+ "paramH": "global",
12
14
  "paramBoolean": "true",
13
15
  "paramBooleanAsString": "X",
14
16
  "paramFunction": function () {
@@ -32,6 +34,7 @@
32
34
  "paramStringArrayAsString": "stringArrayAsString,stringArrayAsStr",
33
35
  "paramInteger": 5,
34
36
  "paramNull": null,
35
- "paramEnum": "enumValue"
37
+ "paramEnum": "enumValue",
38
+ "paramlowercase": "lowercase"
36
39
  };
37
40
  })();
@@ -11,7 +11,7 @@
11
11
  QUnit.test("When sap/ui/core/Core has been required...", function(assert) {
12
12
  var coreInitFired = false;
13
13
  var done = assert.async();
14
- sap.ui.require(['sap/ui/core/Core'], function() {
14
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
15
15
  // TODO clarify how to handle jQuery gloabls
16
16
  assert.strictEqual(typeof jQuery, "function", "...function jQuery should exist");
17
17
  assert.strictEqual(typeof jQuery.prototype.position, "function", "...function jQuery.fn.position should exist");
@@ -19,14 +19,14 @@
19
19
  "...loader should know module 'sap/ui/thirdparty/jquery' and its export");
20
20
  assert.strictEqual(sap.ui.require('sap/ui/thirdparty/jqueryui/jquery-ui-position'), jQuery,
21
21
  "...loader should know module 'sap/ui/thirdparty/jqueryui/jquery-ui-position' and its export");
22
- sap.ui.getCore().attachInit(function() {
22
+ Core.ready().then(function() {
23
23
  coreInitFired = true;
24
24
  assert.ok(coreInitFired, "...init event should be fired after boot");
25
25
  done();
26
26
  });
27
27
  setTimeout(function() {
28
28
  assert.notOk(coreInitFired, "...but Core should not have fired init event before boot");
29
- sap.ui.getCore().boot();
29
+ Core.boot();
30
30
  }, 500);
31
31
  });
32
32
  });
@@ -17,9 +17,9 @@
17
17
  });
18
18
 
19
19
  QUnit.test("When sap/ui/core/Core has been required...", function(assert) {
20
- var coreInitFired = false;
20
+ var coreReady = false;
21
21
  var done = assert.async();
22
- sap.ui.require(['sap/ui/core/Core'], function() {
22
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
23
23
  assert.strictEqual(typeof jQuery, "function", "...function jQuery should exist");
24
24
  assert.strictEqual(typeof jQuery.prototype.position, "function", "...function jQuery.fn.position should exist");
25
25
  assert.strictEqual(sap.ui.require('sap/ui/thirdparty/jquery'), jQuery,
@@ -31,11 +31,11 @@
31
31
  assert.strictEqual(typeof sap.ui.core, "object", "...the namespace sap.ui.core should exist");
32
32
  assert.strictEqual(typeof sap.ui.model, "object", "...the namespace sap.ui.model should exist (status quo, not mandatory)");
33
33
  assert.strictEqual(typeof sap.ui.getCore, "function", "...the function sap.ui.getCore should exist");
34
- sap.ui.getCore().attachInit(function() {
35
- coreInitFired = true;
34
+ Core.ready().then(function() {
35
+ coreReady = true;
36
36
  });
37
37
  setTimeout(function() {
38
- assert.notOk(coreInitFired, "...but Core should not have fired init event");
38
+ assert.notOk(coreReady, "...but Core should not have fired init event");
39
39
  assert.strictEqual(typeof sap.m, "undefined", "...and library namespace sap.m should not yet exist");
40
40
  assert.strictEqual(typeof sap.ui.layout, "undefined", "...and library namespace sap.ui.layout should not yet exist");
41
41
  done();
@@ -45,13 +45,15 @@
45
45
 
46
46
  QUnit.test("When boot() has been called on the Core...", function(assert) {
47
47
  var done = assert.async();
48
- sap.ui.getCore().attachInit(function() {
49
- assert.ok(true, "...then the Core should fire the init event");
50
- assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
51
- assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
52
- done();
48
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
49
+ Core.ready().then(function() {
50
+ assert.ok(true, "...then the Core should fire the init event");
51
+ assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
52
+ assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
53
+ done();
54
+ });
55
+ Core.boot();
53
56
  });
54
- sap.ui.getCore().boot();
55
57
  });
56
58
 
57
59
  }());
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
 
21
21
  var id = document.querySelector("html").getAttribute("data-sap-ui-browser");
22
22
  if ( Device.browser.name ) {
23
- assert.strictEqual(id, Device.browser.name + Device.browser.versionStr, "browser is known: data-sap-ui-browser should have been set and must not be empty");
23
+ assert.strictEqual(id, Device.browser.name + Math.floor(Device.browser.versionStr), "browser is known: data-sap-ui-browser should have been set and must not be empty");
24
24
  } else {
25
25
  assert.ok(!id, "browser is unknown: data-sap-ui-browser should not have been set (or empty)");
26
26
  }
@@ -2,7 +2,7 @@
2
2
  (function(){
3
3
  "use strict";
4
4
 
5
- var coreInitFired = false;
5
+ var coreReady = false;
6
6
 
7
7
  QUnit.test("After loading the minimal bootstrap code...", function(assert) {
8
8
  assert.strictEqual(typeof sap.ui.define, "function", "...function sap.ui.define should exist");
@@ -19,17 +19,17 @@
19
19
 
20
20
  QUnit.test("When sap/ui/core/Core has been required", function(assert) {
21
21
  var done = assert.async();
22
- sap.ui.require(['sap/ui/core/Core'], function() {
22
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
23
23
  assert.strictEqual(typeof sap.ui.Device, "object", "...utility object sap.ui.Device should exist");
24
24
  assert.strictEqual(typeof sap.ui.base, "object", "...the namespace sap.ui.base should exist");
25
25
  assert.strictEqual(typeof sap.ui.core, "object", "...the namespace sap.ui.core should exist");
26
26
  assert.strictEqual(typeof sap.ui.model, "object", "...the namespace sap.ui.model should exist (status quo, not mandatory)");
27
27
  assert.strictEqual(typeof sap.ui.getCore, "function", "...the function sap.ui.getCore should exist");
28
- sap.ui.getCore().attachInit(function() {
29
- coreInitFired = true;
28
+ Core.ready().then(function() {
29
+ coreReady = true;
30
30
  });
31
31
  setTimeout(function() {
32
- assert.notOk(coreInitFired, "...but Core should not have fired init event");
32
+ assert.notOk(coreReady, "...but Core should not have fired init event");
33
33
  assert.strictEqual(typeof sap.m, "undefined", "...and library namespace sap.m should not yet exist");
34
34
  assert.strictEqual(typeof sap.ui.layout, "undefined", "...and library namespace sap.ui.layout should not yet exist");
35
35
  done();
@@ -39,13 +39,15 @@
39
39
 
40
40
  QUnit.test("When boot() has been called on the Core...", function(assert) {
41
41
  var done = assert.async();
42
- sap.ui.getCore().attachInit(function() {
43
- assert.ok(true, "...then the Core should fire the init event");
44
- assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
45
- assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
46
- done();
42
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
43
+ Core.ready().then(function() {
44
+ assert.ok(true, "...then the Core should fire the init event");
45
+ assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
46
+ assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
47
+ done();
48
+ });
49
+ Core.boot();
47
50
  });
48
- sap.ui.getCore().boot();
49
51
  });
50
52
 
51
53
  }());
@@ -21,11 +21,13 @@
21
21
  assert.strictEqual(typeof sap.ui.getCore, "function", "...the function sap.ui.getCore should exist");
22
22
 
23
23
  var done = assert.async();
24
- sap.ui.getCore().attachInit(function() {
25
- assert.ok(true, "...then the Core should fire the init event");
26
- assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
27
- assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
28
- done();
24
+ sap.ui.require(['sap/ui/core/Core'], function(Core) {
25
+ Core.ready().then(function() {
26
+ assert.ok(true, "...then the Core should fire the init event");
27
+ assert.strictEqual(typeof sap.m, "object", "...the library sap.m should have been loaded");
28
+ assert.strictEqual(typeof sap.ui.layout, "object", "...the library sap.ui.layout should have been loaded");
29
+ done();
30
+ });
29
31
  });
30
32
  });
31
33
 
@@ -1,25 +1,23 @@
1
1
  /*global QUnit*/
2
2
  sap.ui.define([
3
-
4
- ], function() {
3
+ "sap/ui/core/Core"
4
+ ], function(Core) {
5
5
  "use strict";
6
6
 
7
7
  QUnit.test("Calendar Class Loading", function(assert) {
8
- var GregorianClass = sap.ui.require("sap/ui/core/date/Gregorian");
9
- var JapaneseClass = sap.ui.require("sap/ui/core/date/Japanese");
8
+ return Core.ready(function() {
9
+ var GregorianClass = sap.ui.require("sap/ui/core/date/Gregorian");
10
+ var JapaneseClass = sap.ui.require("sap/ui/core/date/Japanese");
10
11
 
11
- assert.notOk(GregorianClass, "The calendar class shouldn't be loaded");
12
- assert.ok(JapaneseClass, "The calendar class is loaded");
12
+ assert.notOk(GregorianClass, "The calendar class shouldn't be loaded");
13
+ assert.ok(JapaneseClass, "The calendar class is loaded");
13
14
 
14
- var bLibraryRequestExists = !!document.querySelector("head > script[src*='sap/ui/core/library.js']");
15
- var bCalendarClassRequestExists = !!document.querySelector("head > script[src*='sap/ui/core/date/Japanese.js']");
15
+ var bLibraryPreloadLoaded = !!document.querySelector("head > script[src*='sap/ui/core/library-preload.js']");
16
+ var bCalendarLoaded = !!document.querySelector("head > script[src*='sap/ui/core/date/Japanese.js']");
16
17
 
17
- // When a single request is sent for loading sap/ui/core/library.js, it means that the
18
- // sap/ui/core/library-preload.js doesn't exist or it has empty content. Therefore the existence of the request
19
- // which loads the calendar class should be the same as the existence of sap/ui/core/library.js. This means that
20
- // when library-preload.js exists, both of library.js and calendar class should be loaded within the
21
- // library-preload.js. When library-preload.js doesn't exists, both of them are loaded with single requests.
22
- assert.ok(bLibraryRequestExists ? bCalendarClassRequestExists : !bCalendarClassRequestExists, "calendar class is loaded within library-preload.js when it exists");
18
+ // If the Core is loaded and booted the correct calendar class must be loaded.
19
+ assert.ok(bLibraryPreloadLoaded ? !bCalendarLoaded : bCalendarLoaded, "calendar class is loaded within library-preload.js when it exists");
20
+ });
23
21
  });
24
22
 
25
23
  });
@@ -2,8 +2,9 @@
2
2
  sap.ui.define([
3
3
  "sap/ui/core/Configuration",
4
4
  "sap/ui/core/Locale",
5
+ "sap/ui/core/theming/ThemeHelper",
5
6
  "sap/ui/Device"
6
- ], function(Configuration, Locale, Device) {
7
+ ], function(Configuration, Locale, ThemeHelper, Device) {
7
8
  "use strict";
8
9
 
9
10
  /*
@@ -45,7 +46,7 @@ sap.ui.define([
45
46
 
46
47
  QUnit.test("Settings", function(assert) {
47
48
  // compare values where possible
48
- assert.equal(Configuration.getTheme(), "base", "theme");
49
+ assert.equal(Configuration.getTheme(), ThemeHelper.getDefaultThemeInfo().DEFAULT_THEME, "theme");
49
50
  assert.equal(toLower(Configuration.getLanguage()), toLower(defaultLocale()), "language");
50
51
  assert.equal(Configuration.getAccessibility(), true, "accessibility");
51
52
  assert.equal(Configuration.getAnimationMode(), Configuration.AnimationMode.full, "animationMode");
@@ -7,7 +7,7 @@ sap.ui.define([
7
7
 
8
8
  QUnit.config.autostart = false;
9
9
 
10
- Core.attachInit(function() {
10
+ Core.ready().then(function() {
11
11
 
12
12
  QUnit.module("Configuration From Tag Attributes");
13
13
 
@@ -17,7 +17,7 @@
17
17
  var id = document.querySelector("html").getAttribute("data-sap-ui-browser");
18
18
  sap.ui.require(["sap/ui/Device"], function (Device) {
19
19
  if ( Device.browser.name ) {
20
- assert.strictEqual(id, Device.browser.name + Device.browser.versionStr, "browser is known: data-sap-ui-browser should have been set and must not be empty");
20
+ assert.strictEqual(id, Device.browser.name + Math.floor(Device.browser.versionStr), "browser is known: data-sap-ui-browser should have been set and must not be empty");
21
21
  } else {
22
22
  assert.ok(!id, "browser is unknown: data-sap-ui-browser should not have been set (or empty)");
23
23
  }
@@ -448,7 +448,8 @@ sap.ui.define(function() {
448
448
  language: "en",
449
449
  preload: "async",
450
450
  theme: "base",
451
- versionedLibCss: false
451
+ versionedLibCss: false,
452
+ XxWaitForTheme: "init"
452
453
  },
453
454
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
454
455
  module: "./ThemeVersion.qunit"
@@ -460,7 +461,8 @@ sap.ui.define(function() {
460
461
  language: "en",
461
462
  preload: "sync",
462
463
  theme: "base",
463
- versionedLibCss: false
464
+ versionedLibCss: false,
465
+ XxWaitForTheme: "init"
464
466
  },
465
467
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
466
468
  module: "./ThemeVersion.qunit"
@@ -477,7 +479,8 @@ sap.ui.define(function() {
477
479
  "sap.ui.core": "test-resources/sap/ui/core/qunit/testdata/customcss/"
478
480
  }
479
481
  },
480
- versionedLibCss: true
482
+ versionedLibCss: true,
483
+ XxWaitForTheme: "init"
481
484
  },
482
485
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
483
486
  module: "./ThemeVersion.qunit",
@@ -492,7 +495,8 @@ sap.ui.define(function() {
492
495
  language: "en",
493
496
  theme: "base",
494
497
  preload: "async",
495
- versionedLibCss: true
498
+ versionedLibCss: true,
499
+ XxWaitForTheme: "init"
496
500
  },
497
501
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
498
502
  module: "./ThemeVersion.qunit"
@@ -512,7 +516,8 @@ sap.ui.define(function() {
512
516
  "sap.ui.core": "test-resources/sap/ui/core/qunit/testdata/customcss/"
513
517
  }
514
518
  },
515
- versionedLibCss: true
519
+ versionedLibCss: true,
520
+ XxWaitForTheme: "init"
516
521
  },
517
522
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
518
523
  module: "./ThemeVersion.qunit"
@@ -527,7 +532,8 @@ sap.ui.define(function() {
527
532
  theme: "base",
528
533
  language: "en",
529
534
  preload: "sync",
530
- versionedLibCss: true
535
+ versionedLibCss: true,
536
+ XxWaitForTheme: "init"
531
537
  },
532
538
  beforeBootstrap: "./ThemeVersion.beforeBootstrap.qunit",
533
539
  module: "./ThemeVersion.qunit"