@openui5/sap.ui.core 1.118.0 → 1.119.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. package/.eslintrc.json +9 -0
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/Localization.js +16 -1
  14. package/src/sap/base/i18n/ResourceBundle.js +5 -0
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/UriParameters.js +26 -19
  17. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  18. package/src/sap/base/util/restricted/_castArray.js +1 -1
  19. package/src/sap/base/util/restricted/_compact.js +1 -1
  20. package/src/sap/base/util/restricted/_curry.js +1 -1
  21. package/src/sap/base/util/restricted/_debounce.js +1 -1
  22. package/src/sap/base/util/restricted/_difference.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_flatten.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_intersection.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isNil.js +1 -1
  37. package/src/sap/base/util/restricted/_max.js +1 -1
  38. package/src/sap/base/util/restricted/_merge.js +1 -1
  39. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  40. package/src/sap/base/util/restricted/_min.js +1 -1
  41. package/src/sap/base/util/restricted/_omit.js +1 -1
  42. package/src/sap/base/util/restricted/_pick.js +1 -1
  43. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  44. package/src/sap/base/util/restricted/_throttle.js +1 -1
  45. package/src/sap/base/util/restricted/_toArray.js +1 -1
  46. package/src/sap/base/util/restricted/_union.js +1 -1
  47. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  48. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  49. package/src/sap/base/util/restricted/_uniq.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  52. package/src/sap/base/util/restricted/_without.js +1 -1
  53. package/src/sap/base/util/restricted/_xor.js +1 -1
  54. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  55. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  58. package/src/sap/ui/Device.js +3 -3
  59. package/src/sap/ui/Global.js +4 -4
  60. package/src/sap/ui/base/BindingInfo.js +25 -3
  61. package/src/sap/ui/base/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +2 -2
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
  66. package/src/sap/ui/base/Metadata.js +3 -3
  67. package/src/sap/ui/base/Object.js +1 -1
  68. package/src/sap/ui/base/ObjectPool.js +1 -1
  69. package/src/sap/ui/core/.library +1 -1
  70. package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +68 -51
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +15 -167
  77. package/src/sap/ui/core/Control.js +2 -2
  78. package/src/sap/ui/core/Core.js +162 -93
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
  81. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  82. package/src/sap/ui/core/Element.js +40 -4
  83. package/src/sap/ui/core/ElementMetadata.js +1 -1
  84. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  85. package/src/sap/ui/core/EventBus.js +19 -2
  86. package/src/sap/ui/core/FocusHandler.js +3 -24
  87. package/src/sap/ui/core/Fragment.js +2 -2
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/History.js +1 -1
  90. package/src/sap/ui/core/Icon.js +1 -1
  91. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  92. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  93. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  94. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  95. package/src/sap/ui/core/InvisibleText.js +2 -2
  96. package/src/sap/ui/core/Item.js +1 -1
  97. package/src/sap/ui/core/LabelEnablement.js +11 -4
  98. package/src/sap/ui/core/LayoutData.js +1 -1
  99. package/src/sap/ui/core/Lib.js +42 -42
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +1 -1
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +1 -1
  105. package/src/sap/ui/core/Message.js +4 -4
  106. package/src/sap/ui/core/Messaging.js +4 -5
  107. package/src/sap/ui/core/Popup.js +3 -3
  108. package/src/sap/ui/core/RenderManager.js +15 -10
  109. package/src/sap/ui/core/Renderer.js +1 -1
  110. package/src/sap/ui/core/Rendering.js +1 -0
  111. package/src/sap/ui/core/ResizeHandler.js +15 -20
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/ShortcutHintsMixin.js +5 -5
  115. package/src/sap/ui/core/StashedControlSupport.js +4 -4
  116. package/src/sap/ui/core/StaticArea.js +66 -74
  117. package/src/sap/ui/core/Theming.js +71 -8
  118. package/src/sap/ui/core/Title.js +1 -1
  119. package/src/sap/ui/core/TooltipBase.js +1 -1
  120. package/src/sap/ui/core/UIArea.js +10 -9
  121. package/src/sap/ui/core/UIComponent.js +2 -2
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +4 -2
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/_IconRegistry.js +2 -0
  128. package/src/sap/ui/core/cache/CacheManager.js +22 -16
  129. package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
  130. package/src/sap/ui/core/date/UI5Date.js +1 -1
  131. package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
  132. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  133. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  134. package/src/sap/ui/core/dnd/DragDropInfo.js +6 -6
  135. package/src/sap/ui/core/dnd/DragInfo.js +4 -4
  136. package/src/sap/ui/core/dnd/DropInfo.js +6 -6
  137. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  138. package/src/sap/ui/core/getCompatibilityVersion.js +64 -0
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  140. package/src/sap/ui/core/library.js +14 -9
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
  142. package/src/sap/ui/core/message/Message.js +14 -13
  143. package/src/sap/ui/core/message/MessageManager.js +12 -13
  144. package/src/sap/ui/core/message/MessageMixin.js +2 -2
  145. package/src/sap/ui/core/message/MessageParser.js +1 -1
  146. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  147. package/src/sap/ui/core/message/MessageType.js +4 -4
  148. package/src/sap/ui/core/messagebundle_ar.properties +2 -2
  149. package/src/sap/ui/core/messagebundle_bg.properties +3 -3
  150. package/src/sap/ui/core/messagebundle_ca.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_cs.properties +4 -4
  152. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_da.properties +3 -3
  154. package/src/sap/ui/core/messagebundle_de.properties +2 -2
  155. package/src/sap/ui/core/messagebundle_el.properties +10 -10
  156. package/src/sap/ui/core/messagebundle_en.properties +4 -4
  157. package/src/sap/ui/core/messagebundle_es.properties +17 -17
  158. package/src/sap/ui/core/messagebundle_fi.properties +1 -1
  159. package/src/sap/ui/core/messagebundle_fr.properties +21 -21
  160. package/src/sap/ui/core/messagebundle_hi.properties +2 -2
  161. package/src/sap/ui/core/messagebundle_hr.properties +6 -6
  162. package/src/sap/ui/core/messagebundle_hu.properties +10 -10
  163. package/src/sap/ui/core/messagebundle_id.properties +5 -5
  164. package/src/sap/ui/core/messagebundle_it.properties +57 -57
  165. package/src/sap/ui/core/messagebundle_iw.properties +5 -5
  166. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_ko.properties +6 -6
  168. package/src/sap/ui/core/messagebundle_lv.properties +5 -5
  169. package/src/sap/ui/core/messagebundle_ms.properties +5 -5
  170. package/src/sap/ui/core/messagebundle_nl.properties +12 -12
  171. package/src/sap/ui/core/messagebundle_no.properties +8 -8
  172. package/src/sap/ui/core/messagebundle_pl.properties +2 -2
  173. package/src/sap/ui/core/messagebundle_pt.properties +8 -8
  174. package/src/sap/ui/core/messagebundle_ro.properties +2 -2
  175. package/src/sap/ui/core/messagebundle_ru.properties +7 -7
  176. package/src/sap/ui/core/messagebundle_sk.properties +2 -2
  177. package/src/sap/ui/core/messagebundle_sl.properties +9 -9
  178. package/src/sap/ui/core/messagebundle_sv.properties +8 -8
  179. package/src/sap/ui/core/messagebundle_th.properties +18 -18
  180. package/src/sap/ui/core/messagebundle_tr.properties +5 -5
  181. package/src/sap/ui/core/messagebundle_uk.properties +8 -8
  182. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  183. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -2
  184. package/src/sap/ui/core/messagebundle_zh_TW.properties +24 -24
  185. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  186. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  187. package/src/sap/ui/core/mvc/JSView.js +1 -1
  188. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  189. package/src/sap/ui/core/mvc/View.js +3 -3
  190. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  191. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  192. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  193. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  194. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  195. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  196. package/src/sap/ui/core/routing/async/Target.js +5 -4
  197. package/src/sap/ui/core/routing/sync/Target.js +3 -3
  198. package/src/sap/ui/core/rules/App.support.js +30 -1
  199. package/src/sap/ui/core/rules/Config.support.js +4 -0
  200. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  201. package/src/sap/ui/core/rules/Theming.support.js +4 -0
  202. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  203. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  204. package/src/sap/ui/core/service/Service.js +1 -1
  205. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  206. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  207. package/src/sap/ui/core/support/Plugin.js +1 -1
  208. package/src/sap/ui/core/support/Support.js +5 -3
  209. package/src/sap/ui/core/support/ToolsAPI.js +8 -4
  210. package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -4
  211. package/src/sap/ui/core/support/plugins/ControlTree.js +31 -13
  212. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  213. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  214. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  215. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  216. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  217. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  218. package/src/sap/ui/core/support/plugins/ViewInfo.js +6 -4
  219. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -2
  220. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  221. package/src/sap/ui/core/themes/base/base.less +275 -269
  222. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  223. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  224. package/src/sap/ui/core/themes/base/global.less +8 -8
  225. package/src/sap/ui/core/theming/Parameters.js +4 -5
  226. package/src/sap/ui/core/theming/ThemeHelper.js +0 -1
  227. package/src/sap/ui/core/theming/ThemeManager.js +15 -14
  228. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  229. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  230. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  231. package/src/sap/ui/core/tmpl/Template.js +1 -1
  232. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -2
  233. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  234. package/src/sap/ui/core/util/Export.js +1 -1
  235. package/src/sap/ui/core/util/ExportCell.js +1 -1
  236. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  237. package/src/sap/ui/core/util/ExportRow.js +1 -1
  238. package/src/sap/ui/core/util/ExportType.js +1 -1
  239. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  240. package/src/sap/ui/core/util/File.js +1 -1
  241. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  242. package/src/sap/ui/core/util/MockServer.js +1 -1
  243. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  244. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +27 -4
  245. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
  246. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
  247. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  248. package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
  249. package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
  250. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  251. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  252. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  253. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  254. package/src/sap/ui/core/webc/WebComponent.js +3 -3
  255. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  256. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  257. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  258. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  259. package/src/sap/ui/debug/ControlTree.js +5 -5
  260. package/src/sap/ui/debug/DebugEnv.js +15 -6
  261. package/src/sap/ui/debug/PropertyList.js +3 -3
  262. package/src/sap/ui/dom/jquery/control.js +3 -4
  263. package/src/sap/ui/events/F6Navigation.js +2 -1
  264. package/src/sap/ui/model/ClientModel.js +33 -1
  265. package/src/sap/ui/model/ClientPropertyBinding.js +17 -1
  266. package/src/sap/ui/model/CompositeDataState.js +1 -1
  267. package/src/sap/ui/model/CompositeType.js +1 -1
  268. package/src/sap/ui/model/DataState.js +1 -1
  269. package/src/sap/ui/model/Filter.js +1 -1
  270. package/src/sap/ui/model/MetaModel.js +1 -1
  271. package/src/sap/ui/model/Model.js +1 -1
  272. package/src/sap/ui/model/SelectionModel.js +1 -1
  273. package/src/sap/ui/model/SimpleType.js +1 -1
  274. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  275. package/src/sap/ui/model/Type.js +1 -1
  276. package/src/sap/ui/model/json/JSONModel.js +2 -3
  277. package/src/sap/ui/model/message/MessageModel.js +3 -7
  278. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  279. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  280. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  282. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  283. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  284. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  285. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  286. package/src/sap/ui/model/odata/type/Date.js +1 -1
  287. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  288. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  289. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  290. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  291. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  292. package/src/sap/ui/model/odata/type/Double.js +1 -1
  293. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  294. package/src/sap/ui/model/odata/type/Int.js +1 -1
  295. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  296. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  297. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  298. package/src/sap/ui/model/odata/type/ODataType.js +2 -3
  299. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  300. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  301. package/src/sap/ui/model/odata/type/Single.js +1 -1
  302. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  303. package/src/sap/ui/model/odata/type/String.js +1 -1
  304. package/src/sap/ui/model/odata/type/Time.js +1 -1
  305. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  306. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  307. package/src/sap/ui/model/odata/v2/Context.js +13 -5
  308. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  309. package/src/sap/ui/model/odata/v2/ODataListBinding.js +85 -56
  310. package/src/sap/ui/model/odata/v2/ODataModel.js +20 -15
  311. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  312. package/src/sap/ui/model/odata/v4/Context.js +60 -10
  313. package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
  314. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +159 -34
  315. package/src/sap/ui/model/odata/v4/ODataListBinding.js +94 -24
  316. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  317. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -10
  318. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
  319. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +10 -13
  320. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +105 -25
  321. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
  322. package/src/sap/ui/model/odata/v4/lib/_Cache.js +83 -24
  323. package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -20
  324. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -3
  325. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  326. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  327. package/src/sap/ui/model/type/Boolean.js +1 -1
  328. package/src/sap/ui/model/type/Currency.js +1 -1
  329. package/src/sap/ui/model/type/Date.js +1 -2
  330. package/src/sap/ui/model/type/DateInterval.js +1 -2
  331. package/src/sap/ui/model/type/DateTime.js +1 -1
  332. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  333. package/src/sap/ui/model/type/FileSize.js +1 -1
  334. package/src/sap/ui/model/type/Float.js +1 -1
  335. package/src/sap/ui/model/type/Integer.js +1 -1
  336. package/src/sap/ui/model/type/String.js +1 -1
  337. package/src/sap/ui/model/type/Time.js +1 -1
  338. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/Unit.js +1 -1
  340. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  341. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
  342. package/src/sap/ui/performance/BeaconRequest.js +8 -10
  343. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
  344. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  345. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  346. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +16 -14
  347. package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
  348. package/src/sap/ui/test/OpaPlugin.js +3 -3
  349. package/src/sap/ui/test/TestUtils.js +3 -3
  350. package/src/sap/ui/test/generic/TestBase.js +1 -1
  351. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  352. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  353. package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
  354. package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
  355. package/src/sap/ui/util/Storage.js +1 -1
  356. package/test/sap/ui/core/HTMLControl.html +94 -93
  357. package/test/sap/ui/core/HyphenationPlayground.html +10 -9
  358. package/test/sap/ui/core/Strings.view.xml +5 -1
  359. package/test/sap/ui/core/ThemeParameters.html +31 -30
  360. package/test/sap/ui/core/ValidateURL.html +10 -10
  361. package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
  362. package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
  363. package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
  364. package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
  365. package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
  366. package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
  367. package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
  368. package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
  369. package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
  370. package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
  371. package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
  372. package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
  373. package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -1
  374. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
  375. package/test/sap/ui/core/demokit/sample/OpaAction/manifest.json +1 -0
  376. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
  377. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
  378. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
  379. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
  380. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
  381. package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
  382. package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
  383. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
  384. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
  385. package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
  386. package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
  387. package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
  388. package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
  389. package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
  390. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
  391. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
  392. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
  393. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
  394. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
  395. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
  396. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
  397. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
  398. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
  399. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
  400. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
  401. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
  402. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
  403. package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
  404. package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
  405. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
  406. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
  407. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
  408. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
  409. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
  410. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -1
  411. package/test/sap/ui/core/demokit/sample/TargetsStandalone/manifest.json +2 -1
  412. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
  413. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
  414. package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
  415. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
  416. package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
  417. package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
  418. package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
  419. package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
  420. package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
  421. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
  422. package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
  423. package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
  424. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
  425. package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
  426. package/test/sap/ui/core/demokit/sample/common/Controller.js +3 -2
  427. package/test/sap/ui/core/demokit/sample/common/Helper.js +15 -2
  428. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
  429. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
  430. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
  431. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
  432. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
  433. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
  434. package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
  435. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
  436. package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
  437. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
  438. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
  439. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
  440. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
  441. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
  442. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
  443. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
  444. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
  445. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
  446. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
  447. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
  448. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +1 -1
  449. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +3 -5
  450. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +4 -2
  451. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
  452. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
  453. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +9 -16
  454. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
  455. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +7 -3
  456. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +1 -1
  457. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +1 -1
  458. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +5 -2
  459. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +4 -2
  460. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +1 -1
  461. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +29 -4
  462. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +30 -5
  463. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +33 -6
  464. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +1 -1
  465. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +1 -1
  466. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +1 -1
  467. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +1 -1
  468. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +9 -8
  469. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
  470. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
  471. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
  472. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
  473. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
  474. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
  475. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
  476. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
  477. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
  478. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +1 -1
  479. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
  480. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
  481. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
  484. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
  487. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
  488. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +1 -1
  489. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
  490. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
  491. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +40 -20
  492. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  493. package/test/sap/ui/core/qunit/Core.qunit.js +5 -4
  494. package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
  495. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +119 -117
  496. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
  497. package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
  498. package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
  499. package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
  500. package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
  501. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -8
  502. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +5 -4
  503. package/test/sap/ui/core/qunit/Fragment.qunit.js +12 -12
  504. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +13 -12
  505. package/test/sap/ui/core/qunit/HTML.qunit.js +35 -35
  506. package/test/sap/ui/core/qunit/IconPool.qunit.js +6 -6
  507. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +5 -4
  508. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +3 -3
  509. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
  510. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +3 -3
  511. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +9 -9
  512. package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
  513. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
  514. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +40 -372
  515. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
  516. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +3 -2
  517. package/test/sap/ui/core/qunit/UIArea.qunit.js +10 -10
  518. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
  519. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +4 -3
  520. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
  521. package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
  522. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  523. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
  524. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
  525. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +19 -4
  526. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  527. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
  528. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
  529. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +4 -3
  530. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
  531. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
  532. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
  533. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +6 -0
  534. package/test/sap/ui/core/qunit/component/Component.qunit.js +12 -0
  535. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
  536. package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
  537. package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
  538. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +8 -7
  539. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +6 -5
  540. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +8 -7
  541. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +7 -6
  542. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -4
  543. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +3 -3
  544. package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
  545. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +20 -4
  546. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +5 -4
  547. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
  548. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
  549. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
  550. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
  551. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
  552. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
  553. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
  554. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
  555. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
  556. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +5 -5
  557. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +4 -5
  558. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  559. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
  560. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
  561. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +2 -4
  562. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +5 -4
  563. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
  564. package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +10 -5
  565. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +6 -0
  566. package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
  567. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +5 -4
  568. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +7 -0
  569. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
  570. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -3
  571. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
  572. package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
  573. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +6 -5
  574. package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
  575. package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
  576. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +4 -3
  577. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +4 -3
  578. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
  579. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +6 -5
  580. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +11 -7
  581. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +35 -0
  582. package/test/sap/ui/core/qunit/odata/_AnnotationHelperBasics.qunit.js +10 -4
  583. package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
  584. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +5 -0
  585. package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
  586. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
  587. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +422 -9
  588. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +483 -33
  589. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +121 -2
  590. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +95 -8
  591. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +59 -13
  592. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +355 -75
  593. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +152 -19
  594. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1253 -130
  595. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
  596. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
  597. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
  598. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +172 -17
  600. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
  601. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +185 -84
  602. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +2 -22
  603. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +6 -4
  604. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +3 -2
  605. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +4 -3
  606. package/test/sap/ui/core/qunit/rule/app/deprecatedJSViewUsage.qunit.js +4 -0
  607. package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
  608. package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
  609. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +4 -0
  610. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +4 -0
  611. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +4 -0
  612. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
  613. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +4 -1
  614. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
  615. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
  616. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
  617. package/test/sap/ui/core/qunit/test/starter/find/main.js +11 -8
  618. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +6 -0
  619. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
  620. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +21 -2
  621. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +26 -4
  622. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
  623. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +30 -13
  624. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +40 -16
  625. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
  626. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
  627. package/test/sap/ui/core/relnotes/changes-1.118.json +1 -34
  628. package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
  629. package/test/sap/ui/core/resources/fastnav.js +3 -2
  630. package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
  631. package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
  632. package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
  633. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +1 -1
  634. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +3 -3
  635. package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
  636. package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
  637. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
  638. package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
  639. package/test/sap/ui/core/terminologies/App.controller.js +3 -2
  640. package/test/sap/ui/core/terminologies/App.view.xml +64 -64
  641. package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
  642. package/test/sap/ui/core/util/PasteHelper.html +5 -4
  643. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  644. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  645. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  646. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  647. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  648. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  649. package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -135
  650. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -229
  651. package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
  652. package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
  653. package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -290
  654. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -290
  655. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -280
  656. package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
  657. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -154
  658. package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
  659. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -103
  660. package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
  661. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
  662. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
  663. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -128
  664. package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
  665. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -158
  666. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -141
  667. package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
  668. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -195
  669. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -148
  670. package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
  671. package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
  672. package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
  673. package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
@@ -932,7 +932,7 @@ sap.ui.define([
932
932
  //*********************************************************************************************
933
933
  QUnit.test("_Cache#removeElement for a created kept-alive context inside", function (assert) {
934
934
  var oCache = new _Cache(this.oRequestor, "EMPLOYEES"),
935
- aCacheData = [{
935
+ aElements = [{
936
936
  "@$ui5._" : {predicate : "('2')"},
937
937
  "@odata.etag" : "before"
938
938
  }, {
@@ -941,69 +941,83 @@ sap.ui.define([
941
941
  }, {
942
942
  "@odata.etag" : "after"
943
943
  }],
944
- oElement = aCacheData[1],
944
+ oElement = aElements[1],
945
945
  iIndex;
946
946
 
947
- aCacheData.$byPredicate = {
947
+ aElements.$byPredicate = {
948
948
  "($uid=id-1-23)" : oElement,
949
949
  "('1')" : oElement,
950
- "('2')" : aCacheData[0]
950
+ "('2')" : aElements[0]
951
951
  };
952
- aCacheData.$count = 42;
953
- aCacheData.$created = 23;
952
+ aElements.$count = 42;
953
+ aElements.$created = 23;
954
954
  oCache.iActiveElements = 19;
955
+ oCache.aElements = aElements;
955
956
  oCache.iLimit = 42;
956
957
  this.mock(_Cache).expects("getElementIndex")
957
- .withExactArgs(sinon.match.same(aCacheData), "('1')", 2).returns(1);
958
+ .withExactArgs(sinon.match.same(aElements), "('1')", 2).returns(1);
958
959
  this.mock(_Helper).expects("addToCount")
959
960
  .withExactArgs(sinon.match.same(oCache.mChangeListeners), "",
960
- sinon.match.same(aCacheData), -1);
961
+ sinon.match.same(aElements), -1);
961
962
  this.mock(oCache).expects("adjustIndexes")
962
- .withExactArgs("", sinon.match.same(aCacheData), 1, -1);
963
+ .withExactArgs("", sinon.match.same(aElements), 1, -1);
963
964
 
964
965
  // code under test
965
- iIndex = oCache.removeElement(aCacheData, 2, "('1')", "");
966
+ iIndex = oCache.removeElement(undefined, 2, "('1')", "");
966
967
 
967
968
  assert.strictEqual(iIndex, 1);
968
- assert.strictEqual(aCacheData.$created, 22);
969
+ assert.strictEqual(aElements.$created, 22);
969
970
  assert.strictEqual(oCache.iActiveElements, 18);
970
971
  assert.strictEqual(oCache.iLimit, 42);
971
- assert.deepEqual(aCacheData, [{
972
+ assert.deepEqual(aElements, [{
972
973
  "@$ui5._" : {predicate : "('2')"},
973
974
  "@odata.etag" : "before"
974
975
  }, {
975
976
  "@odata.etag" : "after"
976
977
  }]);
977
- assert.deepEqual(aCacheData.$byPredicate, {"('2')" : aCacheData[0]});
978
+ assert.deepEqual(aElements.$byPredicate, {"('2')" : aElements[0]});
978
979
  });
979
980
 
980
981
  //*********************************************************************************************
981
982
  ["", "~path~"].forEach(function (sPath) {
982
983
  [false, true].forEach(function (bTransient) {
983
- QUnit.test(`_Cache#restoreElement, path=${sPath}, transient=${bTransient}`, function (assert) {
984
+ [false, true].forEach(function (bDefault) {
985
+ const sTitle = `_Cache#restoreElement, path=${sPath}, transient=${bTransient},
986
+ default=${bDefault}`;
987
+
988
+ QUnit.test(sTitle, function (assert) {
984
989
  const oCache = new _Cache(this.oRequestor, "TEAMS");
985
990
  oCache.iLimit = 234;
986
991
  oCache.iActiveElements = 1;
987
992
  const aElements = [];
993
+ aElements.$byPredicate = {};
988
994
  aElements.$created = 2;
989
-
995
+ if (bDefault) {
996
+ oCache.aElements = aElements;
997
+ }
990
998
  this.mock(oCache).expects("adjustIndexes")
991
999
  .withExactArgs(sPath, sinon.match.same(aElements), 42, 1, "~iDeletedIndex~");
992
- this.mock(_Helper).expects("getPrivateAnnotation")
1000
+ const oHelperMock = this.mock(_Helper);
1001
+ oHelperMock.expects("getPrivateAnnotation")
993
1002
  .withExactArgs("~oElement~", "transientPredicate")
994
1003
  .returns(bTransient ? "($uid=id-1-23)" : undefined);
995
- this.mock(_Helper).expects("addToCount")
1004
+ oHelperMock.expects("addToCount")
996
1005
  .withExactArgs(sinon.match.same(oCache.mChangeListeners), sPath,
997
1006
  sinon.match.same(aElements), 1);
998
1007
  this.mock(aElements).expects("splice").withExactArgs(42, 0, "~oElement~");
1008
+ oHelperMock.expects("getPrivateAnnotation").withExactArgs("~oElement~", "predicate")
1009
+ .returns("~predicate~");
999
1010
 
1000
1011
  // code under test
1001
- oCache.restoreElement(aElements, 42, "~oElement~", sPath, "~iDeletedIndex~");
1012
+ oCache.restoreElement(bDefault ? undefined : aElements, 42, "~oElement~", sPath,
1013
+ "~iDeletedIndex~");
1002
1014
 
1003
1015
  assert.strictEqual(oCache.iLimit, bTransient || sPath ? 234 : 235);
1004
1016
  assert.strictEqual(aElements.$created, bTransient ? 3 : 2);
1005
1017
  assert.strictEqual(oCache.iActiveElements, bTransient && !sPath ? 2 : 1);
1018
+ assert.deepEqual(aElements.$byPredicate, {"~predicate~" : "~oElement~"});
1006
1019
  });
1020
+ });
1007
1021
  });
1008
1022
  });
1009
1023
 
@@ -2772,7 +2786,6 @@ sap.ui.define([
2772
2786
  fnPatchSent = function () {},
2773
2787
  oRequestCall,
2774
2788
  oRequestLock = {unlock : function () {}},
2775
- mTypeForMetaPath = {},
2776
2789
  oUpdatePromise,
2777
2790
  that = this;
2778
2791
 
@@ -2782,7 +2795,7 @@ sap.ui.define([
2782
2795
  .withExactArgs(sinon.match.same(_GroupLock.$cached), sEntityPath)
2783
2796
  .returns(SyncPromise.resolve(oEntity));
2784
2797
  oCacheMock.expects("fetchTypes").withExactArgs()
2785
- .returns(SyncPromise.resolve(mTypeForMetaPath));
2798
+ .returns(SyncPromise.resolve({}));
2786
2799
  oHelperMock.expects("makeUpdateData")
2787
2800
  .withExactArgs(["Address", "City"], "Walldorf")
2788
2801
  .returns("~oUpdateData~");
@@ -3077,6 +3090,20 @@ sap.ui.define([
3077
3090
  });
3078
3091
  });
3079
3092
 
3093
+ //*********************************************************************************************
3094
+ QUnit.test("Cache#getTypes", function (assert) {
3095
+ var oCache = new _Cache(this.oRequestor, "TEAMS('42')/Foo"),
3096
+ oSyncPromise = {
3097
+ getResult : mustBeMocked
3098
+ };
3099
+
3100
+ this.mock(oCache).expects("fetchTypes").withExactArgs().returns(oSyncPromise);
3101
+ this.mock(oSyncPromise).expects("getResult").withExactArgs().returns("~mTypeForMetaPath~");
3102
+
3103
+ // code under test
3104
+ assert.strictEqual(oCache.getTypes(), "~mTypeForMetaPath~");
3105
+ });
3106
+
3080
3107
  //*********************************************************************************************
3081
3108
  QUnit.test("Cache#visitResponse: key predicates: ignore simple values", function () {
3082
3109
  var oCache = new _Cache(this.oRequestor, "TEAMS('42')/Foo"),
@@ -4668,8 +4695,7 @@ sap.ui.define([
4668
4695
  oCache.mLateQueryOptions = {};
4669
4696
  }
4670
4697
  oHelperMock.expects("getMetaPath").withExactArgs("").returns("~resMetaPath~");
4671
- this.mock(oCache).expects("fetchTypes")
4672
- .withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
4698
+ this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
4673
4699
  oHelperMock.expects("buildPath").withExactArgs(oCache.sMetaPath, "~resMetaPath~")
4674
4700
  .returns("~metaPath~");
4675
4701
  oHelperMock.expects("getQueryOptionsForPath")
@@ -4769,8 +4795,7 @@ sap.ui.define([
4769
4795
  oCache.mLateQueryOptions = {};
4770
4796
  oHelperMock.expects("getMetaPath").withExactArgs("('31')/entity/path")
4771
4797
  .returns("entity/path");
4772
- this.mock(oCache).expects("fetchTypes")
4773
- .withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
4798
+ this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
4774
4799
  oHelperMock.expects("getQueryOptionsForPath")
4775
4800
  .withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "('31')/entity/path")
4776
4801
  .returns(mQueryOptionsForPath);
@@ -4892,8 +4917,7 @@ sap.ui.define([
4892
4917
  oCache.mLateQueryOptions = {};
4893
4918
  oHelperMock.expects("getMetaPath").withExactArgs("('1')/entity/path")
4894
4919
  .returns("entity/path");
4895
- this.mock(oCache).expects("fetchTypes")
4896
- .withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
4920
+ this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
4897
4921
  oHelperMock.expects("buildPath").withExactArgs(oCache.sMetaPath, "entity/path")
4898
4922
  .returns(oCache.sMetaPath + "/entity/path");
4899
4923
  oHelperMock.expects("getQueryOptionsForPath")
@@ -4990,8 +5014,7 @@ sap.ui.define([
4990
5014
  };
4991
5015
 
4992
5016
  oCache.mLateQueryOptions = {};
4993
- this.mock(oCache).expects("fetchTypes").twice()
4994
- .withExactArgs().returns(SyncPromise.resolve(mTypeForMetaPath));
5017
+ this.mock(oCache).expects("getTypes").twice().withExactArgs().returns(mTypeForMetaPath);
4995
5018
  oHelperMock.expects("getQueryOptionsForPath").twice()
4996
5019
  .withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
4997
5020
  .returns(mQueryOptionsForPath);
@@ -5066,7 +5089,7 @@ sap.ui.define([
5066
5089
  oCache.fetchValue = function () {};
5067
5090
 
5068
5091
  oCache.mLateQueryOptions = {};
5069
- this.mock(oCache).expects("fetchTypes").withExactArgs().returns(SyncPromise.resolve({}));
5092
+ this.mock(oCache).expects("getTypes").withExactArgs().returns({});
5070
5093
  this.mock(_Helper).expects("getQueryOptionsForPath")
5071
5094
  .withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
5072
5095
  .returns(mQueryOptionsForPath);
@@ -5145,8 +5168,7 @@ sap.ui.define([
5145
5168
  $expand : {expand : {}},
5146
5169
  $select : ["select"]
5147
5170
  };
5148
- this.mock(oCache).expects("fetchTypes").withExactArgs()
5149
- .returns(SyncPromise.resolve(mTypeForMetaPath));
5171
+ this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
5150
5172
  this.mock(_Helper).expects("getQueryOptionsForPath")
5151
5173
  .withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "")
5152
5174
  .returns(mQueryOptionsForPath);
@@ -5191,6 +5213,7 @@ sap.ui.define([
5191
5213
  QUnit.test("Cache#fetchLateProperty: no late properties", function (assert) {
5192
5214
  var oCache = new _Cache(this.oRequestor, "Employees");
5193
5215
 
5216
+ this.mock(oCache).expects("getTypes").withExactArgs().returns({});
5194
5217
  this.mock(_Helper).expects("intersectQueryOptions").never();
5195
5218
  this.oRequestorMock.expects("request").never();
5196
5219
  this.mock(_Helper).expects("updateSelected").never();
@@ -5208,6 +5231,7 @@ sap.ui.define([
5208
5231
  var oCache = new _Cache(this.oRequestor, "Employees");
5209
5232
 
5210
5233
  oCache.mLateQueryOptions = {};
5234
+ this.mock(oCache).expects("getTypes").withExactArgs().returns({});
5211
5235
  this.mock(_Helper).expects("intersectQueryOptions").never();
5212
5236
  this.oRequestorMock.expects("request").never();
5213
5237
  this.mock(_Helper).expects("updateSelected").never();
@@ -5226,6 +5250,7 @@ sap.ui.define([
5226
5250
  mQueryOptionsForPath = {};
5227
5251
 
5228
5252
  oCache.mLateQueryOptions = {};
5253
+ this.mock(oCache).expects("getTypes").withExactArgs().returns({});
5229
5254
  this.mock(_Helper).expects("getMetaPath").withExactArgs("('1')").returns("");
5230
5255
  this.mock(_Helper).expects("getQueryOptionsForPath")
5231
5256
  .withExactArgs(sinon.match.same(oCache.mLateQueryOptions), "('1')")
@@ -5777,22 +5802,67 @@ sap.ui.define([
5777
5802
  });
5778
5803
 
5779
5804
  //*********************************************************************************************
5780
- QUnit.test("Cache#getAndRemoveValue", function (assert) {
5781
- var oCache = new _Cache(this.oRequestor, "SalesOrders('1')"),
5782
- oParent = {
5783
- value : "~value~"
5784
- };
5805
+ [false, true].forEach(function (bTransferable) {
5806
+ QUnit.test(`Cache#getAndRemoveCollection: transferable=${bTransferable}`, function (assert) {
5807
+ const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
5808
+ oCache.fetchValue = function () {};
5809
+ const aCollection = [];
5810
+ if (bTransferable) {
5811
+ aCollection.$transfer = true;
5812
+ }
5813
+ const oParent = {
5814
+ collection : aCollection
5815
+ };
5785
5816
 
5786
- oCache.fetchValue = function () {};
5787
5817
  this.mock(oCache).expects("fetchValue")
5788
5818
  .withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
5789
5819
  .returns(SyncPromise.resolve(oParent));
5790
5820
  this.mock(oCache).expects("checkSharedRequest").withExactArgs();
5791
5821
 
5792
5822
  // code under test
5793
- assert.strictEqual(oCache.getAndRemoveValue("path/to/value"), "~value~");
5823
+ assert.strictEqual(oCache.getAndRemoveCollection("path/to/collection"),
5824
+ bTransferable ? aCollection : undefined);
5794
5825
 
5795
- assert.notOk("value" in oParent);
5826
+ if (bTransferable) {
5827
+ assert.notOk("collection" in oParent);
5828
+ } else {
5829
+ assert.strictEqual(oParent.collection, aCollection);
5830
+ }
5831
+ assert.notOk("$transfer" in aCollection);
5832
+ });
5833
+ });
5834
+
5835
+ //*********************************************************************************************
5836
+ QUnit.test("Cache#getAndRemoveCollection: empty", function (assert) {
5837
+ const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
5838
+ oCache.fetchValue = function () {};
5839
+
5840
+ this.mock(oCache).expects("fetchValue")
5841
+ .withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
5842
+ .returns(SyncPromise.resolve({}));
5843
+ this.mock(oCache).expects("checkSharedRequest").withExactArgs();
5844
+
5845
+ // code under test
5846
+ assert.strictEqual(oCache.getAndRemoveCollection("path/to/collection"), undefined);
5847
+ });
5848
+
5849
+ //*********************************************************************************************
5850
+ QUnit.test("Cache#getAndRemoveCollection: not a collection", function (assert) {
5851
+ const oCache = new _Cache(this.oRequestor, "SalesOrders('1')");
5852
+ oCache.fetchValue = function () {};
5853
+ const oParent = {
5854
+ value : "foo"
5855
+ };
5856
+
5857
+ this.mock(oCache).expects("fetchValue")
5858
+ .withExactArgs(sinon.match.same(_GroupLock.$cached), "path/to")
5859
+ .returns(SyncPromise.resolve(oParent));
5860
+ this.mock(oCache).expects("checkSharedRequest").withExactArgs();
5861
+
5862
+ assert.throws(function () {
5863
+ // code under test
5864
+ oCache.getAndRemoveCollection("path/to/value");
5865
+ }, new Error("path/to/value must point to a collection"));
5796
5866
  });
5797
5867
 
5798
5868
  //*********************************************************************************************
@@ -6645,6 +6715,8 @@ sap.ui.define([
6645
6715
  QUnit.test("CollectionCache#getExclusiveFilter: no created entities", function (assert) {
6646
6716
  var oCache = this.createCache("Employees");
6647
6717
 
6718
+ this.mock(oCache).expects("getTypes").never();
6719
+
6648
6720
  // code under test
6649
6721
  assert.strictEqual(oCache.getExclusiveFilter(), undefined);
6650
6722
  });
@@ -6670,8 +6742,7 @@ sap.ui.define([
6670
6742
  oHelperMock = this.mock(_Helper),
6671
6743
  mTypeForMetaPath = {};
6672
6744
 
6673
- this.mock(oCache).expects("fetchTypes")
6674
- .returns(SyncPromise.resolve(mTypeForMetaPath));
6745
+ this.mock(oCache).expects("getTypes").returns(mTypeForMetaPath);
6675
6746
  oCache.aElements.$created = 0;
6676
6747
  if (oFixture.single || oFixture.multiple) {
6677
6748
  oCache.aElements.unshift(oElement0);
@@ -7406,8 +7477,8 @@ sap.ui.define([
7406
7477
  });
7407
7478
 
7408
7479
  //*********************************************************************************************
7409
- [false, true].forEach(function (bError) {
7410
- QUnit.test("CollectionCache#requestElements: error=" + bError, function (assert) {
7480
+ [false, true, undefined].forEach(function (bSuccess) { // undefined -> obsolete
7481
+ QUnit.test("CollectionCache#requestElements: success=" + bSuccess, function (assert) {
7411
7482
  var oCache = this.createCache("Employees"),
7412
7483
  oCacheMock = this.mock(oCache),
7413
7484
  oCheckRangeExpectation,
@@ -7417,15 +7488,15 @@ sap.ui.define([
7417
7488
  iStart = 0,
7418
7489
  oFetchPromise = Promise.resolve("~mTypes~"),
7419
7490
  oHandleResponseExpectation,
7491
+ oPromise,
7420
7492
  oResetExpectation, // avoid "was used before it was defined"
7421
7493
  oRequestPromise = Promise.resolve().then(function () {
7422
7494
  oCheckRangeExpectation = oCacheMock.expects("checkRange")
7423
- .withExactArgs(sinon.match(function (oPromise) {
7424
- return oPromise === oFillExpectation.args[0][0];
7425
- }), iStart, iEnd);
7426
- if (bError) {
7427
- oResetExpectation = oCacheMock.expects("fill")
7428
- .withExactArgs(undefined, iStart, iEnd);
7495
+ .exactly(bSuccess !== undefined ? 1 : 0)
7496
+ .withExactArgs(sinon.match.same(oPromise), iStart, iEnd);
7497
+ oResetExpectation = oCacheMock.expects("fill").exactly(bSuccess === false ? 1 : 0)
7498
+ .withExactArgs(undefined, iStart, iEnd);
7499
+ if (bSuccess === false) {
7429
7500
  throw oError;
7430
7501
  }
7431
7502
  return "~oResult~";
@@ -7440,33 +7511,36 @@ sap.ui.define([
7440
7511
  /*oPayload*/undefined, "~fnDataRequested~")
7441
7512
  .returns(oRequestPromise);
7442
7513
  oCacheMock.expects("fetchTypes").withExactArgs().returns(oFetchPromise);
7443
- oHandleResponseExpectation = oCacheMock.expects("handleResponse").exactly(bError ? 0 : 1)
7514
+ oHandleResponseExpectation = oCacheMock.expects("handleResponse").exactly(bSuccess ? 1 : 0)
7444
7515
  .withExactArgs("~oResult~", iStart, "~mTypes~")
7445
7516
  .returns("~iFiltered~");
7446
- oCacheMock.expects("handleCount").exactly(bError ? 0 : 1)
7517
+ oCacheMock.expects("handleCount").exactly(bSuccess ? 1 : 0)
7447
7518
  .withExactArgs("~oGroupLock~", 0, iStart, iEnd, "~oResult~", "~iFiltered~");
7448
7519
  oFillExpectation = oCacheMock.expects("fill")
7449
7520
  .withExactArgs(sinon.match.instanceOf(SyncPromise), iStart, iEnd);
7450
7521
 
7451
7522
  // code under test
7452
- oCache.requestElements(iStart, iEnd, "~oGroupLock~", 0, "~fnDataRequested~");
7523
+ oPromise = oCache.requestElements(iStart, iEnd, "~oGroupLock~", 0, "~fnDataRequested~");
7453
7524
 
7525
+ assert.deepEqual(oCache.aReadRequests, [{iStart, iEnd}]);
7526
+ if (bSuccess === undefined) {
7527
+ oCache.aReadRequests[0].obsolete = true;
7528
+ }
7454
7529
  assert.strictEqual(oCache.bSentRequest, true);
7530
+ assert.strictEqual(oFillExpectation.args[0][0], oPromise);
7455
7531
 
7456
- return Promise.all([
7457
- oFetchPromise,
7458
- oRequestPromise.catch(function () {})
7459
- ]).then(function () {
7460
- var oPromise = oFillExpectation.args[0][0];
7461
-
7462
- return oPromise.then(function () {
7463
- assert.notOk(bError);
7464
- assert.ok(oCheckRangeExpectation.calledBefore(oHandleResponseExpectation));
7465
- }, function (oRequestError) {
7466
- assert.ok(bError);
7532
+ return oPromise.then(function () {
7533
+ assert.ok(bSuccess);
7534
+ assert.ok(oCheckRangeExpectation.calledBefore(oHandleResponseExpectation));
7535
+ }, function (oRequestError) {
7536
+ assert.notOk(bSuccess);
7537
+ if (bSuccess === false) {
7467
7538
  assert.strictEqual(oRequestError, oError);
7468
7539
  assert.ok(oCheckRangeExpectation.calledBefore(oResetExpectation));
7469
- });
7540
+ } else {
7541
+ assert.ok(oRequestError.canceled);
7542
+ assert.strictEqual(oRequestError.message, "Request is obsolete");
7543
+ }
7470
7544
  });
7471
7545
  });
7472
7546
  });
@@ -9930,8 +10004,7 @@ sap.ui.define([
9930
10004
  oCacheMock.expects("keepOnlyGivenElements").exactly(bSingle ? 0 : 1)
9931
10005
  .withExactArgs(aPredicates).callThrough(); // too hard to refactor :-(
9932
10006
  // Note: fetchTypes() would have been triggered by read() already
9933
- oCacheMock.expects("fetchTypes").withExactArgs()
9934
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10007
+ oCacheMock.expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
9935
10008
  oCache.beforeUpdateSelected = function () {};
9936
10009
  for (i = 0; i < iReceivedLength; i += 1) { // prepare request/response
9937
10010
  sPredicate = "('" + oFixture.aValues[i].key + "')";
@@ -10051,7 +10124,6 @@ sap.ui.define([
10051
10124
  oPromise,
10052
10125
  mQueryOptions = {},
10053
10126
  sResourcePath = "TEAMS('42')/Foo",
10054
- mTypeForMetaPath = {},
10055
10127
  oCache = this.createCache(sResourcePath);
10056
10128
 
10057
10129
  // cache preparation
@@ -10060,8 +10132,7 @@ sap.ui.define([
10060
10132
  oCache.aElements.$byPredicate = mByPredicate;
10061
10133
  oCache.mLateQueryOptions = mLateQueryOptions;
10062
10134
 
10063
- this.mock(oCache).expects("fetchTypes").withExactArgs()
10064
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10135
+ this.mock(oCache).expects("getTypes").withExactArgs().returns({});
10065
10136
  this.mock(Object).expects("assign")
10066
10137
  .withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
10067
10138
  sinon.match.same(oCache.mLateQueryOptions))
@@ -10100,10 +10171,7 @@ sap.ui.define([
10100
10171
  // Note: fill cache with more than just "visible" rows
10101
10172
  return this.mockRequestAndRead(oCache, 0, sResourcePath, 0, 4, 4, undefined, "26")
10102
10173
  .then(function () {
10103
- var mTypeForMetaPath = {};
10104
-
10105
- that.mock(oCache).expects("fetchTypes").withExactArgs()
10106
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10174
+ that.mock(oCache).expects("getTypes").withExactArgs().returns({});
10107
10175
  that.mock(_Helper).expects("intersectQueryOptions").returns({/*don't care*/});
10108
10176
  that.mock(oCache).expects("keepOnlyGivenElements").withExactArgs([])
10109
10177
  .returns([]);
@@ -10175,8 +10243,7 @@ sap.ui.define([
10175
10243
  oCache.aElements[2].Bar = {
10176
10244
  "@$ui5._" : {predicate : "(2)"}
10177
10245
  };
10178
- that.mock(oCache).expects("fetchTypes").withExactArgs()
10179
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10246
+ that.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
10180
10247
  that.mock(Object).expects("assign")
10181
10248
  .withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
10182
10249
  sinon.match.same(oCache.mLateQueryOptions))
@@ -10250,8 +10317,7 @@ sap.ui.define([
10250
10317
  var mTypeForMetaPath = {};
10251
10318
 
10252
10319
  oCache.aElements[0] = undefined; // can result from a failed requestElements
10253
- oCacheMock.expects("fetchTypes").withExactArgs()
10254
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10320
+ oCacheMock.expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
10255
10321
  that.mock(Object).expects("assign")
10256
10322
  .withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
10257
10323
  sinon.match.same(oCache.mLateQueryOptions))
@@ -10330,8 +10396,7 @@ sap.ui.define([
10330
10396
  oCache.aElements.push(oElement);
10331
10397
  oCache.aElements.$byPredicate["('c')"] = oElement;
10332
10398
 
10333
- this.mock(oCache).expects("fetchTypes").withExactArgs()
10334
- .returns(SyncPromise.resolve(mTypeForMetaPath));
10399
+ this.mock(oCache).expects("getTypes").withExactArgs().returns(mTypeForMetaPath);
10335
10400
  this.mock(oCache).expects("checkSharedRequest").withExactArgs();
10336
10401
  this.mock(Object).expects("assign")
10337
10402
  .withExactArgs({}, sinon.match.same(oCache.mQueryOptions),
@@ -10649,15 +10714,26 @@ sap.ui.define([
10649
10714
  oCache.mChangeListeners = mChangeListeners;
10650
10715
  oCache.sContext = "~context~";
10651
10716
  oCache.aElements.$count = oCache.iLimit = 3;
10717
+ oCache.aReadRequests = [{iStart : 1, iEnd : 2}, {iStart : 3, iEnd : 4}];
10652
10718
 
10653
10719
  oSetQueryOptionsExpectation = this.mock(oCache).expects("setQueryOptions")
10654
10720
  .withExactArgs("~mQueryOptions~", true);
10655
10721
  oFireChangeExpectation = this.mock(_Helper).expects("fireChange")
10656
- .withExactArgs({"" : "~listeners~"}, "");
10722
+ .withExactArgs({"" : "~listeners~"}, "")
10723
+ .callsFake(function () {
10724
+ assert.deepEqual(oCache.aReadRequests, [
10725
+ {iStart : 1, iEnd : 2, obsolete : true},
10726
+ {iStart : 3, iEnd : 4, obsolete : true}
10727
+ ]);
10728
+ });
10657
10729
 
10658
10730
  // code under test
10659
10731
  oCache.reset([], undefined, "~mQueryOptions~");
10660
10732
 
10733
+ assert.deepEqual(oCache.aReadRequests, [
10734
+ {iStart : 1, iEnd : 2, obsolete : true},
10735
+ {iStart : 3, iEnd : 4, obsolete : true}
10736
+ ]);
10661
10737
  assert.strictEqual(oCache.aElements, aElements);
10662
10738
  assert.strictEqual(oCache.aElements.length, 0);
10663
10739
  assert.strictEqual(oCache.aElements.$created, 0);
@@ -12486,15 +12562,23 @@ sap.ui.define([
12486
12562
  });
12487
12563
 
12488
12564
  //*********************************************************************************************
12489
- QUnit.test("CollectionCache#drop", function (assert) {
12490
- var oCache = this.createCache("Employees");
12491
-
12565
+ [undefined, "($uid=id-1-23)"].forEach((sTransientPredicate) => {
12566
+ QUnit.test(`CollectionCache#drop, ${sTransientPredicate}`, function (assert) {
12567
+ const oCache = this.createCache("Employees");
12492
12568
  oCache.aElements[23] = "~b~";
12493
12569
  oCache.aElements.$byPredicate = {
12494
12570
  "('a')" : "~a~",
12495
12571
  "('b')" : "~b~",
12496
12572
  "('c')" : "~c~"
12497
12573
  };
12574
+ oCache.aElements.$created = 7;
12575
+ oCache.iActiveElements = 5;
12576
+ oCache.iLimit = 42;
12577
+ if (sTransientPredicate) {
12578
+ oCache.aElements.$byPredicate[sTransientPredicate] = "~b~";
12579
+ }
12580
+ this.mock(_Helper).expects("getPrivateAnnotation")
12581
+ .withExactArgs("~b~", "transientPredicate").returns(sTransientPredicate);
12498
12582
 
12499
12583
  // code under test
12500
12584
  oCache.drop(23, "('b')");
@@ -12505,6 +12589,22 @@ sap.ui.define([
12505
12589
  "('a')" : "~a~",
12506
12590
  "('c')" : "~c~"
12507
12591
  });
12592
+ assert.strictEqual(oCache.aElements.$created, sTransientPredicate ? 6 : 7);
12593
+ assert.strictEqual(oCache.iActiveElements, sTransientPredicate ? 4 : 5);
12594
+ assert.strictEqual(oCache.iLimit, sTransientPredicate ? 43 : 42);
12595
+ });
12596
+ });
12597
+
12598
+ //*********************************************************************************************
12599
+ QUnit.test("CollectionCache#drop: Must not drop a transient element", function (assert) {
12600
+ const oCache = this.createCache("Employees");
12601
+ oCache.aElements[23] = {"@$ui5.context.isTransient" : true};
12602
+ this.mock(_Helper).expects("getPrivateAnnotation").never();
12603
+
12604
+ assert.throws(function () {
12605
+ // code under test
12606
+ oCache.drop(23, "n/a");
12607
+ }, new Error("Must not drop a transient element"));
12508
12608
  });
12509
12609
 
12510
12610
  //*********************************************************************************************
@@ -12822,7 +12922,7 @@ sap.ui.define([
12822
12922
 
12823
12923
  // refreshKeptElements
12824
12924
  oCacheMock.expects("checkSharedRequest").withExactArgs();
12825
- oCacheMock.expects("fetchTypes").returns(SyncPromise.resolve(mTypes));
12925
+ oCacheMock.expects("getTypes").returns(mTypes);
12826
12926
  this.mock(this.oRequestor).expects("request")
12827
12927
  .withExactArgs("GET", "Employees?$filter=" + oFixture.sFilter,
12828
12928
  sinon.match.same(oGroupLock))
@@ -12866,6 +12966,7 @@ sap.ui.define([
12866
12966
  QUnit.test("refreshKeptElements w/o kept-alive element", function (assert) {
12867
12967
  var oCache = _Cache.create(this.oRequestor, "Employees", {});
12868
12968
 
12969
+ this.mock(oCache).expects("getTypes").never();
12869
12970
  this.mock(oCache).expects("checkSharedRequest").withExactArgs();
12870
12971
  this.mock(oCache.oRequestor).expects("request").never();
12871
12972
 
@@ -3830,28 +3830,6 @@ sap.ui.define([
3830
3830
  });
3831
3831
  });
3832
3832
 
3833
- //*********************************************************************************************
3834
- [true, false].forEach(function (bAbsolute) {
3835
- var sTitle = "getReturnValueContextPath with "
3836
- + (bAbsolute ? "absolute" : "relative") + " path";
3837
-
3838
- QUnit.test(sTitle, function (assert) {
3839
- var sPathPrefix = bAbsolute ? "/" : "";
3840
-
3841
- // code under test
3842
- assert.strictEqual(
3843
- _Helper.getReturnValueContextPath(
3844
- sPathPrefix + "Artists('42')/special.cases.Action(...)", "('77')"),
3845
- sPathPrefix + "Artists('77')");
3846
-
3847
- // code under test
3848
- assert.strictEqual(
3849
- _Helper.getReturnValueContextPath(
3850
- sPathPrefix + "Artists/special.cases.Action(...)", "('77')"),
3851
- sPathPrefix + "Artists('77')");
3852
- });
3853
- });
3854
-
3855
3833
  //*********************************************************************************************
3856
3834
  QUnit.test("hasPathPrefix", function (assert) {
3857
3835
  var oHelperMock = this.mock(_Helper);
@@ -5387,6 +5365,7 @@ sap.ui.define([
5387
5365
  nested2 : ["~created21~"]
5388
5366
  });
5389
5367
  assert.strictEqual(oCacheEntity.nested1.$created, 0);
5368
+ assert.ok(oCacheEntity.nested1.$transfer, true);
5390
5369
  assert.deepEqual(oCacheEntity.nested1.$byPredicate, {
5391
5370
  "~predicate11~" : "~created11~",
5392
5371
  "~predicate12~" : "~created12~"
@@ -5395,6 +5374,7 @@ sap.ui.define([
5395
5374
  assert.deepEqual(oCacheEntity.nested2.$byPredicate, {
5396
5375
  "~predicate21~" : "~created21~"
5397
5376
  });
5377
+ assert.notOk("$transfer" in oCacheEntity.nested2);
5398
5378
  assert.notOk("$postBodyCollection" in oCacheEntity.nested1);
5399
5379
  });
5400
5380
 
@@ -8,6 +8,7 @@ sap.ui.define([
8
8
  "sap/m/Button",
9
9
  "sap/m/Input",
10
10
  "sap/m/Dialog",
11
+ "sap/ui/core/Element",
11
12
  "sap/ui/core/mvc/View",
12
13
  "sap/ui/core/mvc/XMLView",
13
14
  "./utils/view",
@@ -21,6 +22,7 @@ sap.ui.define([
21
22
  Button,
22
23
  Input,
23
24
  Dialog,
25
+ Element,
24
26
  View,
25
27
  XMLView,
26
28
  viewUtils,
@@ -803,7 +805,7 @@ sap.ui.define([
803
805
  QUnit.test("Should only match controls in open dialog", function (assert) {
804
806
  var oPlugin = new OpaPlugin();
805
807
  var fnStart = assert.async();
806
- var oDialog = sap.ui.getCore().byId("viewWithDialog--myDialog");
808
+ var oDialog = Element.getElementById("viewWithDialog--myDialog");
807
809
  oDialog.attachAfterOpen(function () {
808
810
  var aControls = oPlugin.getMatchingControls({
809
811
  searchOpenDialogs: true,
@@ -822,7 +824,7 @@ sap.ui.define([
822
824
  QUnit.test("Should match controls in open dialog by ID and view", function (assert) {
823
825
  var oPlugin = new OpaPlugin();
824
826
  var fnStart = assert.async();
825
- var oDialog = sap.ui.getCore().byId("viewWithDialog--myDialog");
827
+ var oDialog = Element.getElementById("viewWithDialog--myDialog");
826
828
  oDialog.attachAfterOpen(function () {
827
829
  var oControlWithViewName = oPlugin.getMatchingControls({
828
830
  searchOpenDialogs: true,
@@ -856,7 +858,7 @@ sap.ui.define([
856
858
  QUnit.test("Should match controls in open dialog by ID with no viewName or viewID", function (assert) {
857
859
  var oPlugin = new OpaPlugin();
858
860
  var fnStart = assert.async();
859
- var oDialog = sap.ui.getCore().byId("viewWithDialog--myDialog");
861
+ var oDialog = Element.getElementById("viewWithDialog--myDialog");
860
862
  oDialog.attachAfterOpen(function () {
861
863
  var oControlWithStrictID = oPlugin.getMatchingControls({
862
864
  searchOpenDialogs: true,
@@ -1178,7 +1180,7 @@ sap.ui.define([
1178
1180
 
1179
1181
  QUnit.test("Should match controls by fragment ID inside static area", function (assert) {
1180
1182
  var fnStart = assert.async();
1181
- var oDialog = sap.ui.getCore().byId("myView--myDialog");
1183
+ var oDialog = Element.getElementById("myView--myDialog");
1182
1184
  oDialog.attachAfterOpen(function () {
1183
1185
  testWithFragmentId(new OpaPlugin(), assert);
1184
1186
  fnStart();