@openui5/sap.ui.core 1.119.0 → 1.120.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 (828) hide show
  1. package/THIRDPARTY.txt +6 -6
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +40 -111
  4. package/src/jquery.sap.properties.js +7 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +5 -3
  7. package/src/jquery.sap.storage.js +6 -3
  8. package/src/sap/base/Event.js +32 -78
  9. package/src/sap/base/Eventing.js +114 -271
  10. package/src/sap/base/Log.js +21 -1
  11. package/src/sap/base/config.js +14 -9
  12. package/src/sap/base/i18n/Formatting.js +378 -250
  13. package/src/sap/base/i18n/LanguageTag.js +64 -66
  14. package/src/sap/base/i18n/Localization.js +124 -85
  15. package/src/sap/base/i18n/ResourceBundle.js +1 -1
  16. package/src/sap/base/i18n/date/CalendarType.js +2 -2
  17. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
  18. package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
  19. package/src/sap/base/util/LoaderExtensions.js +8 -2
  20. package/src/sap/base/util/mixedFetch.js +1 -0
  21. package/src/sap/base/util/resolveReference.js +31 -13
  22. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  23. package/src/sap/base/util/restricted/_castArray.js +1 -1
  24. package/src/sap/base/util/restricted/_compact.js +1 -1
  25. package/src/sap/base/util/restricted/_curry.js +1 -1
  26. package/src/sap/base/util/restricted/_debounce.js +1 -1
  27. package/src/sap/base/util/restricted/_difference.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  29. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_flatten.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  35. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  36. package/src/sap/base/util/restricted/_intersection.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  38. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  40. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  41. package/src/sap/base/util/restricted/_isNil.js +1 -1
  42. package/src/sap/base/util/restricted/_max.js +1 -1
  43. package/src/sap/base/util/restricted/_merge.js +1 -1
  44. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  45. package/src/sap/base/util/restricted/_min.js +1 -1
  46. package/src/sap/base/util/restricted/_omit.js +1 -1
  47. package/src/sap/base/util/restricted/_pick.js +1 -1
  48. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  49. package/src/sap/base/util/restricted/_throttle.js +1 -1
  50. package/src/sap/base/util/restricted/_toArray.js +1 -1
  51. package/src/sap/base/util/restricted/_union.js +1 -1
  52. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  53. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  54. package/src/sap/base/util/restricted/_uniq.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  56. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  57. package/src/sap/base/util/restricted/_without.js +1 -1
  58. package/src/sap/base/util/restricted/_xor.js +1 -1
  59. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  60. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  62. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  63. package/src/sap/base/util/syncFetch.js +1 -0
  64. package/src/sap/ui/Device.js +3 -3
  65. package/src/sap/ui/Global.js +6 -7
  66. package/src/sap/ui/base/BindingInfo.js +3 -3
  67. package/src/sap/ui/base/BindingParser.js +5 -2
  68. package/src/sap/ui/base/DataType.js +57 -1
  69. package/src/sap/ui/base/DesignTime.js +69 -0
  70. package/src/sap/ui/base/Event.js +2 -2
  71. package/src/sap/ui/base/EventProvider.js +1 -1
  72. package/src/sap/ui/base/ExpressionParser.js +25 -4
  73. package/src/sap/ui/base/Interface.js +1 -1
  74. package/src/sap/ui/base/ManagedObject.js +102 -29
  75. package/src/sap/ui/base/ManagedObjectMetadata.js +29 -31
  76. package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
  77. package/src/sap/ui/base/Metadata.js +3 -3
  78. package/src/sap/ui/base/Object.js +19 -1
  79. package/src/sap/ui/base/ObjectPool.js +1 -1
  80. package/src/sap/ui/core/.library +3 -3
  81. package/src/sap/ui/core/AnimationMode.js +2 -2
  82. package/src/sap/ui/core/AppCacheBuster.js +30 -18
  83. package/src/sap/ui/core/BusyIndicator.js +1 -1
  84. package/src/sap/ui/core/CalendarType.js +6 -0
  85. package/src/sap/ui/core/Component.js +150 -80
  86. package/src/sap/ui/core/ComponentContainer.js +4 -3
  87. package/src/sap/ui/core/ComponentMetadata.js +3 -4
  88. package/src/sap/ui/core/ComponentSupport.js +1 -1
  89. package/src/sap/ui/core/Configuration.js +390 -706
  90. package/src/sap/ui/core/Control.js +1 -1
  91. package/src/sap/ui/core/ControlBehavior.js +37 -28
  92. package/src/sap/ui/core/Core.js +327 -151
  93. package/src/sap/ui/core/CustomData.js +1 -1
  94. package/src/sap/ui/core/DeclarativeSupport.js +3 -1
  95. package/src/sap/ui/core/Element.js +18 -8
  96. package/src/sap/ui/core/ElementMetadata.js +1 -1
  97. package/src/sap/ui/core/EnabledPropagator.js +3 -2
  98. package/src/sap/ui/core/EventBus.js +1 -1
  99. package/src/sap/ui/core/Fragment.js +1 -1
  100. package/src/sap/ui/core/HTML.js +1 -1
  101. package/src/sap/ui/core/History.js +1 -1
  102. package/src/sap/ui/core/Icon.js +1 -1
  103. package/src/sap/ui/core/IndicationColorSupport.js +13 -1
  104. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  105. package/src/sap/ui/core/InvisibleMessage.js +2 -3
  106. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  107. package/src/sap/ui/core/InvisibleText.js +17 -1
  108. package/src/sap/ui/core/Item.js +1 -1
  109. package/src/sap/ui/core/LabelEnablement.js +8 -1
  110. package/src/sap/ui/core/LayoutData.js +1 -1
  111. package/src/sap/ui/core/Lib.js +195 -29
  112. package/src/sap/ui/core/ListItem.js +1 -1
  113. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  114. package/src/sap/ui/core/Locale.js +1 -1
  115. package/src/sap/ui/core/LocaleData.js +118 -32
  116. package/src/sap/ui/core/Manifest.js +4 -2
  117. package/src/sap/ui/core/Message.js +1 -1
  118. package/src/sap/ui/core/Placeholder.js +18 -0
  119. package/src/sap/ui/core/Popup.js +5 -0
  120. package/src/sap/ui/core/RenderManager.js +21 -17
  121. package/src/sap/ui/core/Renderer.js +1 -1
  122. package/src/sap/ui/core/Rendering.js +51 -47
  123. package/src/sap/ui/core/ResizeHandler.js +2 -2
  124. package/src/sap/ui/core/ScrollBar.js +1 -1
  125. package/src/sap/ui/core/SeparatorItem.js +1 -1
  126. package/src/sap/ui/core/Shortcut.js +5 -3
  127. package/src/sap/ui/core/Supportability.js +146 -0
  128. package/src/sap/ui/core/Theming.js +130 -88
  129. package/src/sap/ui/core/Title.js +1 -1
  130. package/src/sap/ui/core/TooltipBase.js +4 -3
  131. package/src/sap/ui/core/UIArea.js +1 -4
  132. package/src/sap/ui/core/UIComponent.js +38 -12
  133. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  134. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  135. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  136. package/src/sap/ui/core/XMLComposite.js +1 -1
  137. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  138. package/src/sap/ui/core/XMLTemplateProcessor.js +3 -3
  139. package/src/sap/ui/core/_IconRegistry.js +13 -6
  140. package/src/sap/ui/core/cldr/ar.json +143 -137
  141. package/src/sap/ui/core/cldr/ar_EG.json +143 -137
  142. package/src/sap/ui/core/cldr/ar_SA.json +143 -137
  143. package/src/sap/ui/core/cldr/bg.json +423 -423
  144. package/src/sap/ui/core/cldr/ca.json +541 -494
  145. package/src/sap/ui/core/cldr/cs.json +475 -364
  146. package/src/sap/ui/core/cldr/cy.json +656 -477
  147. package/src/sap/ui/core/cldr/da.json +334 -275
  148. package/src/sap/ui/core/cldr/de.json +388 -291
  149. package/src/sap/ui/core/cldr/de_AT.json +388 -291
  150. package/src/sap/ui/core/cldr/de_CH.json +394 -297
  151. package/src/sap/ui/core/cldr/el.json +169 -166
  152. package/src/sap/ui/core/cldr/el_CY.json +169 -166
  153. package/src/sap/ui/core/cldr/en.json +558 -521
  154. package/src/sap/ui/core/cldr/en_AU.json +558 -520
  155. package/src/sap/ui/core/cldr/en_GB.json +476 -439
  156. package/src/sap/ui/core/cldr/en_HK.json +520 -482
  157. package/src/sap/ui/core/cldr/en_IE.json +486 -448
  158. package/src/sap/ui/core/cldr/en_IN.json +466 -428
  159. package/src/sap/ui/core/cldr/en_NZ.json +506 -468
  160. package/src/sap/ui/core/cldr/en_PG.json +506 -468
  161. package/src/sap/ui/core/cldr/en_SG.json +506 -468
  162. package/src/sap/ui/core/cldr/en_ZA.json +486 -448
  163. package/src/sap/ui/core/cldr/es.json +473 -468
  164. package/src/sap/ui/core/cldr/es_AR.json +445 -440
  165. package/src/sap/ui/core/cldr/es_BO.json +479 -474
  166. package/src/sap/ui/core/cldr/es_CL.json +469 -464
  167. package/src/sap/ui/core/cldr/es_CO.json +387 -381
  168. package/src/sap/ui/core/cldr/es_MX.json +502 -497
  169. package/src/sap/ui/core/cldr/es_PE.json +455 -450
  170. package/src/sap/ui/core/cldr/es_UY.json +479 -474
  171. package/src/sap/ui/core/cldr/es_VE.json +499 -494
  172. package/src/sap/ui/core/cldr/et.json +378 -320
  173. package/src/sap/ui/core/cldr/fa.json +104 -104
  174. package/src/sap/ui/core/cldr/fi.json +401 -315
  175. package/src/sap/ui/core/cldr/fr.json +391 -385
  176. package/src/sap/ui/core/cldr/fr_BE.json +391 -385
  177. package/src/sap/ui/core/cldr/fr_CA.json +499 -493
  178. package/src/sap/ui/core/cldr/fr_CH.json +334 -328
  179. package/src/sap/ui/core/cldr/fr_LU.json +391 -385
  180. package/src/sap/ui/core/cldr/he.json +291 -159
  181. package/src/sap/ui/core/cldr/hi.json +157 -128
  182. package/src/sap/ui/core/cldr/hr.json +514 -461
  183. package/src/sap/ui/core/cldr/hu.json +287 -257
  184. package/src/sap/ui/core/cldr/id.json +463 -416
  185. package/src/sap/ui/core/cldr/it.json +468 -413
  186. package/src/sap/ui/core/cldr/it_CH.json +468 -413
  187. package/src/sap/ui/core/cldr/ja.json +98 -61
  188. package/src/sap/ui/core/cldr/kk.json +631 -571
  189. package/src/sap/ui/core/cldr/ko.json +79 -71
  190. package/src/sap/ui/core/cldr/lt.json +361 -270
  191. package/src/sap/ui/core/cldr/lv.json +234 -242
  192. package/src/sap/ui/core/cldr/ms.json +463 -408
  193. package/src/sap/ui/core/cldr/nb.json +176 -143
  194. package/src/sap/ui/core/cldr/nl.json +463 -393
  195. package/src/sap/ui/core/cldr/nl_BE.json +463 -393
  196. package/src/sap/ui/core/cldr/pl.json +633 -344
  197. package/src/sap/ui/core/cldr/pt.json +447 -336
  198. package/src/sap/ui/core/cldr/pt_PT.json +488 -449
  199. package/src/sap/ui/core/cldr/ro.json +477 -383
  200. package/src/sap/ui/core/cldr/ru.json +367 -332
  201. package/src/sap/ui/core/cldr/ru_UA.json +361 -326
  202. package/src/sap/ui/core/cldr/sk.json +502 -537
  203. package/src/sap/ui/core/cldr/sl.json +168 -161
  204. package/src/sap/ui/core/cldr/sr.json +276 -225
  205. package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
  206. package/src/sap/ui/core/cldr/sv.json +420 -346
  207. package/src/sap/ui/core/cldr/th.json +117 -94
  208. package/src/sap/ui/core/cldr/tr.json +413 -359
  209. package/src/sap/ui/core/cldr/uk.json +395 -368
  210. package/src/sap/ui/core/cldr/vi.json +392 -379
  211. package/src/sap/ui/core/cldr/zh_CN.json +91 -33
  212. package/src/sap/ui/core/cldr/zh_HK.json +90 -32
  213. package/src/sap/ui/core/cldr/zh_SG.json +90 -32
  214. package/src/sap/ui/core/cldr/zh_TW.json +75 -51
  215. package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
  216. package/src/sap/ui/core/date/UI5Date.js +1 -1
  217. package/src/sap/ui/core/date/_Calendars.js +5 -2
  218. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  219. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  220. package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
  221. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  222. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  223. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  224. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  225. package/src/sap/ui/core/format/DateFormat.js +33 -21
  226. package/src/sap/ui/core/format/NumberFormat.js +3 -2
  227. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  228. package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
  229. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  230. package/src/sap/ui/core/library.js +128 -8
  231. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  232. package/src/sap/ui/core/message/Message.js +2 -2
  233. package/src/sap/ui/core/message/MessageManager.js +1 -1
  234. package/src/sap/ui/core/message/MessageParser.js +1 -1
  235. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  236. package/src/sap/ui/core/message/MessageType.js +2 -1
  237. package/src/sap/ui/core/messagebundle.properties +24 -0
  238. package/src/sap/ui/core/messagebundle_ar.properties +15 -3
  239. package/src/sap/ui/core/messagebundle_bg.properties +14 -2
  240. package/src/sap/ui/core/messagebundle_ca.properties +13 -1
  241. package/src/sap/ui/core/messagebundle_cs.properties +15 -3
  242. package/src/sap/ui/core/messagebundle_cy.properties +16 -4
  243. package/src/sap/ui/core/messagebundle_da.properties +15 -3
  244. package/src/sap/ui/core/messagebundle_de.properties +15 -3
  245. package/src/sap/ui/core/messagebundle_el.properties +16 -4
  246. package/src/sap/ui/core/messagebundle_en.properties +12 -0
  247. package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
  248. package/src/sap/ui/core/messagebundle_es.properties +15 -3
  249. package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
  250. package/src/sap/ui/core/messagebundle_et.properties +15 -3
  251. package/src/sap/ui/core/messagebundle_fi.properties +15 -3
  252. package/src/sap/ui/core/messagebundle_fr.properties +15 -3
  253. package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
  254. package/src/sap/ui/core/messagebundle_hi.properties +16 -4
  255. package/src/sap/ui/core/messagebundle_hr.properties +14 -2
  256. package/src/sap/ui/core/messagebundle_hu.properties +16 -4
  257. package/src/sap/ui/core/messagebundle_id.properties +15 -3
  258. package/src/sap/ui/core/messagebundle_it.properties +17 -5
  259. package/src/sap/ui/core/messagebundle_iw.properties +15 -3
  260. package/src/sap/ui/core/messagebundle_ja.properties +25 -13
  261. package/src/sap/ui/core/messagebundle_kk.properties +15 -3
  262. package/src/sap/ui/core/messagebundle_ko.properties +14 -2
  263. package/src/sap/ui/core/messagebundle_lt.properties +15 -3
  264. package/src/sap/ui/core/messagebundle_lv.properties +15 -3
  265. package/src/sap/ui/core/messagebundle_mk.properties +352 -0
  266. package/src/sap/ui/core/messagebundle_ms.properties +15 -3
  267. package/src/sap/ui/core/messagebundle_nl.properties +15 -3
  268. package/src/sap/ui/core/messagebundle_no.properties +14 -2
  269. package/src/sap/ui/core/messagebundle_pl.properties +15 -3
  270. package/src/sap/ui/core/messagebundle_pt.properties +15 -3
  271. package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
  272. package/src/sap/ui/core/messagebundle_ro.properties +15 -3
  273. package/src/sap/ui/core/messagebundle_ru.properties +15 -3
  274. package/src/sap/ui/core/messagebundle_sh.properties +43 -31
  275. package/src/sap/ui/core/messagebundle_sk.properties +16 -4
  276. package/src/sap/ui/core/messagebundle_sl.properties +15 -3
  277. package/src/sap/ui/core/messagebundle_sv.properties +22 -10
  278. package/src/sap/ui/core/messagebundle_th.properties +15 -3
  279. package/src/sap/ui/core/messagebundle_tr.properties +15 -3
  280. package/src/sap/ui/core/messagebundle_uk.properties +18 -6
  281. package/src/sap/ui/core/messagebundle_vi.properties +18 -6
  282. package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
  283. package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
  284. package/src/sap/ui/core/mvc/Controller.js +22 -16
  285. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
  286. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  287. package/src/sap/ui/core/mvc/JSONView.js +4 -1
  288. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
  289. package/src/sap/ui/core/mvc/JSView.js +1 -1
  290. package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
  291. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  292. package/src/sap/ui/core/mvc/View.js +24 -14
  293. package/src/sap/ui/core/mvc/ViewType.js +2 -0
  294. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  295. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
  296. package/src/sap/ui/core/plugin/LessSupport.js +3 -1
  297. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  298. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  299. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  300. package/src/sap/ui/core/routing/Router.js +2 -4
  301. package/src/sap/ui/core/routing/Target.js +1 -3
  302. package/src/sap/ui/core/routing/Targets.js +2 -3
  303. package/src/sap/ui/core/routing/Views.js +2 -3
  304. package/src/sap/ui/core/routing/async/Target.js +1 -1
  305. package/src/sap/ui/core/rules/Config.support.js +11 -17
  306. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  307. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  308. package/src/sap/ui/core/service/Service.js +1 -1
  309. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  310. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  311. package/src/sap/ui/core/support/Hotkeys.js +5 -3
  312. package/src/sap/ui/core/support/Plugin.js +1 -1
  313. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
  314. package/src/sap/ui/core/support/Support.js +3 -5
  315. package/src/sap/ui/core/support/ToolsAPI.js +15 -11
  316. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  317. package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
  318. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  319. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  320. package/src/sap/ui/core/support/plugins/Selector.js +7 -5
  321. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  322. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  323. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  324. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -1
  325. package/src/sap/ui/core/syncStyleClass.js +2 -2
  326. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  327. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  328. package/src/sap/ui/core/themes/base/global.less +9 -9
  329. package/src/sap/ui/core/theming/Parameters.js +18 -19
  330. package/src/sap/ui/core/theming/ThemeManager.js +23 -4
  331. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  332. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  333. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  334. package/src/sap/ui/core/tmpl/Template.js +1 -1
  335. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  336. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  337. package/src/sap/ui/core/util/Export.js +1 -1
  338. package/src/sap/ui/core/util/ExportCell.js +1 -1
  339. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  340. package/src/sap/ui/core/util/ExportRow.js +1 -1
  341. package/src/sap/ui/core/util/ExportType.js +1 -1
  342. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  343. package/src/sap/ui/core/util/File.js +1 -1
  344. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  345. package/src/sap/ui/core/util/MockServer.js +1 -1
  346. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  347. package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
  348. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  349. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  350. package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
  351. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  352. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  353. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  354. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  355. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  356. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  357. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  358. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  359. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  360. package/src/sap/ui/debug/ControlTree.js +1 -1
  361. package/src/sap/ui/debug/DebugEnv.js +29 -7
  362. package/src/sap/ui/debug/PropertyList.js +1 -1
  363. package/src/sap/ui/model/ClientListBinding.js +3 -1
  364. package/src/sap/ui/model/ClientModel.js +1 -1
  365. package/src/sap/ui/model/ClientTreeBinding.js +3 -1
  366. package/src/sap/ui/model/CompositeDataState.js +1 -1
  367. package/src/sap/ui/model/CompositeType.js +1 -1
  368. package/src/sap/ui/model/DataState.js +2 -2
  369. package/src/sap/ui/model/Filter.js +39 -1
  370. package/src/sap/ui/model/FilterProcessor.js +12 -2
  371. package/src/sap/ui/model/ListBinding.js +5 -0
  372. package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
  373. package/src/sap/ui/model/MetaModel.js +1 -1
  374. package/src/sap/ui/model/Model.js +5 -1
  375. package/src/sap/ui/model/SelectionModel.js +1 -1
  376. package/src/sap/ui/model/SimpleType.js +1 -1
  377. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  378. package/src/sap/ui/model/TreeBinding.js +3 -0
  379. package/src/sap/ui/model/Type.js +1 -1
  380. package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
  381. package/src/sap/ui/model/json/JSONListBinding.js +3 -1
  382. package/src/sap/ui/model/json/JSONModel.js +1 -1
  383. package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
  384. package/src/sap/ui/model/message/MessageListBinding.js +3 -0
  385. package/src/sap/ui/model/message/MessageModel.js +1 -1
  386. package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
  387. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  388. package/src/sap/ui/model/odata/ODataListBinding.js +3 -0
  389. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  390. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  391. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  392. package/src/sap/ui/model/odata/ODataModel.js +9 -5
  393. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
  394. package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
  395. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
  396. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  397. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  398. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  399. package/src/sap/ui/model/odata/type/Date.js +1 -1
  400. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  401. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  402. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  403. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  404. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  405. package/src/sap/ui/model/odata/type/Double.js +1 -1
  406. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  407. package/src/sap/ui/model/odata/type/Int.js +1 -1
  408. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  409. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  410. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  411. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  412. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  413. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  414. package/src/sap/ui/model/odata/type/Single.js +1 -1
  415. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  416. package/src/sap/ui/model/odata/type/String.js +1 -1
  417. package/src/sap/ui/model/odata/type/Time.js +1 -1
  418. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  419. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  420. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  421. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  422. package/src/sap/ui/model/odata/v2/ODataListBinding.js +35 -13
  423. package/src/sap/ui/model/odata/v2/ODataModel.js +21 -8
  424. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -2
  425. package/src/sap/ui/model/odata/v4/Context.js +81 -7
  426. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  427. package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
  428. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  429. package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
  430. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  431. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
  432. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
  433. package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
  434. package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
  435. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
  436. package/src/sap/ui/model/resource/ResourceModel.js +5 -6
  437. package/src/sap/ui/model/type/Boolean.js +1 -1
  438. package/src/sap/ui/model/type/Currency.js +1 -1
  439. package/src/sap/ui/model/type/Date.js +1 -1
  440. package/src/sap/ui/model/type/DateInterval.js +1 -1
  441. package/src/sap/ui/model/type/DateTime.js +1 -1
  442. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  443. package/src/sap/ui/model/type/FileSize.js +1 -1
  444. package/src/sap/ui/model/type/Float.js +1 -1
  445. package/src/sap/ui/model/type/Integer.js +1 -1
  446. package/src/sap/ui/model/type/String.js +1 -1
  447. package/src/sap/ui/model/type/Time.js +1 -1
  448. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  449. package/src/sap/ui/model/type/Unit.js +1 -1
  450. package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
  451. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  452. package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
  453. package/src/sap/ui/performance/BeaconRequest.js +2 -2
  454. package/src/sap/ui/qunit/QUnitUtils.js +64 -45
  455. package/src/sap/ui/qunit/qunit-coverage.js +6 -0
  456. package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
  457. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  458. package/src/sap/ui/security/Security.js +128 -0
  459. package/src/sap/ui/test/BlanketReporter.js +2 -3
  460. package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
  461. package/src/sap/ui/test/BranchTracking.js +2 -3
  462. package/src/sap/ui/test/ModuleTracking.js +48 -20
  463. package/src/sap/ui/test/OpaExtension.js +3 -3
  464. package/src/sap/ui/test/OpaPlugin.js +16 -6
  465. package/src/sap/ui/test/TestUtils.js +7 -4
  466. package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
  467. package/src/sap/ui/test/_ControlFinder.js +3 -2
  468. package/src/sap/ui/test/_LogCollector.js +1 -0
  469. package/src/sap/ui/test/_UsageReport.js +115 -114
  470. package/src/sap/ui/test/actions/EnterText.js +20 -2
  471. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
  472. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
  473. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  474. package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
  475. package/src/sap/ui/test/generic/TestBase.js +1 -1
  476. package/src/sap/ui/test/generic/Utils.js +1 -1
  477. package/src/sap/ui/test/matchers/LabelFor.js +2 -12
  478. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  479. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
  480. package/src/sap/ui/test/selectors/_Selector.js +1 -1
  481. package/src/sap/ui/util/Storage.js +1 -1
  482. package/src/ui5loader-autoconfig.js +84 -11
  483. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
  484. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
  485. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
  486. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
  487. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
  488. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
  489. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
  490. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
  491. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
  492. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
  493. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
  494. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
  495. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
  496. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
  497. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
  498. package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
  499. package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
  500. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
  501. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
  502. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
  503. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
  504. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
  505. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
  506. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
  507. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
  508. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
  509. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
  510. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
  511. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
  512. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
  513. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
  514. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
  515. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
  516. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
  517. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
  518. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
  519. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
  520. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
  521. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
  522. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
  523. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
  524. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
  525. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
  526. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
  527. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
  528. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
  529. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
  530. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
  531. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
  532. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
  533. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
  534. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
  535. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
  536. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
  537. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
  538. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
  539. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
  540. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
  541. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
  542. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
  543. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
  544. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
  545. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
  546. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
  547. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
  548. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
  549. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
  550. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
  551. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
  552. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
  553. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
  554. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
  555. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
  556. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
  557. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
  564. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
  565. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
  566. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
  567. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
  568. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
  569. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
  570. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
  571. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
  572. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
  573. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
  574. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
  575. package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
  576. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
  577. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
  578. package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
  579. package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
  580. package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
  581. package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
  582. package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
  583. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
  584. package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
  585. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
  586. package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
  587. package/test/sap/ui/core/qunit/Lib.qunit.js +22 -1
  588. package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
  589. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -2
  590. package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
  591. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
  592. package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
  593. package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
  594. package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
  595. package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
  596. package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
  597. package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
  598. package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
  599. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
  600. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
  601. package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
  602. package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
  603. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
  604. package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
  605. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
  606. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +30 -30
  607. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
  608. package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
  609. package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
  610. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
  611. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
  612. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
  613. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
  614. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
  615. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
  616. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
  617. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
  618. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
  619. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
  620. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
  621. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
  622. package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
  623. package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
  624. package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
  625. package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
  626. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
  627. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
  628. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
  629. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
  630. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
  631. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
  632. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
  633. package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
  634. package/test/sap/ui/core/qunit/component/Component.qunit.js +74 -4
  635. package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
  636. package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
  637. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
  638. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
  639. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
  640. package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
  641. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
  642. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
  643. package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
  644. package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
  645. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
  646. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
  647. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
  648. package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
  649. package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
  650. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
  651. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
  652. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
  653. package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
  654. package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
  655. package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
  656. package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
  657. package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
  658. package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
  659. package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
  660. package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +3 -0
  661. package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
  662. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
  663. package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
  664. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
  665. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
  666. package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
  667. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
  668. package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
  669. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
  670. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  671. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
  672. package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
  673. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
  674. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
  675. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
  676. package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
  677. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
  678. package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
  679. package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
  680. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +3 -0
  681. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
  682. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +3 -0
  683. package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
  684. package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
  685. package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
  686. package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
  687. package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
  688. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +40 -1
  689. package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
  690. package/test/sap/ui/core/qunit/model/Model.qunit.js +3 -0
  691. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
  692. package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
  693. package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
  694. package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
  695. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
  696. package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
  697. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
  698. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
  699. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
  700. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
  701. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
  702. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
  703. package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
  704. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
  705. package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
  706. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
  707. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
  708. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
  709. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
  710. package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
  711. package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
  712. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
  713. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +36 -13
  714. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
  715. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +6 -4
  716. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
  717. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
  718. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +194 -3
  719. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
  720. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
  721. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
  722. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1859 -407
  723. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
  724. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
  725. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
  726. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
  727. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
  728. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
  729. package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
  730. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
  731. package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
  732. package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
  733. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
  734. package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
  735. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +51 -3
  736. package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
  737. package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
  738. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
  739. package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
  740. package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
  741. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
  742. package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
  743. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
  744. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
  745. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
  746. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
  747. package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
  748. package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
  749. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
  750. package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
  751. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
  752. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
  753. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
  754. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
  755. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
  756. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
  757. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
  758. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
  759. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
  760. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
  761. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
  762. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
  763. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
  764. package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
  765. package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
  766. package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
  767. package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
  768. package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
  769. package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
  770. package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
  771. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
  772. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
  773. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
  774. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
  775. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
  776. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
  777. package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
  778. package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
  779. package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
  780. package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
  781. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
  782. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
  783. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
  784. package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
  785. package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
  786. package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
  787. package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
  788. package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
  789. package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
  790. package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
  791. package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
  792. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
  793. package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
  794. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
  795. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
  796. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
  797. package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
  798. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
  799. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
  800. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
  801. package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
  802. package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
  803. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
  804. package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
  805. package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
  806. package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
  807. package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
  808. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
  809. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
  810. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
  811. package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
  812. package/test/sap/ui/core/relnotes/changes-1.120.json +360 -0
  813. package/test/sap/ui/core/terminologies/App.controller.js +2 -3
  814. package/test/sap/ui/core/terminologies/main.js +2 -3
  815. package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
  816. package/src/sap/ui/core/ConfigTest.js +0 -17
  817. package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
  818. package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
  819. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
  820. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
  821. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
  822. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
  823. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
  824. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
  825. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
  826. package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
  827. package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
  828. package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
@@ -16,30 +16,33 @@
16
16
  // The module ID argument is given because QUnitUtils.js often was included as a script Element in the past.
17
17
  // It is now recommended to use it via a module dependency (sap.ui.define).
18
18
  sap.ui.define('sap/ui/qunit/QUnitUtils', [
19
- 'jquery.sap.global',
20
- 'sap/base/util/ObjectPath',
21
- 'sap/ui/base/DataType',
22
- 'sap/ui/events/KeyCodes',
19
+ "sap/base/Log",
23
20
  "sap/base/strings/camelize",
24
21
  "sap/base/strings/capitalize",
25
- "sap/base/util/UriParameters",
26
- "sap/base/Log",
22
+ "sap/base/util/extend",
23
+ "sap/base/util/ObjectPath",
24
+ "sap/ui/base/DataType",
27
25
  "sap/ui/core/Element",
26
+ "sap/ui/events/KeyCodes",
27
+ "sap/ui/thirdparty/jquery",
28
28
  "sap/ui/dom/jquery/control" // jQuery Plugin "control"
29
29
  ],
30
30
  function(
31
- jQuery,
31
+ Log,
32
+ camelize,
33
+ capitalize,
34
+ extend,
32
35
  ObjectPath,
33
36
  DataType,
37
+ Element,
34
38
  KeyCodes,
35
- camelize,
36
- capitalize,
37
- UriParameters,
38
- Log,
39
- Element
39
+ jQuery
40
40
  ) {
41
41
  "use strict";
42
42
 
43
+ /**
44
+ * @deprecated As of 1.120
45
+ */
43
46
  if ( typeof QUnit !== 'undefined' ) {
44
47
 
45
48
  // any version < 2.0 activates legacy support
@@ -47,11 +50,11 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
47
50
  var bLegacySupport = !(parseFloat(QUnit.version) >= 2.0);
48
51
 
49
52
  // extract the URL parameters
50
- var mParams = UriParameters.fromQuery(window.location.search);
53
+ var mParams = new URLSearchParams(window.location.search);
51
54
 
52
55
  if ( bLegacySupport ) {
53
- // TODO: Remove deprecated code once all projects adapted
54
- QUnit.equals = window.equals = window.equal;
56
+ // TODO: Remove deprecated code once all projects adapted
57
+ QUnit.equals = window.equals = window.equal;
55
58
  }
56
59
 
57
60
  // Set a timeout for all tests, either to a value given via URL
@@ -65,8 +68,8 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
65
68
  }
66
69
 
67
70
  if ( bLegacySupport ) {
68
- // Do not reorder tests, as most of the tests depend on each other
69
- QUnit.config.reorder = false;
71
+ // Do not reorder tests, as most of the tests depend on each other
72
+ QUnit.config.reorder = false;
70
73
  }
71
74
 
72
75
  // only when instrumentation is done on server-side blanket itself doesn't
@@ -117,6 +120,8 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
117
120
  * @param {int} [iDelay] optional delay in milliseconds
118
121
  *
119
122
  * @public
123
+ * @deprecated As of version 1.120, not needed with property async test design. If tests depend on theming,
124
+ * they rather should use the waitForTheme option or module <code>waitForThemeApplied</code>.
120
125
  */
121
126
  QUtils.delayTestStart = function(iDelay){
122
127
  QUnit.config.autostart = false;
@@ -131,7 +136,9 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
131
136
  }
132
137
  };
133
138
 
134
- var fixOriginalEvent = jQuery.noop;
139
+ var noop = function() {};
140
+
141
+ var fixOriginalEvent = noop;
135
142
 
136
143
  try {
137
144
 
@@ -143,15 +150,15 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
143
150
  // if so, we might be running on top of jQuery 2.2.0 or higher and we have to add the native Event methods to the 'originalEvent'
144
151
  fixOriginalEvent = function(origEvent) {
145
152
  if ( origEvent ) {
146
- origEvent.preventDefault = origEvent.preventDefault || jQuery.noop;
147
- origEvent.stopPropagation = origEvent.stopPropagation || jQuery.noop;
148
- origEvent.stopImmediatePropagation = origEvent.stopImmediatePropagation || jQuery.noop;
153
+ origEvent.preventDefault = origEvent.preventDefault || noop;
154
+ origEvent.stopPropagation = origEvent.stopPropagation || noop;
155
+ origEvent.stopImmediatePropagation = origEvent.stopImmediatePropagation || noop;
149
156
  }
150
157
  };
151
158
 
152
- var OrigjQEvent = jQuery.Event;
159
+ const OrigjQEvent = jQuery.Event;
153
160
  jQuery.Event = function(src, props) {
154
- var event = new OrigjQEvent(src, props);
161
+ const event = new OrigjQEvent(src, props);
155
162
  fixOriginalEvent(event.originalEvent);
156
163
  return event;
157
164
  };
@@ -575,11 +582,17 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
575
582
 
576
583
  // --------------------------------------------------------------------------------------------------
577
584
 
585
+ /**
586
+ * @deprecated No longer used in DIST layer
587
+ */
578
588
  var FONT_WEIGHTS = {
579
589
  'normal': 400,
580
590
  'bold': 700
581
591
  };
582
592
 
593
+ /**
594
+ * @deprecated No longer used in DIST layer
595
+ */
583
596
  jQuery.fn.extend({
584
597
 
585
598
  /**
@@ -666,7 +679,7 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
666
679
  if ( typeof sType === "string" ) {
667
680
  mDefaultTestValues[sType] = ensureArray(aValues);
668
681
  } else if ( typeof sType === "object" ) {
669
- jQuery.extend(mDefaultTestValues, sType);
682
+ extend(mDefaultTestValues, sType);
670
683
  }
671
684
  };
672
685
 
@@ -677,27 +690,27 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
677
690
  QUtils.createSettingsDomain = function(oClass, oPredefinedValues) {
678
691
 
679
692
  function createValues(sType) {
680
- if ( mDefaultTestValues[sType] ) {
681
- return mDefaultTestValues[sType];
682
- }
683
-
684
- try {
685
- //TODO: global jquery call found
686
- jQuery.sap.require(sType);
687
- } catch (e) {
688
- //escape eslint check for empty block
689
- }
690
- var oType = ObjectPath.get(sType);
691
- if ( !(oType instanceof DataType) ) {
692
- var r = [];
693
- for (var n in oType) {
694
- r.push(oType[n]);
693
+ if ( !mDefaultTestValues[sType] ) {
694
+ var oType = DataType.getType(sType);
695
+ var oEnumValues = oType && oType.isEnum() ? oType.getEnumValues() : undefined;
696
+ /**
697
+ * @deprecated As of 1.120
698
+ */
699
+ if (!oType) {
700
+ try {
701
+ sap.ui.requireSync(sType.replace(/\./g, "/")); // legacy-relevant legacy fallback
702
+ } catch (e) {
703
+ // ignore
704
+ }
705
+ oEnumValues = ObjectPath.get(sType);
706
+ }
707
+ if (oEnumValues && !(oEnumValues instanceof DataType)) {
708
+ mDefaultTestValues[sType] = Object.keys(oEnumValues);
709
+ } else {
710
+ mDefaultTestValues[sType] = [];
695
711
  }
696
- mDefaultTestValues[sType] = r;
697
- return r;
698
712
  }
699
- return [];
700
-
713
+ return mDefaultTestValues[sType];
701
714
  }
702
715
 
703
716
  oClass = new oClass().getMetadata().getClass(); // resolves proxy
@@ -1080,9 +1093,15 @@ sap.ui.define('sap/ui/qunit/QUnitUtils', [
1080
1093
 
1081
1094
  }());
1082
1095
 
1083
- // export
1084
- // TODO: Get rid of the old namespace and adapt the existing tests accordingly
1096
+ // legacy global exports
1097
+ /**
1098
+ * TODO: Get rid of the old namespace and adapt the existing tests accordingly
1099
+ * @deprecated
1100
+ */
1085
1101
  ObjectPath.set("sap.ui.test.qunit", QUtils);
1102
+ /**
1103
+ * @deprecated
1104
+ */
1086
1105
  window.qutils = QUtils;
1087
1106
 
1088
1107
  return QUtils;
@@ -5,6 +5,12 @@
5
5
  */
6
6
 
7
7
  /*global jQuery, QUnit, URI, XMLHttpRequest, blanket, sap */// declare unusual global vars for JSLint/SAPUI5 validation
8
+ /**
9
+ * @fileoverview
10
+ * @deprecated As of version 1.120, support for blanket-based instrumentation has been deprecated. As an alternative,
11
+ * you might use the {@link https://github.com/SAP/ui5-tooling-extensions/tree/main/packages/middleware-code-coverage
12
+ * @ui5/middleware-code-coverage}.
13
+ */
8
14
  (function() {
9
15
  "use strict";
10
16
 
@@ -53,7 +53,7 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo"],
53
53
  * @namespace
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.119.0
56
+ * @version 1.120.0
57
57
  *
58
58
  * @public
59
59
  * @since 1.48.0
@@ -87,12 +87,27 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo"],
87
87
  "sap.ui.comp.smartform.Group",
88
88
  "sap.ui.comp.smartform.GroupElement",
89
89
  "sap.ui.comp.valuehelpdialog.ValueHelpDialog",
90
+ /**
91
+ * @deprecated since 1.108
92
+ */
90
93
  "sap.ui.core.mvc.HTMLView",
94
+ /**
95
+ * @deprecated since 1.120
96
+ */
91
97
  "sap.ui.core.mvc.JSONView",
98
+ /**
99
+ * @deprecated since 1.90
100
+ */
92
101
  "sap.ui.core.mvc.JSView",
102
+ /**
103
+ * @deprecated since 1.56
104
+ */
93
105
  "sap.ui.core.mvc.TemplateView",
94
106
  "sap.ui.core.mvc.View",
95
107
  "sap.ui.core.mvc.XMLView",
108
+ /**
109
+ * @deprecated since 1.56
110
+ */
96
111
  "sap.ui.core.tmpl.Template",
97
112
  "sap.ui.core.UIComponent",
98
113
  "sap.ui.core.util.Export",
@@ -152,12 +167,27 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo"],
152
167
  "sap.ui.commons.Tab",
153
168
  "sap.ui.comp.transport.TransportDialog",
154
169
  "sap.ui.core.ComponentContainer",
170
+ /**
171
+ * @deprecated since 1.108
172
+ */
155
173
  "sap.ui.core.mvc.HTMLView",
174
+ /**
175
+ * @deprecated since 1.120
176
+ */
156
177
  "sap.ui.core.mvc.JSONView",
178
+ /**
179
+ * @deprecated since 1.90
180
+ */
157
181
  "sap.ui.core.mvc.JSView",
182
+ /**
183
+ * @deprecated since 1.56
184
+ */
158
185
  "sap.ui.core.mvc.TemplateView",
159
186
  "sap.ui.core.mvc.View",
160
187
  "sap.ui.core.mvc.XMLView",
188
+ /**
189
+ * @deprecated since 1.56
190
+ */
161
191
  "sap.ui.core.XMLComposite",
162
192
  "sap.ui.mdc.BaseControl", // should be abstract?
163
193
  "sap.ui.mdc.odata.v4.microchart.MicroChart", //The control only runs in views with XML pre-processor. The test can't provide this environment
@@ -27,7 +27,7 @@ sap.ui.define([ 'sap/ui/core/Element', 'sap/ui/core/Control', "sap/ui/qunit/util
27
27
  * @namespace
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.119.0
30
+ * @version 1.120.0
31
31
  *
32
32
  * @public
33
33
  * @since 1.48.0
@@ -0,0 +1,128 @@
1
+ /*!
2
+ * copyright
3
+ */
4
+
5
+ sap.ui.define([
6
+ "sap/base/config"
7
+ ], function(
8
+ BaseConfig
9
+ ) {
10
+ "use strict";
11
+
12
+ const oWritableConfig = BaseConfig.getWritableInstance();
13
+
14
+ /**
15
+ * Helper function for getting the config option 'allowListService'
16
+ * For legacy reasons configuration option provided via the global window object
17
+ * are treated different compared to the option provided using bootstrap or meta
18
+ * tag. Configuration options provided via globalThis/window object are always
19
+ * prefixed with 'sapUi' therefore first check for param starting with 'sapUi'.
20
+ * In case there is no param found check for param prefixed only with 'sap'.
21
+ * @private
22
+ * @since 1.120.0
23
+ * @return {Object} An object containing the value of configuration
24
+ * parameter allowListService and a flag whether the parameter is derived
25
+ * from global provider or not.
26
+ */
27
+ const getAllowlistService = () => {
28
+ let bGlobalProvider = true;
29
+ let sAllowlistService = oWritableConfig.get({
30
+ name: "sapUiAllowlistService",
31
+ type: oWritableConfig.Type.String,
32
+ defaultValue: oWritableConfig.get({
33
+ name: "sapUiWhitelistService",
34
+ type: oWritableConfig.Type.String,
35
+ defaultValue: undefined
36
+ })
37
+ });
38
+ if (!sAllowlistService) {
39
+ sAllowlistService = oWritableConfig.get({
40
+ name: "sapAllowlistService",
41
+ type: oWritableConfig.Type.String,
42
+ defaultValue: oWritableConfig.get({
43
+ name: "sapWhitelistService",
44
+ type: oWritableConfig.Type.String
45
+ })
46
+ });
47
+ bGlobalProvider = false;
48
+ }
49
+ return {
50
+ allowlistService: sAllowlistService,
51
+ globalProvider: bGlobalProvider
52
+ };
53
+ };
54
+ /**
55
+ * Provides security related API
56
+ *
57
+ * @alias module:sap/ui/security/Security
58
+ * @namespace
59
+ * @public
60
+ * @since 1.120.0
61
+ */
62
+ const Security = {
63
+ /**
64
+ * URL of the allowlist service.
65
+ *
66
+ * @return {string} allowlist service URL
67
+ * @public
68
+ * @since 1.120.0
69
+ */
70
+ getAllowlistService: () => getAllowlistService().allowlistService,
71
+
72
+ /**
73
+ * frameOptions mode (allow/deny/trusted).
74
+ *
75
+ * @return {string} frameOptions mode
76
+ * @public
77
+ * @since 1.120.0
78
+ */
79
+ getFrameOptions() {
80
+ var sFrameOptions = oWritableConfig.get({
81
+ name: "sapUiFrameOptions",
82
+ type: oWritableConfig.Type.String,
83
+ defaultValue: "default"
84
+ });
85
+
86
+ if (sFrameOptions === "default") {
87
+ const oAllowlistService = getAllowlistService();
88
+ sFrameOptions = oAllowlistService.allowlistService && !oAllowlistService.globalProvider ? "trusted" : "allow";
89
+ }
90
+ return sFrameOptions;
91
+ },
92
+
93
+ /**
94
+ * Returns the security token handlers of an OData V4 model.
95
+ *
96
+ * @returns {Array<function(sap.ui.core.URI):Promise>} the security token handlers (an empty array if there are none)
97
+ * @public
98
+ * @since 1.120.0
99
+ * @see #setSecurityTokenHandlers
100
+ */
101
+ getSecurityTokenHandlers() {
102
+ return oWritableConfig.get({
103
+ name: "sapUiSecurityTokenHandlers",
104
+ type: oWritableConfig.Type.FunctionArray
105
+ });
106
+ },
107
+
108
+ /**
109
+ * Sets the security token handlers for an OData V4 model. See chapter
110
+ * {@link topic:9613f1f2d88747cab21896f7216afdac/section_STH Security Token Handling}.
111
+ *
112
+ * @param {Array<function(sap.ui.core.URI):Promise>} aSecurityTokenHandlers - The security token handlers
113
+ * @public
114
+ * @since 1.120.0
115
+ * @see #getSecurityTokenHandlers
116
+ */
117
+ setSecurityTokenHandlers(aSecurityTokenHandlers) {
118
+ aSecurityTokenHandlers.forEach(function (fnSecurityTokenHandler) {
119
+ if (typeof fnSecurityTokenHandler !== "function") {
120
+ throw new Error("Not a function: " + fnSecurityTokenHandler);
121
+ }
122
+ });
123
+ oWritableConfig.set("sapUiSecurityTokenHandlers", aSecurityTokenHandlers.slice());
124
+ }
125
+ };
126
+
127
+ return Security;
128
+ });
@@ -11,9 +11,8 @@ sap.ui.define([
11
11
  "sap/ui/model/Filter",
12
12
  "sap/ui/model/FilterType",
13
13
  "sap/ui/model/json/JSONModel",
14
- "sap/base/util/UriParameters",
15
14
  "sap/base/security/encodeXML"
16
- ], function (jQuery, Controller, XMLView, Filter, FilterType, JSONModel, UriParameters, encodeXML) {
15
+ ], function (jQuery, Controller, XMLView, Filter, FilterType, JSONModel, encodeXML) {
17
16
  "use strict";
18
17
 
19
18
  // lower case package names, UpperCamelCase class name, optional lowerCamelCase method name
@@ -463,7 +462,7 @@ sap.ui.define([
463
462
 
464
463
  return function (iLinesOfContext, iThreshold, fnGetTestedModules, oCoverageData) {
465
464
  var oDiv, oModel, aTestedModules,
466
- oUriParameters = UriParameters.fromQuery(window.location.search);
465
+ oUriParameters = new URLSearchParams(window.location.search);
467
466
 
468
467
  /*
469
468
  * Tells whether the given module corresponds 1:1 to a single class.
@@ -104,7 +104,7 @@
104
104
  preserveDecimals : false}}"/>
105
105
  </table:template>
106
106
  </table:Column>
107
- <table:Column filterProperty="name" sortProperty="name" sorted="true">
107
+ <table:Column filterProperty="name" sortProperty="name" sorted="true" sortOrder="Ascending">
108
108
  <table:label>
109
109
  <Text text="File"/>
110
110
  </table:label>
@@ -645,10 +645,9 @@
645
645
  QUnit.module = module;
646
646
  sap.ui.require([
647
647
  "sap/base/Log",
648
- "sap/base/util/UriParameters",
649
648
  "sap/ui/base/SyncPromise"
650
- ], function (Log, UriParameters, SyncPromise) {
651
- var oUriParameters = UriParameters.fromQuery(window.location.search);
649
+ ], function (Log, SyncPromise) {
650
+ var oUriParameters = new URLSearchParams(window.location.search);
652
651
 
653
652
  bInfo = Log.isLoggable(Log.Level.INFO, sClassName);
654
653
  sFilter = oUriParameters.get("filter");
@@ -144,9 +144,16 @@
144
144
  const bTestsFiltered = /(testId|filter)=/.test(window.location.search);
145
145
 
146
146
  function filterCoverage() {
147
- // only keep the coverage for the actually tested modules
148
- if (window.__coverage__ && Object.keys(mCoverageSnapshotByModule ).length) {
149
- window.__coverage__ = mCoverageSnapshotByModule;
147
+ if (window.__coverage__ && Object.keys(mCoverageSnapshotByModule).length) {
148
+ if (window.location.search.includes("moduleId=")) {
149
+ // only keep the coverage for the actually tested modules
150
+ window.__coverage__ = mCoverageSnapshotByModule;
151
+ } else {
152
+ // replace globally measured code coverage by isolated code coverage results
153
+ for (const [sModuleName, oCounts] of Object.entries(mCoverageSnapshotByModule)) {
154
+ setModuleCoverage(sModuleName, oCounts);
155
+ }
156
+ }
150
157
  }
151
158
  }
152
159
 
@@ -154,37 +161,58 @@
154
161
  if (!window.__coverage__) {
155
162
  return undefined;
156
163
  }
164
+ if (sModuleName.endsWith(".js")) {
165
+ return sModuleName;
166
+ }
157
167
  const sPath = `${sModuleName.replace(/\./g, "/")}.js`;
158
168
  return Object.keys(window.__coverage__)
159
169
  .find((sResourceName) => sResourceName.endsWith(sPath));
160
170
  }
161
171
 
162
- function resetBranchCounts(oCurrent, oInitial) {
163
- const oCurrentCounts = oCurrent.b;
164
- const oInitialCounts = oInitial.b;
165
- for (const [sKey, aInitialCounts] of Object.entries(oInitialCounts)) {
166
- const aCurrentCounts = oCurrentCounts[sKey];
172
+ /**
173
+ * Replaces the current code coverage counts for branches by the given counts.
174
+ *
175
+ * @param {object} oCurrent The current branch counts
176
+ * @param {object} oCounts The branch counts to be used
177
+ */
178
+ function setBranchCounts(oCurrent, oCounts) {
179
+ const oCurrentBranchCounts = oCurrent.b;
180
+ const oBranchCounts = oCounts.b;
181
+ for (const [sKey, aInitialCounts] of Object.entries(oBranchCounts)) {
182
+ const aCurrentCounts = oCurrentBranchCounts[sKey];
167
183
  aInitialCounts.forEach((iCount, i) => { aCurrentCounts[i] = iCount; });
168
184
  }
169
185
  }
170
186
 
171
- function resetCounts(oCurrent, oInitial, sList) {
172
- const oCurrentCounts = oCurrent[sList];
173
- const oInitialCounts = oInitial[sList];
174
- for (const [sKey, iCount] of Object.entries(oInitialCounts)) {
187
+ /**
188
+ * Replaces the current code coverage counts by the given counts.
189
+ *
190
+ * @param {object} oCurrentCounts The current counts
191
+ * @param {object} oCounts The counts to be used
192
+ */
193
+ function setCounts(oCurrentCounts, oCounts) {
194
+ for (const [sKey, iCount] of Object.entries(oCounts)) {
175
195
  oCurrentCounts[sKey] = iCount;
176
196
  }
177
197
  }
178
198
 
179
- function resetModuleCoverage(sModuleName) {
199
+ /**
200
+ * Sets the measured counts to the given values, or to the initial values if isolated counts
201
+ * are not set.
202
+ *
203
+ * @param {string} sModuleName
204
+ * The module name
205
+ * @param {object} [oIsolatedCounts]
206
+ * The measured isolated counts; if not given the initial counts are used
207
+ */
208
+ function setModuleCoverage(sModuleName, oIsolatedCounts) {
180
209
  const sResourceName = getResourceName(sModuleName);
181
210
  if (sResourceName) {
182
- // keep only coverage for the module loading
183
- const oCurrent = window.__coverage__[sResourceName];
184
- const oInitial = mInitialCoverageByModule[sResourceName];
185
- resetBranchCounts(oCurrent, oInitial);
186
- resetCounts(oCurrent, oInitial, "f");
187
- resetCounts(oCurrent, oInitial, "s");
211
+ const oGlobalCounts = window.__coverage__[sResourceName];
212
+ const oCounts = oIsolatedCounts || mInitialCoverageByModule[sResourceName];
213
+ setBranchCounts(oGlobalCounts, oCounts);
214
+ setCounts(oGlobalCounts.f, oCounts.f);
215
+ setCounts(oGlobalCounts.s, oCounts.s);
188
216
  }
189
217
  }
190
218
 
@@ -273,7 +301,7 @@
273
301
  mHooks.before = function () {
274
302
  const oResult = fnBefore.apply(this, arguments);
275
303
  if (!this.__ignoreIsolatedCoverage__) {
276
- resetModuleCoverage(sTitle);
304
+ setModuleCoverage(sTitle);
277
305
  }
278
306
  return oResult;
279
307
  };
@@ -96,9 +96,9 @@ sap.ui.define(['sap/ui/base/Object'],function(Ui5Object) {
96
96
  * <pre>
97
97
  * <code>
98
98
  * sap.ui.define([
99
- * 'jquery.sap.global',
100
- * 'sap/ui/test/OpaExtension'
101
- * ],function($, OpaExtension) {
99
+ * 'sap/ui/test/OpaExtension',
100
+ * 'sap/ui/thirdparty/jquery'
101
+ * ],function(OpaExtension, $) {
102
102
  * "use strict";
103
103
  *
104
104
  * var customExtension = OpaExtension.extend("sap.ui.test.sample.CustomOpaExtension", {
@@ -24,12 +24,13 @@ sap.ui.define([
24
24
  'sap/ui/Global',
25
25
  'sap/ui/base/Object',
26
26
  'sap/ui/core/Element',
27
+ 'sap/ui/core/StaticArea',
27
28
  'sap/ui/core/mvc/View',
28
29
  'sap/ui/test/matchers/Ancestor',
29
30
  'sap/ui/test/matchers/MatcherFactory',
30
31
  'sap/ui/test/pipelines/MatcherPipeline',
31
32
  'sap/ui/test/_OpaLogger'
32
- ], function (extend, ObjectPath, $, Global, UI5Object, UI5Element, View, Ancestor, MatcherFactory,
33
+ ], function (extend, ObjectPath, $, Global, UI5Object, UI5Element, StaticArea, View, Ancestor, MatcherFactory,
33
34
  MatcherPipeline, _OpaLogger) {
34
35
 
35
36
  /**
@@ -43,6 +44,7 @@ sap.ui.define([
43
44
  var OpaPlugin = UI5Object.extend("sap.ui.test.OpaPlugin", /** @lends sap.ui.test.OpaPlugin.prototype */ {
44
45
 
45
46
  constructor : function() {
47
+ UI5Object.call(this);
46
48
  this._oLogger = _OpaLogger.getLogger("sap.ui.test.Opa5");
47
49
  this._oMatcherFactory = new MatcherFactory();
48
50
  },
@@ -145,8 +147,12 @@ sap.ui.define([
145
147
  * @public
146
148
  */
147
149
  getControlInView : function (oOptions) {
148
- var oView = this._getMatchingView(oOptions);
149
- var bSearchForSingleControl = typeof oOptions.id === "string";
150
+ var bSearchForSingleControl = typeof oOptions.id === "string",
151
+ oView;
152
+
153
+ if (oOptions.viewName || oOptions.viewId) {
154
+ oView = this._getMatchingView(oOptions);
155
+ }
150
156
 
151
157
  if (!oView) {
152
158
  return bSearchForSingleControl ? null : [];
@@ -237,13 +243,17 @@ sap.ui.define([
237
243
 
238
244
  // get control in static area that matches a control type, ID (string, array, regex), viewId, viewName, fragmentId
239
245
  _getControlsInStaticArea: function (oOptions) {
240
- var oStaticArea = $(sap.ui.getCore().getStaticAreaRef());
246
+ var oStaticArea = $(StaticArea.getDomRef());
241
247
  var vControls = this._getControlsInContainer(oStaticArea) || [];
242
248
 
243
249
  if (oOptions.id) {
244
250
  vControls = this._filterUniqueControlsByCondition(vControls, function (oControl) {
245
- var sUnprefixedControlId = oControl.getId();
246
- var oView = this._getMatchingView(oOptions);
251
+ var sUnprefixedControlId = oControl.getId(),
252
+ oView;
253
+
254
+ if (oOptions.viewName || oOptions.viewId) {
255
+ oView = this._getMatchingView(oOptions);
256
+ }
247
257
 
248
258
  if (oView) {
249
259
  // the view could be set globally or from page object. in this case, search inside open dialogs should take priority:
@@ -7,12 +7,11 @@
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
9
9
  "sap/base/util/merge",
10
- "sap/base/util/UriParameters",
11
10
  "sap/ui/base/SyncPromise",
12
11
  "sap/ui/core/Lib",
13
12
  "sap/ui/core/Rendering",
14
13
  "sap/ui/thirdparty/jquery"
15
- ], function (Log, merge, UriParameters, SyncPromise, Library, Rendering, jQuery) {
14
+ ], function (Log, merge, SyncPromise, Library, Rendering, jQuery) {
16
15
  "use strict";
17
16
  /*global QUnit, sinon */
18
17
  // Note: The dependency to Sinon.JS has been omitted deliberately. Most test files load it via
@@ -26,7 +25,7 @@ sap.ui.define([
26
25
  sMimeHeaders = "\r\nContent-Type: application/http\r\n"
27
26
  + "Content-Transfer-Encoding: binary\r\n",
28
27
  rMultipartHeader = /^Content-Type:\s*multipart\/mixed;\s*boundary=/i,
29
- oUriParameters = UriParameters.fromQuery(window.location.search),
28
+ oUriParameters = new URLSearchParams(window.location.search),
30
29
  sAutoRespondAfter = oUriParameters.get("autoRespondAfter"),
31
30
  sRealOData = oUriParameters.get("realOData"),
32
31
  rRequestKey = /^(\S+) (\S+)$/,
@@ -587,7 +586,11 @@ sap.ui.define([
587
586
  oResponse = aResponses[0];
588
587
  if (typeof oResponse.buildResponse === "function") {
589
588
  oResponse = merge({}, oResponse);
590
- oResponse.buildResponse(oMatch.match, oResponse, oRequest);
589
+ try {
590
+ oResponse.buildResponse(oMatch.match, oResponse, oRequest);
591
+ } catch (oError) {
592
+ oResponse = error(500, oRequest, oError.stack);
593
+ }
591
594
  }
592
595
  if (oMatch.responses.length > 1) {
593
596
  iAlternative = oMatch.responses.indexOf(oResponse);