@openui5/sap.ui.core 1.120.1 → 1.120.3

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 (934) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.act.js +1 -1
  5. package/src/jquery.sap.dom.js +1 -1
  6. package/src/jquery.sap.encoder.js +1 -1
  7. package/src/jquery.sap.events.js +1 -1
  8. package/src/jquery.sap.global.js +2 -2
  9. package/src/jquery.sap.history.js +1 -1
  10. package/src/jquery.sap.keycodes.js +1 -1
  11. package/src/jquery.sap.mobile.js +1 -1
  12. package/src/jquery.sap.promise.js +1 -1
  13. package/src/jquery.sap.properties.js +2 -2
  14. package/src/jquery.sap.resources.js +2 -2
  15. package/src/jquery.sap.script.js +2 -2
  16. package/src/jquery.sap.sjax.js +1 -1
  17. package/src/jquery.sap.storage.js +4 -4
  18. package/src/jquery.sap.strings.js +1 -1
  19. package/src/jquery.sap.stubs.js +1 -1
  20. package/src/jquery.sap.trace.js +1 -1
  21. package/src/jquery.sap.ui.js +1 -1
  22. package/src/jquery.sap.xml.js +1 -1
  23. package/src/sap/base/Event.js +2 -2
  24. package/src/sap/base/Eventing.js +2 -2
  25. package/src/sap/base/Log.js +1 -1
  26. package/src/sap/base/assert.js +1 -1
  27. package/src/sap/base/config/MemoryConfigurationProvider.js +1 -1
  28. package/src/sap/base/config.js +2 -2
  29. package/src/sap/base/i18n/Formatting.js +1 -1
  30. package/src/sap/base/i18n/LanguageTag.js +2 -2
  31. package/src/sap/base/i18n/Localization.js +1 -1
  32. package/src/sap/base/i18n/ResourceBundle.js +1 -1
  33. package/src/sap/base/i18n/date/CalendarType.js +1 -1
  34. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +1 -1
  35. package/src/sap/base/i18n/date/TimezoneUtils.js +23 -10
  36. package/src/sap/base/security/URLListValidator.js +1 -1
  37. package/src/sap/base/security/URLWhitelist.js +1 -1
  38. package/src/sap/base/security/encodeCSS.js +1 -1
  39. package/src/sap/base/security/encodeJS.js +1 -1
  40. package/src/sap/base/security/encodeURL.js +1 -1
  41. package/src/sap/base/security/encodeURLParameters.js +1 -1
  42. package/src/sap/base/security/encodeXML.js +1 -1
  43. package/src/sap/base/security/sanitizeHTML.js +1 -1
  44. package/src/sap/base/strings/camelize.js +1 -1
  45. package/src/sap/base/strings/capitalize.js +1 -1
  46. package/src/sap/base/strings/escapeRegExp.js +1 -1
  47. package/src/sap/base/strings/formatMessage.js +1 -1
  48. package/src/sap/base/strings/hash.js +1 -1
  49. package/src/sap/base/strings/hyphenate.js +1 -1
  50. package/src/sap/base/strings/toHex.js +1 -1
  51. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  52. package/src/sap/base/util/Deferred.js +1 -1
  53. package/src/sap/base/util/JSTokenizer.js +1 -1
  54. package/src/sap/base/util/LoaderExtensions.js +1 -1
  55. package/src/sap/base/util/ObjectPath.js +1 -1
  56. package/src/sap/base/util/Properties.js +1 -1
  57. package/src/sap/base/util/UriParameters.js +1 -1
  58. package/src/sap/base/util/Version.js +1 -1
  59. package/src/sap/base/util/_merge.js +1 -1
  60. package/src/sap/base/util/array/diff.js +1 -1
  61. package/src/sap/base/util/array/uniqueSort.js +1 -1
  62. package/src/sap/base/util/deepClone.js +1 -1
  63. package/src/sap/base/util/deepEqual.js +1 -1
  64. package/src/sap/base/util/deepExtend.js +1 -1
  65. package/src/sap/base/util/defineCoupledProperty.js +1 -1
  66. package/src/sap/base/util/defineLazyProperty.js +1 -1
  67. package/src/sap/base/util/each.js +1 -1
  68. package/src/sap/base/util/extend.js +1 -1
  69. package/src/sap/base/util/fetch.js +1 -1
  70. package/src/sap/base/util/includes.js +1 -1
  71. package/src/sap/base/util/isEmptyObject.js +1 -1
  72. package/src/sap/base/util/isPlainObject.js +1 -1
  73. package/src/sap/base/util/merge.js +1 -1
  74. package/src/sap/base/util/mixedFetch.js +1 -1
  75. package/src/sap/base/util/now.js +1 -1
  76. package/src/sap/base/util/resolveReference.js +1 -1
  77. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  78. package/src/sap/base/util/restricted/_castArray.js +2 -2
  79. package/src/sap/base/util/restricted/_compact.js +2 -2
  80. package/src/sap/base/util/restricted/_curry.js +2 -2
  81. package/src/sap/base/util/restricted/_debounce.js +2 -2
  82. package/src/sap/base/util/restricted/_difference.js +2 -2
  83. package/src/sap/base/util/restricted/_differenceBy.js +2 -2
  84. package/src/sap/base/util/restricted/_differenceWith.js +2 -2
  85. package/src/sap/base/util/restricted/_flatMap.js +2 -2
  86. package/src/sap/base/util/restricted/_flatMapDeep.js +2 -2
  87. package/src/sap/base/util/restricted/_flatMapDepth.js +2 -2
  88. package/src/sap/base/util/restricted/_flatten.js +2 -2
  89. package/src/sap/base/util/restricted/_flattenDeep.js +2 -2
  90. package/src/sap/base/util/restricted/_flattenDepth.js +2 -2
  91. package/src/sap/base/util/restricted/_intersection.js +2 -2
  92. package/src/sap/base/util/restricted/_intersectionBy.js +2 -2
  93. package/src/sap/base/util/restricted/_intersectionWith.js +2 -2
  94. package/src/sap/base/util/restricted/_isEqual.js +2 -2
  95. package/src/sap/base/util/restricted/_isEqualWith.js +2 -2
  96. package/src/sap/base/util/restricted/_isNil.js +2 -2
  97. package/src/sap/base/util/restricted/_max.js +2 -2
  98. package/src/sap/base/util/restricted/_merge.js +2 -2
  99. package/src/sap/base/util/restricted/_mergeWith.js +2 -2
  100. package/src/sap/base/util/restricted/_min.js +2 -2
  101. package/src/sap/base/util/restricted/_omit.js +2 -2
  102. package/src/sap/base/util/restricted/_pick.js +2 -2
  103. package/src/sap/base/util/restricted/_pickBy.js +2 -2
  104. package/src/sap/base/util/restricted/_throttle.js +2 -2
  105. package/src/sap/base/util/restricted/_toArray.js +2 -2
  106. package/src/sap/base/util/restricted/_union.js +2 -2
  107. package/src/sap/base/util/restricted/_unionBy.js +2 -2
  108. package/src/sap/base/util/restricted/_unionWith.js +2 -2
  109. package/src/sap/base/util/restricted/_uniq.js +2 -2
  110. package/src/sap/base/util/restricted/_uniqBy.js +2 -2
  111. package/src/sap/base/util/restricted/_uniqWith.js +2 -2
  112. package/src/sap/base/util/restricted/_without.js +2 -2
  113. package/src/sap/base/util/restricted/_xor.js +2 -2
  114. package/src/sap/base/util/restricted/_xorBy.js +2 -2
  115. package/src/sap/base/util/restricted/_xorWith.js +2 -2
  116. package/src/sap/base/util/restricted/_zipObject.js +2 -2
  117. package/src/sap/base/util/restricted/_zipObjectDeep.js +2 -2
  118. package/src/sap/base/util/syncFetch.js +1 -1
  119. package/src/sap/base/util/uid.js +1 -1
  120. package/src/sap/base/util/values.js +1 -1
  121. package/src/sap/ui/Device.js +4 -4
  122. package/src/sap/ui/Global.js +5 -5
  123. package/src/sap/ui/VersionInfo.js +1 -1
  124. package/src/sap/ui/base/BindingInfo.js +1 -1
  125. package/src/sap/ui/base/BindingParser.js +5 -5
  126. package/src/sap/ui/base/DataType.js +6 -6
  127. package/src/sap/ui/base/DesignTime.js +1 -1
  128. package/src/sap/ui/base/Event.js +2 -2
  129. package/src/sap/ui/base/EventProvider.js +2 -2
  130. package/src/sap/ui/base/Exception.js +1 -1
  131. package/src/sap/ui/base/ExpressionParser.js +1 -1
  132. package/src/sap/ui/base/Interface.js +2 -2
  133. package/src/sap/ui/base/ManagedObject.js +10 -10
  134. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  135. package/src/sap/ui/base/ManagedObjectObserver.js +1 -1
  136. package/src/sap/ui/base/ManagedObjectRegistry.js +187 -170
  137. package/src/sap/ui/base/Metadata.js +2 -2
  138. package/src/sap/ui/base/Object.js +2 -2
  139. package/src/sap/ui/base/ObjectPool.js +2 -2
  140. package/src/sap/ui/base/SyncPromise.js +1 -1
  141. package/src/sap/ui/base/syncXHRFix.js +1 -1
  142. package/src/sap/ui/core/.library +4 -4
  143. package/src/sap/ui/core/AccessKeysEnablement.js +1 -1
  144. package/src/sap/ui/core/AnimationMode.js +1 -1
  145. package/src/sap/ui/core/AppCacheBuster.js +1 -1
  146. package/src/sap/ui/core/BlockLayerUtils.js +1 -1
  147. package/src/sap/ui/core/BusyIndicator.js +2 -2
  148. package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
  149. package/src/sap/ui/core/CalendarType.js +1 -1
  150. package/src/sap/ui/core/CommandExecution.js +1 -1
  151. package/src/sap/ui/core/Component.js +31 -145
  152. package/src/sap/ui/core/ComponentContainer.js +4 -4
  153. package/src/sap/ui/core/ComponentContainerRenderer.js +1 -1
  154. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  155. package/src/sap/ui/core/ComponentRegistry.js +153 -0
  156. package/src/sap/ui/core/ComponentSupport.js +4 -4
  157. package/src/sap/ui/core/Configuration.js +2 -2
  158. package/src/sap/ui/core/ContextMenuSupport.js +1 -1
  159. package/src/sap/ui/core/Control.js +7 -5
  160. package/src/sap/ui/core/ControlBehavior.js +1 -1
  161. package/src/sap/ui/core/Core.js +7 -5
  162. package/src/sap/ui/core/CustomData.js +2 -2
  163. package/src/sap/ui/core/CustomStyleClassSupport.js +1 -1
  164. package/src/sap/ui/core/DeclarativeSupport.js +2 -2
  165. package/src/sap/ui/core/Element.js +26 -142
  166. package/src/sap/ui/core/ElementMetadata.js +2 -2
  167. package/src/sap/ui/core/ElementRegistry.js +159 -0
  168. package/src/sap/ui/core/EnabledPropagator.js +2 -2
  169. package/src/sap/ui/core/EventBus.js +2 -2
  170. package/src/sap/ui/core/ExtensionPoint.js +6 -6
  171. package/src/sap/ui/core/FocusHandler.js +4 -3
  172. package/src/sap/ui/core/Fragment.js +6 -6
  173. package/src/sap/ui/core/HTML.js +2 -2
  174. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  175. package/src/sap/ui/core/History.js +2 -2
  176. package/src/sap/ui/core/Icon.js +2 -2
  177. package/src/sap/ui/core/IconPool.js +1 -1
  178. package/src/sap/ui/core/IconRenderer.js +1 -1
  179. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  180. package/src/sap/ui/core/IntervalTrigger.js +2 -2
  181. package/src/sap/ui/core/InvisibleMessage.js +2 -2
  182. package/src/sap/ui/core/InvisibleRenderer.js +2 -2
  183. package/src/sap/ui/core/InvisibleText.js +2 -2
  184. package/src/sap/ui/core/Item.js +2 -2
  185. package/src/sap/ui/core/LabelEnablement.js +2 -2
  186. package/src/sap/ui/core/LayoutData.js +2 -2
  187. package/src/sap/ui/core/Lib.js +15 -8
  188. package/src/sap/ui/core/ListItem.js +2 -2
  189. package/src/sap/ui/core/LocalBusyIndicator.js +2 -2
  190. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +1 -1
  191. package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
  192. package/src/sap/ui/core/Locale.js +2 -2
  193. package/src/sap/ui/core/LocaleData.js +56 -12
  194. package/src/sap/ui/core/Manifest.js +5 -6
  195. package/src/sap/ui/core/Message.js +3 -2
  196. package/src/sap/ui/core/Messaging.js +3 -3
  197. package/src/sap/ui/core/Patcher.js +1 -1
  198. package/src/sap/ui/core/Placeholder.js +1 -1
  199. package/src/sap/ui/core/Popup.js +1 -1
  200. package/src/sap/ui/core/RenderManager.js +2 -2
  201. package/src/sap/ui/core/Renderer.js +2 -2
  202. package/src/sap/ui/core/Rendering.js +1 -1
  203. package/src/sap/ui/core/ResizeHandler.js +2 -2
  204. package/src/sap/ui/core/ScrollBar.js +2 -2
  205. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  206. package/src/sap/ui/core/SeparatorItem.js +2 -2
  207. package/src/sap/ui/core/Shortcut.js +16 -10
  208. package/src/sap/ui/core/ShortcutHint.js +1 -1
  209. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  210. package/src/sap/ui/core/StashedControlSupport.js +1 -1
  211. package/src/sap/ui/core/StaticArea.js +5 -2
  212. package/src/sap/ui/core/Supportability.js +1 -1
  213. package/src/sap/ui/core/Theming.js +3 -3
  214. package/src/sap/ui/core/Title.js +2 -2
  215. package/src/sap/ui/core/TooltipBase.js +2 -2
  216. package/src/sap/ui/core/UIArea.js +52 -14
  217. package/src/sap/ui/core/UIAreaRegistry.js +150 -0
  218. package/src/sap/ui/core/UIComponent.js +4 -4
  219. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  220. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  221. package/src/sap/ui/core/VariantLayoutData.js +2 -2
  222. package/src/sap/ui/core/XMLComposite.js +2 -2
  223. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  224. package/src/sap/ui/core/XMLTemplateProcessor.js +96 -77
  225. package/src/sap/ui/core/_IconRegistry.js +1 -1
  226. package/src/sap/ui/core/_UrlResolver.js +1 -1
  227. package/src/sap/ui/core/boot/_bootConfig.js +1 -1
  228. package/src/sap/ui/core/boot/_runBoot.js +1 -1
  229. package/src/sap/ui/core/boot/initDOM.js +1 -1
  230. package/src/sap/ui/core/boot/loadCalendar.js +1 -1
  231. package/src/sap/ui/core/boot/loadManifest.js +1 -1
  232. package/src/sap/ui/core/boot/loadModules.js +1 -1
  233. package/src/sap/ui/core/boot/onInit.js +1 -1
  234. package/src/sap/ui/core/boot.js +1 -1
  235. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  236. package/src/sap/ui/core/cache/CacheManagerNOP.js +1 -1
  237. package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
  238. package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
  239. package/src/sap/ui/core/cldr/cy.json +12 -3
  240. package/src/sap/ui/core/cldr/en_AU.json +48 -12
  241. package/src/sap/ui/core/cldr/en_GB.json +24 -6
  242. package/src/sap/ui/core/cldr/en_HK.json +24 -6
  243. package/src/sap/ui/core/cldr/en_IE.json +24 -6
  244. package/src/sap/ui/core/cldr/en_IN.json +24 -6
  245. package/src/sap/ui/core/cldr/en_NZ.json +24 -6
  246. package/src/sap/ui/core/cldr/en_PG.json +24 -6
  247. package/src/sap/ui/core/cldr/en_SG.json +24 -6
  248. package/src/sap/ui/core/cldr/en_ZA.json +24 -6
  249. package/src/sap/ui/core/cldr/es.json +288 -72
  250. package/src/sap/ui/core/cldr/es_AR.json +288 -72
  251. package/src/sap/ui/core/cldr/es_BO.json +288 -72
  252. package/src/sap/ui/core/cldr/es_CL.json +144 -36
  253. package/src/sap/ui/core/cldr/es_CO.json +144 -36
  254. package/src/sap/ui/core/cldr/es_MX.json +288 -72
  255. package/src/sap/ui/core/cldr/fa.json +48 -12
  256. package/src/sap/ui/core/cldr/id.json +56 -14
  257. package/src/sap/ui/core/cldr/kk.json +184 -46
  258. package/src/sap/ui/core/cldr/ms.json +56 -14
  259. package/src/sap/ui/core/cldr/nb.json +36 -9
  260. package/src/sap/ui/core/cldr/nl.json +264 -66
  261. package/src/sap/ui/core/cldr/nl_BE.json +264 -66
  262. package/src/sap/ui/core/cldr/pt.json +288 -72
  263. package/src/sap/ui/core/cldr/pt_PT.json +288 -72
  264. package/src/sap/ui/core/cldr/sr.json +96 -24
  265. package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
  266. package/src/sap/ui/core/date/Buddhist.js +1 -1
  267. package/src/sap/ui/core/date/CalendarUtils.js +1 -1
  268. package/src/sap/ui/core/date/CalendarWeekNumbering.js +1 -1
  269. package/src/sap/ui/core/date/Gregorian.js +1 -1
  270. package/src/sap/ui/core/date/Islamic.js +1 -1
  271. package/src/sap/ui/core/date/Japanese.js +1 -1
  272. package/src/sap/ui/core/date/Persian.js +1 -1
  273. package/src/sap/ui/core/date/UI5Date.js +2 -2
  274. package/src/sap/ui/core/date/UniversalDate.js +1 -1
  275. package/src/sap/ui/core/date/UniversalDateUtils.js +1 -1
  276. package/src/sap/ui/core/date/_Calendars.js +1 -1
  277. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  278. package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
  279. package/src/sap/ui/core/designtime/ComponentContainer.designtime.js +1 -1
  280. package/src/sap/ui/core/designtime/CustomData.designtime.js +1 -1
  281. package/src/sap/ui/core/designtime/Icon.designtime.js +1 -1
  282. package/src/sap/ui/core/designtime/UIComponent.designtime.js +1 -1
  283. package/src/sap/ui/core/designtime/library.designtime.js +1 -1
  284. package/src/sap/ui/core/designtime/mvc/ControllerExtensionTemplate.js +1 -1
  285. package/src/sap/ui/core/designtime/mvc/View.designtime.js +1 -1
  286. package/src/sap/ui/core/designtime/mvc/XMLView.designtime.js +1 -1
  287. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  288. package/src/sap/ui/core/dnd/DragDropBase.js +2 -2
  289. package/src/sap/ui/core/dnd/DragDropInfo.js +2 -2
  290. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  291. package/src/sap/ui/core/dnd/DropInfo.js +2 -2
  292. package/src/sap/ui/core/format/DateFormat.js +26 -14
  293. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -1
  294. package/src/sap/ui/core/format/FileSizeFormat.js +1 -1
  295. package/src/sap/ui/core/format/ListFormat.js +1 -1
  296. package/src/sap/ui/core/format/NumberFormat.js +1 -1
  297. package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
  298. package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
  299. package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -2
  300. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +1 -1
  301. package/src/sap/ui/core/library.js +10 -4
  302. package/src/sap/ui/core/library.support.js +1 -1
  303. package/src/sap/ui/core/message/ControlMessageProcessor.js +2 -2
  304. package/src/sap/ui/core/message/Message.js +8 -8
  305. package/src/sap/ui/core/message/MessageManager.js +2 -2
  306. package/src/sap/ui/core/message/MessageMixin.js +1 -1
  307. package/src/sap/ui/core/message/MessageParser.js +2 -2
  308. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  309. package/src/sap/ui/core/message/MessageType.js +2 -2
  310. package/src/sap/ui/core/messagebundle_cnr.properties +352 -0
  311. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +297 -285
  312. package/src/sap/ui/core/mvc/Controller.js +16 -14
  313. package/src/sap/ui/core/mvc/ControllerExtension.js +8 -6
  314. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
  315. package/src/sap/ui/core/mvc/ControllerMetadata.js +2 -2
  316. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -5
  317. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  318. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  319. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  320. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  321. package/src/sap/ui/core/mvc/JSView.js +2 -2
  322. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  323. package/src/sap/ui/core/mvc/OverrideExecution.js +1 -1
  324. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  325. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  326. package/src/sap/ui/core/mvc/View.js +21 -10
  327. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  328. package/src/sap/ui/core/mvc/ViewType.js +1 -1
  329. package/src/sap/ui/core/mvc/XMLProcessingMode.js +1 -1
  330. package/src/sap/ui/core/mvc/XMLView.js +9 -3
  331. package/src/sap/ui/core/mvc/XMLViewRenderer.js +1 -1
  332. package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -2
  333. package/src/sap/ui/core/plugin/LessSupport.js +2 -2
  334. package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -2
  335. package/src/sap/ui/core/postmessage/Bus.js +2 -2
  336. package/src/sap/ui/core/postmessage/confirmationDialog.js +2 -2
  337. package/src/sap/ui/core/routing/HashChanger.js +1 -1
  338. package/src/sap/ui/core/routing/HashChangerBase.js +1 -1
  339. package/src/sap/ui/core/routing/History.js +2 -2
  340. package/src/sap/ui/core/routing/Route.js +7 -7
  341. package/src/sap/ui/core/routing/Router.js +7 -7
  342. package/src/sap/ui/core/routing/RouterHashChanger.js +1 -1
  343. package/src/sap/ui/core/routing/Target.js +1 -1
  344. package/src/sap/ui/core/routing/TargetCache.js +1 -1
  345. package/src/sap/ui/core/routing/Targets.js +4 -4
  346. package/src/sap/ui/core/routing/Views.js +1 -1
  347. package/src/sap/ui/core/routing/async/Route.js +1 -1
  348. package/src/sap/ui/core/routing/async/Target.js +3 -3
  349. package/src/sap/ui/core/routing/async/TargetCache.js +1 -1
  350. package/src/sap/ui/core/routing/async/Targets.js +2 -2
  351. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  352. package/src/sap/ui/core/routing/sync/Target.js +1 -1
  353. package/src/sap/ui/core/routing/sync/TargetCache.js +1 -1
  354. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  355. package/src/sap/ui/core/rules/App.support.js +1 -1
  356. package/src/sap/ui/core/rules/Config.support.js +1 -1
  357. package/src/sap/ui/core/rules/CoreHelper.support.js +1 -1
  358. package/src/sap/ui/core/rules/Misc.support.js +4 -4
  359. package/src/sap/ui/core/rules/Model.support.js +1 -1
  360. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  361. package/src/sap/ui/core/rules/Theming.support.js +1 -1
  362. package/src/sap/ui/core/rules/View.support.js +1 -1
  363. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  364. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  365. package/src/sap/ui/core/service/Service.js +2 -2
  366. package/src/sap/ui/core/service/ServiceFactory.js +2 -2
  367. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +2 -2
  368. package/src/sap/ui/core/support/BootSupportTool.js +1 -1
  369. package/src/sap/ui/core/support/Hotkeys.js +1 -1
  370. package/src/sap/ui/core/support/Plugin.js +2 -2
  371. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
  372. package/src/sap/ui/core/support/Support.js +2 -2
  373. package/src/sap/ui/core/support/ToolsAPI.js +1 -1
  374. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  375. package/src/sap/ui/core/support/controls/InteractionSlider.js +1 -1
  376. package/src/sap/ui/core/support/controls/InteractionTree.js +1 -1
  377. package/src/sap/ui/core/support/controls/ObjectViewer.js +1 -1
  378. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  379. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  380. package/src/sap/ui/core/support/debugReboot.js +1 -1
  381. package/src/sap/ui/core/support/plugins/Breakpoint.js +1 -1
  382. package/src/sap/ui/core/support/plugins/ControlTree.js +7 -5
  383. package/src/sap/ui/core/support/plugins/Debugging.js +1 -1
  384. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  385. package/src/sap/ui/core/support/plugins/LocalStorage.js +2 -2
  386. package/src/sap/ui/core/support/plugins/Performance.js +2 -2
  387. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  388. package/src/sap/ui/core/support/plugins/TechInfo.js +2 -2
  389. package/src/sap/ui/core/support/plugins/Trace.js +2 -2
  390. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  391. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  392. package/src/sap/ui/core/support/techinfo/moduleTreeHelper.js +1 -1
  393. package/src/sap/ui/core/support/trace/E2eTraceLib.js +1 -1
  394. package/src/sap/ui/core/support/trace/EppLib.js +1 -1
  395. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  396. package/src/sap/ui/core/syncStyleClass.js +1 -1
  397. package/src/sap/ui/core/themes/base/library.source.less +1 -1
  398. package/src/sap/ui/core/themes/sap_hcb/library.source.less +1 -1
  399. package/src/sap/ui/core/theming/Parameters.js +8 -8
  400. package/src/sap/ui/core/theming/ThemeHelper.js +3 -3
  401. package/src/sap/ui/core/theming/ThemeManager.js +3 -3
  402. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  403. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  404. package/src/sap/ui/core/tmpl/DOMElementRenderer.js +1 -1
  405. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  406. package/src/sap/ui/core/tmpl/Template.js +2 -2
  407. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  408. package/src/sap/ui/core/tmpl/TemplateControlRenderer.js +1 -1
  409. package/src/sap/ui/core/tmpl/_parsePath.js +1 -1
  410. package/src/sap/ui/core/util/AsyncHintsHelper.js +2 -2
  411. package/src/sap/ui/core/util/DraftEnabledMockServer.js +1 -1
  412. package/src/sap/ui/core/util/Export.js +2 -2
  413. package/src/sap/ui/core/util/ExportCell.js +2 -2
  414. package/src/sap/ui/core/util/ExportColumn.js +2 -2
  415. package/src/sap/ui/core/util/ExportRow.js +2 -2
  416. package/src/sap/ui/core/util/ExportType.js +2 -2
  417. package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
  418. package/src/sap/ui/core/util/File.js +2 -2
  419. package/src/sap/ui/core/util/LibraryInfo.js +2 -2
  420. package/src/sap/ui/core/util/MockServer.js +35 -4
  421. package/src/sap/ui/core/util/PasteHelper.js +2 -2
  422. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +1 -1
  423. package/src/sap/ui/core/util/ShortcutHelper.js +1 -1
  424. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
  425. package/src/sap/ui/core/util/_LocalizationHelper.js +1 -1
  426. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +16 -1
  427. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +12 -1
  428. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +15 -1
  429. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  430. package/src/sap/ui/core/util/serializer/Serializer.js +2 -2
  431. package/src/sap/ui/core/util/serializer/ViewSerializer.js +2 -2
  432. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  433. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +2 -2
  434. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  435. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  436. package/src/sap/ui/core/webc/WebComponent.js +2 -2
  437. package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -2
  438. package/src/sap/ui/core/webc/WebComponentRenderer.js +1 -1
  439. package/src/sap/ui/core/ws/ReadyState.js +2 -2
  440. package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -2
  441. package/src/sap/ui/core/ws/WebSocket.js +2 -2
  442. package/src/sap/ui/debug/ControlTree.js +2 -2
  443. package/src/sap/ui/debug/DebugEnv.js +2 -2
  444. package/src/sap/ui/debug/Highlighter.js +1 -1
  445. package/src/sap/ui/debug/LogViewer.js +1 -1
  446. package/src/sap/ui/debug/PropertyList.js +2 -2
  447. package/src/sap/ui/dom/_ready.js +1 -1
  448. package/src/sap/ui/dom/containsOrEquals.js +1 -1
  449. package/src/sap/ui/dom/denormalizeScrollBeginRTL.js +1 -1
  450. package/src/sap/ui/dom/denormalizeScrollLeftRTL.js +1 -1
  451. package/src/sap/ui/dom/getComputedStyleFix.js +1 -1
  452. package/src/sap/ui/dom/getFirstEditableInput.js +1 -1
  453. package/src/sap/ui/dom/getOwnerWindow.js +1 -1
  454. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  455. package/src/sap/ui/dom/includeScript.js +1 -1
  456. package/src/sap/ui/dom/includeStylesheet.js +1 -1
  457. package/src/sap/ui/dom/isBehindOtherElement.js +1 -1
  458. package/src/sap/ui/dom/isHidden.js +1 -1
  459. package/src/sap/ui/dom/jquery/Aria.js +1 -1
  460. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  461. package/src/sap/ui/dom/jquery/Selection.js +1 -1
  462. package/src/sap/ui/dom/jquery/Selectors.js +1 -1
  463. package/src/sap/ui/dom/jquery/control.js +1 -1
  464. package/src/sap/ui/dom/jquery/cursorPos.js +1 -1
  465. package/src/sap/ui/dom/jquery/getSelectedText.js +1 -1
  466. package/src/sap/ui/dom/jquery/hasTabIndex.js +1 -1
  467. package/src/sap/ui/dom/jquery/parentByAttribute.js +1 -1
  468. package/src/sap/ui/dom/jquery/rect.js +1 -1
  469. package/src/sap/ui/dom/jquery/rectContains.js +1 -1
  470. package/src/sap/ui/dom/jquery/scrollLeftRTL.js +1 -1
  471. package/src/sap/ui/dom/jquery/scrollRightRTL.js +1 -1
  472. package/src/sap/ui/dom/jquery/selectText.js +1 -1
  473. package/src/sap/ui/dom/jquery/zIndex.js +1 -1
  474. package/src/sap/ui/dom/units/Rem.js +1 -1
  475. package/src/sap/ui/events/ControlEvents.js +1 -1
  476. package/src/sap/ui/events/F6Navigation.js +1 -1
  477. package/src/sap/ui/events/KeyCodes.js +1 -1
  478. package/src/sap/ui/events/PasteEventFix.js +1 -1
  479. package/src/sap/ui/events/PseudoEvents.js +1 -1
  480. package/src/sap/ui/events/TouchToMouseMapping.js +1 -1
  481. package/src/sap/ui/events/checkMouseEnterOrLeave.js +1 -1
  482. package/src/sap/ui/events/isMouseEventDelayed.js +1 -1
  483. package/src/sap/ui/events/isSpecialKey.js +1 -1
  484. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  485. package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
  486. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  487. package/src/sap/ui/model/Binding.js +3 -3
  488. package/src/sap/ui/model/BindingMode.js +1 -1
  489. package/src/sap/ui/model/ChangeReason.js +1 -1
  490. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  491. package/src/sap/ui/model/ClientListBinding.js +1 -1
  492. package/src/sap/ui/model/ClientModel.js +2 -2
  493. package/src/sap/ui/model/ClientPropertyBinding.js +1 -1
  494. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  495. package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
  496. package/src/sap/ui/model/CompositeBinding.js +1 -1
  497. package/src/sap/ui/model/CompositeDataState.js +6 -6
  498. package/src/sap/ui/model/CompositeType.js +2 -2
  499. package/src/sap/ui/model/Context.js +1 -1
  500. package/src/sap/ui/model/ContextBinding.js +1 -1
  501. package/src/sap/ui/model/DataState.js +11 -11
  502. package/src/sap/ui/model/Filter.js +1 -1
  503. package/src/sap/ui/model/FilterOperator.js +1 -1
  504. package/src/sap/ui/model/FilterProcessor.js +9 -6
  505. package/src/sap/ui/model/FilterType.js +1 -1
  506. package/src/sap/ui/model/FormatException.js +1 -1
  507. package/src/sap/ui/model/ListBinding.js +1 -1
  508. package/src/sap/ui/model/ManagedObjectBindingSupport.js +3 -3
  509. package/src/sap/ui/model/MetaModel.js +2 -2
  510. package/src/sap/ui/model/Model.js +2 -2
  511. package/src/sap/ui/model/ParseException.js +1 -1
  512. package/src/sap/ui/model/PropertyBinding.js +1 -1
  513. package/src/sap/ui/model/SelectionModel.js +2 -2
  514. package/src/sap/ui/model/SimpleType.js +2 -2
  515. package/src/sap/ui/model/Sorter.js +1 -1
  516. package/src/sap/ui/model/SorterProcessor.js +1 -1
  517. package/src/sap/ui/model/StaticBinding.js +1 -1
  518. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  519. package/src/sap/ui/model/TreeBinding.js +1 -1
  520. package/src/sap/ui/model/TreeBindingAdapter.js +1 -1
  521. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  522. package/src/sap/ui/model/TreeBindingUtils.js +1 -1
  523. package/src/sap/ui/model/Type.js +2 -2
  524. package/src/sap/ui/model/ValidateException.js +1 -1
  525. package/src/sap/ui/model/_Helper.js +1 -1
  526. package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
  527. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  528. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  529. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  530. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  531. package/src/sap/ui/model/analytics/odata4analytics.js +7 -7
  532. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  533. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +1 -1
  534. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  535. package/src/sap/ui/model/json/JSONModel.js +2 -2
  536. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  537. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  538. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  539. package/src/sap/ui/model/message/MessageModel.js +2 -2
  540. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  541. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  542. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  543. package/src/sap/ui/model/odata/CountMode.js +1 -1
  544. package/src/sap/ui/model/odata/Filter.js +1 -1
  545. package/src/sap/ui/model/odata/MessageScope.js +1 -1
  546. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  547. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  548. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  549. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
  550. package/src/sap/ui/model/odata/ODataMetaModel.js +2 -2
  551. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  552. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  553. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  554. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  555. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  556. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  557. package/src/sap/ui/model/odata/ODataUtils.js +11 -6
  558. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  559. package/src/sap/ui/model/odata/UpdateMethod.js +1 -1
  560. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
  561. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  562. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +1 -1
  563. package/src/sap/ui/model/odata/type/Boolean.js +2 -2
  564. package/src/sap/ui/model/odata/type/Byte.js +2 -2
  565. package/src/sap/ui/model/odata/type/Currency.js +2 -2
  566. package/src/sap/ui/model/odata/type/Date.js +2 -2
  567. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  568. package/src/sap/ui/model/odata/type/DateTimeBase.js +2 -2
  569. package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
  570. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +2 -2
  571. package/src/sap/ui/model/odata/type/Decimal.js +2 -2
  572. package/src/sap/ui/model/odata/type/Double.js +2 -2
  573. package/src/sap/ui/model/odata/type/Guid.js +2 -2
  574. package/src/sap/ui/model/odata/type/Int.js +2 -2
  575. package/src/sap/ui/model/odata/type/Int16.js +2 -2
  576. package/src/sap/ui/model/odata/type/Int32.js +2 -2
  577. package/src/sap/ui/model/odata/type/Int64.js +2 -2
  578. package/src/sap/ui/model/odata/type/ODataType.js +2 -2
  579. package/src/sap/ui/model/odata/type/Raw.js +2 -2
  580. package/src/sap/ui/model/odata/type/SByte.js +2 -2
  581. package/src/sap/ui/model/odata/type/Single.js +2 -2
  582. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  583. package/src/sap/ui/model/odata/type/String.js +2 -2
  584. package/src/sap/ui/model/odata/type/Time.js +2 -2
  585. package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
  586. package/src/sap/ui/model/odata/type/Unit.js +2 -2
  587. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  588. package/src/sap/ui/model/odata/v2/BatchMode.js +1 -1
  589. package/src/sap/ui/model/odata/v2/Context.js +2 -2
  590. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  591. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
  592. package/src/sap/ui/model/odata/v2/ODataListBinding.js +1 -1
  593. package/src/sap/ui/model/odata/v2/ODataModel.js +5 -5
  594. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -10
  595. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +1 -1
  596. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +1 -1
  597. package/src/sap/ui/model/odata/v4/Context.js +33 -28
  598. package/src/sap/ui/model/odata/v4/ODataBinding.js +1 -1
  599. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +19 -13
  600. package/src/sap/ui/model/odata/v4/ODataListBinding.js +199 -156
  601. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -9
  602. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -5
  603. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -7
  604. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
  605. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  606. package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
  607. package/src/sap/ui/model/odata/v4/ValueListType.js +1 -1
  608. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  609. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +231 -90
  610. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +34 -21
  611. package/src/sap/ui/model/odata/v4/lib/_Batch.js +1 -1
  612. package/src/sap/ui/model/odata/v4/lib/_Cache.js +72 -20
  613. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +1 -1
  614. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
  615. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  616. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +1 -1
  617. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
  618. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  619. package/src/sap/ui/model/odata/v4/lib/_Parser.js +1 -1
  620. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +10 -6
  621. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  622. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  623. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
  624. package/src/sap/ui/model/odata/v4/ts.js +1 -1
  625. package/src/sap/ui/model/resource/ResourceModel.js +2 -2
  626. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  627. package/src/sap/ui/model/type/Boolean.js +2 -2
  628. package/src/sap/ui/model/type/Currency.js +2 -2
  629. package/src/sap/ui/model/type/Date.js +2 -2
  630. package/src/sap/ui/model/type/DateInterval.js +2 -2
  631. package/src/sap/ui/model/type/DateTime.js +2 -2
  632. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  633. package/src/sap/ui/model/type/FileSize.js +2 -2
  634. package/src/sap/ui/model/type/Float.js +2 -2
  635. package/src/sap/ui/model/type/Integer.js +2 -2
  636. package/src/sap/ui/model/type/String.js +2 -2
  637. package/src/sap/ui/model/type/Time.js +2 -2
  638. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  639. package/src/sap/ui/model/type/Unit.js +2 -2
  640. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  641. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  642. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  643. package/src/sap/ui/model/xml/XMLTreeBinding.js +1 -1
  644. package/src/sap/ui/performance/BeaconRequest.js +1 -1
  645. package/src/sap/ui/performance/Measurement.js +1 -1
  646. package/src/sap/ui/performance/XHRInterceptor.js +1 -1
  647. package/src/sap/ui/performance/trace/FESR.js +1 -1
  648. package/src/sap/ui/performance/trace/FESRHelper.js +1 -1
  649. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  650. package/src/sap/ui/performance/trace/Passport.js +1 -1
  651. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  652. package/src/sap/ui/qunit/QUnitUtils.js +1 -1
  653. package/src/sap/ui/qunit/qunit-2-css.js +1 -1
  654. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
  655. package/src/sap/ui/qunit/qunit-coverage.js +1 -1
  656. package/src/sap/ui/qunit/qunit-css.js +1 -1
  657. package/src/sap/ui/qunit/qunit-junit.js +1 -1
  658. package/src/sap/ui/qunit/qunit-redirect.js +1 -1
  659. package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
  660. package/src/sap/ui/qunit/utils/ControlIterator.js +2 -2
  661. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +6 -6
  662. package/src/sap/ui/qunit/utils/createAndAppendDiv.js +1 -1
  663. package/src/sap/ui/qunit/utils/nextUIUpdate.js +1 -1
  664. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +1 -1
  665. package/src/sap/ui/security/FrameOptions.js +1 -1
  666. package/src/sap/ui/test/BlanketReporter.js +1 -1
  667. package/src/sap/ui/test/BranchTracking.js +5 -1
  668. package/src/sap/ui/test/ModuleTracking.js +1 -1
  669. package/src/sap/ui/test/Opa.js +1 -1
  670. package/src/sap/ui/test/Opa5.js +1 -1
  671. package/src/sap/ui/test/OpaBuilder.js +1 -1
  672. package/src/sap/ui/test/OpaExtension.js +1 -1
  673. package/src/sap/ui/test/OpaPlugin.js +1 -1
  674. package/src/sap/ui/test/PageObjectFactory.js +1 -1
  675. package/src/sap/ui/test/RecordReplay.js +1 -1
  676. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  677. package/src/sap/ui/test/TestUtils.js +1 -1
  678. package/src/sap/ui/test/_BrowserLogCollector.js +1 -1
  679. package/src/sap/ui/test/_ControlFinder.js +1 -1
  680. package/src/sap/ui/test/_FocusListener.js +1 -1
  681. package/src/sap/ui/test/_LogCollector.js +1 -1
  682. package/src/sap/ui/test/_OpaLogger.js +1 -1
  683. package/src/sap/ui/test/_OpaUriParameterParser.js +1 -1
  684. package/src/sap/ui/test/_ParameterValidator.js +1 -1
  685. package/src/sap/ui/test/_UsageReport.js +1 -1
  686. package/src/sap/ui/test/_ValidationParameters.js +1 -1
  687. package/src/sap/ui/test/actions/Action.js +1 -1
  688. package/src/sap/ui/test/actions/Drag.js +1 -1
  689. package/src/sap/ui/test/actions/Drop.js +1 -1
  690. package/src/sap/ui/test/actions/EnterText.js +2 -6
  691. package/src/sap/ui/test/actions/Press.js +1 -1
  692. package/src/sap/ui/test/actions/Scroll.js +1 -1
  693. package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -1
  694. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +1 -1
  695. package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
  696. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  697. package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +1 -1
  698. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +1 -1
  699. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +1 -1
  700. package/src/sap/ui/test/autowaiter/_fetchWaiter.js +1 -1
  701. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +1 -1
  702. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -1
  703. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +1 -1
  704. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +1 -1
  705. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +1 -1
  706. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
  707. package/src/sap/ui/test/autowaiter/_utils.js +1 -1
  708. package/src/sap/ui/test/generic/GenericTestCollection.js +2 -1
  709. package/src/sap/ui/test/generic/TestBase.js +5 -5
  710. package/src/sap/ui/test/generic/Utils.js +4 -3
  711. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -1
  712. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +1 -1
  713. package/src/sap/ui/test/gherkin/StepDefinitions.js +1 -1
  714. package/src/sap/ui/test/gherkin/dataTableUtils.js +1 -1
  715. package/src/sap/ui/test/gherkin/opa5TestHarness.js +1 -1
  716. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +1 -1
  717. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +1 -1
  718. package/src/sap/ui/test/launchers/componentLauncher.js +1 -1
  719. package/src/sap/ui/test/launchers/iFrameLauncher.js +1 -1
  720. package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +1 -1
  721. package/src/sap/ui/test/matchers/AggregationEmpty.js +1 -1
  722. package/src/sap/ui/test/matchers/AggregationFilled.js +1 -1
  723. package/src/sap/ui/test/matchers/AggregationLengthEquals.js +1 -1
  724. package/src/sap/ui/test/matchers/Ancestor.js +1 -1
  725. package/src/sap/ui/test/matchers/BindingPath.js +1 -1
  726. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  727. package/src/sap/ui/test/matchers/I18NText.js +1 -1
  728. package/src/sap/ui/test/matchers/Interactable.js +1 -1
  729. package/src/sap/ui/test/matchers/LabelFor.js +1 -1
  730. package/src/sap/ui/test/matchers/Matcher.js +1 -1
  731. package/src/sap/ui/test/matchers/MatcherFactory.js +1 -1
  732. package/src/sap/ui/test/matchers/Properties.js +1 -1
  733. package/src/sap/ui/test/matchers/PropertyStrictEquals.js +1 -1
  734. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  735. package/src/sap/ui/test/matchers/Visible.js +1 -1
  736. package/src/sap/ui/test/matchers/_Busy.js +1 -1
  737. package/src/sap/ui/test/matchers/_Editable.js +1 -1
  738. package/src/sap/ui/test/matchers/_Enabled.js +1 -1
  739. package/src/sap/ui/test/matchers/_Visitor.js +1 -1
  740. package/src/sap/ui/test/matchers/matchers.js +1 -1
  741. package/src/sap/ui/test/opaQunit.js +1 -1
  742. package/src/sap/ui/test/pipelines/ActionPipeline.js +1 -1
  743. package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
  744. package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -1
  745. package/src/sap/ui/test/qunitPause.js +1 -1
  746. package/src/sap/ui/test/selectors/_BindingPath.js +1 -1
  747. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +1 -1
  748. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  749. package/src/sap/ui/test/selectors/_ControlType.js +1 -1
  750. package/src/sap/ui/test/selectors/_DropdownItem.js +1 -1
  751. package/src/sap/ui/test/selectors/_GlobalID.js +1 -1
  752. package/src/sap/ui/test/selectors/_LabelFor.js +1 -1
  753. package/src/sap/ui/test/selectors/_Properties.js +1 -1
  754. package/src/sap/ui/test/selectors/_Selector.js +1 -1
  755. package/src/sap/ui/test/selectors/_TableRowItem.js +1 -1
  756. package/src/sap/ui/test/selectors/_ViewID.js +1 -1
  757. package/src/sap/ui/test/selectors/_selectors.js +1 -1
  758. package/src/sap/ui/test/starter/_configureLoader.js +1 -1
  759. package/src/sap/ui/test/starter/_setupAndStart.js +1 -1
  760. package/src/sap/ui/test/starter/_utils.js +1 -1
  761. package/src/sap/ui/test/starter/createSuite.js +1 -1
  762. package/src/sap/ui/test/starter/runTest.js +1 -1
  763. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  764. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  765. package/src/sap/ui/util/ActivityDetection.js +1 -1
  766. package/src/sap/ui/util/Mobile.js +1 -1
  767. package/src/sap/ui/util/Storage.js +2 -2
  768. package/src/sap/ui/util/XMLHelper.js +1 -1
  769. package/src/sap/ui/util/_FeatureDetection.js +1 -1
  770. package/src/sap/ui/util/defaultLinkTypes.js +1 -1
  771. package/src/sap/ui/util/isCrossOriginURL.js +1 -1
  772. package/src/sap/ui/util/openWindow.js +1 -1
  773. package/src/sap-ui-boot.js +1 -1
  774. package/src/sap-ui-core-nojQuery.js +1 -1
  775. package/src/sap-ui-core.js +1 -1
  776. package/src/sap-ui-debug.js +1 -1
  777. package/src/ui5loader-autoconfig.js +24 -16
  778. package/src/ui5loader.js +10 -5
  779. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  780. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
  781. package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
  782. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  783. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  784. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  785. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  786. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
  787. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
  788. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
  789. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
  790. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
  791. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
  792. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
  793. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
  794. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +21 -3
  795. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
  796. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
  797. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  798. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  799. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  800. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  801. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  802. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  803. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  804. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  805. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  806. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  807. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  808. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  809. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  810. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  811. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  812. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  813. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  814. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  815. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  816. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  817. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  818. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  819. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  820. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  821. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  822. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  823. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  824. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  825. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  826. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  827. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  828. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  829. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  830. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  831. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  832. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  833. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  834. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  835. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  836. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  837. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  838. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  839. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  840. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  841. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  842. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  843. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  844. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  845. package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
  846. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
  847. package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
  848. package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
  849. package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
  850. package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
  851. package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
  852. package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
  853. package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
  854. package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
  855. package/test/sap/ui/core/qunit/Lib.qunit.js +19 -2
  856. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
  857. package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
  858. package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
  859. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
  860. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
  861. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
  862. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
  863. package/test/sap/ui/core/qunit/component/Component.qunit.js +9 -8
  864. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
  865. package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
  866. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
  867. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
  868. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
  869. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
  870. package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
  871. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
  872. package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +107 -0
  873. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
  874. package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
  875. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
  876. package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
  877. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +22 -8
  878. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
  879. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
  880. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
  881. package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
  882. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
  883. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
  884. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
  885. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
  886. package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
  887. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
  888. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
  889. package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
  890. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
  891. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
  892. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
  893. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
  894. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
  895. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +21 -0
  896. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +175 -0
  897. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +11 -5
  898. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
  899. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +75 -27
  900. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
  901. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +34 -16
  902. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2360 -177
  903. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
  904. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
  905. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +487 -139
  906. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
  907. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +258 -10
  908. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
  909. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +38 -14
  910. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
  911. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
  912. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
  913. package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
  914. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
  915. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
  916. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
  917. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
  918. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
  919. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
  920. package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
  921. package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
  922. package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
  923. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  924. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
  925. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
  926. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  927. package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +114 -2
  928. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
  929. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
  930. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
  931. package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
  932. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +20 -0
  933. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +20 -2
  934. package/test/sap/ui/core/relnotes/changes-1.120.json +246 -0
@@ -96,7 +96,7 @@ sap.ui.define([
96
96
 
97
97
  QUnit.test("Error Logging of invalid type values", function (assert) {
98
98
  assert.ok(this.oLogSpy.calledOnce, "Log.error was only called once");
99
- assert.ok(this.oLogSpy.alwaysCalledWithExactly("Value 'somethingInvalid' is not valid for type 'sap.m.ButtonType'."), "Log.error spy was called");
99
+ assert.ok(this.oLogSpy.calledWith(sinon.match(/Value 'somethingInvalid' is not valid for type 'sap.m.ButtonType'./)), "Log.error spy was called");
100
100
  });
101
101
 
102
102
  /**
@@ -528,7 +528,7 @@ sap.ui.define([
528
528
  assert.equal(oInputInvalidType.getValue(), "1234", "Input field has correct unformatted(!) value '1234'.");
529
529
 
530
530
  // test error log for invalid/missing type
531
- assert.ok(this.logErrorSpy.calledWith("Failed to resolve type 'sap.ui.non.existing.Type'. Maybe not loaded or a typo?"), "Error message for missing type is logged.");
531
+ assert.ok(this.logErrorSpy.calledWith(sinon.match(/Failed to resolve type 'sap.ui.non.existing.Type'. Maybe not loaded or a typo\?/)), "Error message for missing type is logged.");
532
532
 
533
533
  // test CustomData binding values
534
534
  var oPanel = oView.byId("panel");
@@ -364,7 +364,7 @@ sap.ui.define([
364
364
  },
365
365
  runAssertions: function (oView, mSpies, assert, bAsync) {
366
366
  var oWarningSpy = mSpies.warning;
367
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('This is a toast')' could not be resolved to an event handler function");
367
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('This is a toast'\)' could not be resolved to an event handler function/)));
368
368
  }
369
369
  }, {
370
370
  testDescription: "Parsing core:require in XMLView with fragment with missing definition in require context with preprocessors enabled",
@@ -385,7 +385,7 @@ sap.ui.define([
385
385
  runAssertions: function (oView, mSpies, assert, bAsync) {
386
386
  var oWarningSpy = mSpies.warning;
387
387
  sinon.assert.neverCalledWith(oWarningSpy, "Variable: Toast isn't defined in the require context of the current XMLView/Fragment");
388
- sinon.assert.neverCalledWith(oWarningSpy, "Event handler name 'Toast.show('This is a toast')' could not be resolved to an event handler function");
388
+ assert.ok(oWarningSpy.neverCalledWith(sinon.match(/Event handler name 'Toast.show\('This is a toast'\)' could not be resolved to an event handler function/)));
389
389
  }
390
390
  }, {
391
391
  testDescription: "Parsing core:require in XMLView with fragment w/o require context",
@@ -400,7 +400,7 @@ sap.ui.define([
400
400
  },
401
401
  runAssertions: function (oView, mSpies, assert, bAsync) {
402
402
  var oWarningSpy = mSpies.warning;
403
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('Problem occurred')' could not be resolved to an event handler function");
403
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('Problem occurred'\)' could not be resolved to an event handler function/)));
404
404
  }
405
405
  }, {
406
406
  testDescription: "Parsing core:require in XMLView with nested view and the require context isn't forwarded to nested view",
@@ -420,7 +420,7 @@ sap.ui.define([
420
420
  assert.ok(oCreateSpy.calledOnce, "generic create is called for the nested view");
421
421
 
422
422
  return oCreateSpy.getCall(0).returnValue.loaded().then(function() {
423
- return sinon.assert.calledWith(oWarningSpy, "Event handler name 'Box.show('MessageBox')' could not be resolved to an event handler function");
423
+ return assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Box.show\('MessageBox'\)' could not be resolved to an event handler function/)));
424
424
  });
425
425
  }
426
426
  }, {
@@ -460,7 +460,7 @@ sap.ui.define([
460
460
  oMessageToastButton.fireEvent("press");
461
461
  assert.equal(oToastShowSpy.callCount, 0, "Toast.show isn't called because the core:require is missing");
462
462
 
463
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('Do you really want to close?')' could not be resolved to an event handler function");
463
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('Do you really want to close\?'\)' could not be resolved to an event handler function/)));
464
464
 
465
465
  return new Promise(function(resolve, reject) {
466
466
  InstanceManager.closeAllDialogs();
@@ -1185,7 +1185,7 @@ sap.ui.define([
1185
1185
  definition: sContent
1186
1186
  }).then(function(oView) {
1187
1187
  assert.equal(oLogErrorSpy.callCount, 1, "Error is logged");
1188
- assert.equal(oLogErrorSpy.getCall(0).args[0], "XMLView's root node must be 'View' or 'XMLView' and have the namespace 'sap.ui.core.mvc'", "Log message is correct");
1188
+ assert.ok(oLogErrorSpy.calledWith(sinon.match(/XMLView's root node must be 'View' or 'XMLView' and have the namespace 'sap.ui.core.mvc'/)), "Log message is correct");
1189
1189
 
1190
1190
  assert.ok(oView.byId("panel"), "The panel control is created");
1191
1191
  assert.equal(oView.getContent()[0], oView.byId("panel"), "The panel is added to the view's content aggregation");
@@ -17,6 +17,8 @@ sap.ui.define([
17
17
  /*public by every Controller*/
18
18
  "byId",
19
19
  "getView",
20
+ "getMetadata",
21
+ "isA",
20
22
  /*public by Controller impl*/
21
23
  "myFinalMethod",
22
24
  "onAfterRendering",
@@ -40,6 +42,8 @@ sap.ui.define([
40
42
  /*public by every Controller*/
41
43
  "byId",
42
44
  "getView",
45
+ "getMetadata",
46
+ "isA",
43
47
  /*public by Controller impl*/
44
48
  "myFinalMethod",
45
49
  "privateMethod1",
@@ -68,7 +72,7 @@ sap.ui.define([
68
72
  var oControllerInterface = oView.getController().getInterface();
69
73
  var aInterfaceKeys = Object.keys(oControllerInterface);
70
74
  assert.ok(oControllerInterface, "Controller Interface created");
71
- assert.equal(aInterfaceKeys.length, 6, "6 public methods are exposed");
75
+ assert.equal(aInterfaceKeys.length, 8, "8 public methods are exposed");
72
76
  assert.deepEqual(aInterfaceKeys.sort(), aLegacyPublicControllerMethods.sort(), "All public methods exposed are correctly");
73
77
  done();
74
78
  });
@@ -94,7 +98,7 @@ sap.ui.define([
94
98
  var oControllerInterface = oView.getController().getInterface();
95
99
  var aInterfaceKeys = Object.keys(oControllerInterface);
96
100
  assert.ok(oControllerInterface, "Controller Interface created");
97
- assert.equal(aInterfaceKeys.length, 8, "8 public methods are exposed");
101
+ assert.equal(aInterfaceKeys.length, 10, "10 public methods are exposed");
98
102
  assert.deepEqual(aInterfaceKeys.sort(), aPublicControllerMethods.sort(), "All public methods exposed are correctly");
99
103
  done();
100
104
  });
@@ -10,6 +10,8 @@ sap.ui.define([
10
10
 
11
11
  var mAllPublicMethods = {
12
12
  "byId":{"public":true, "final":true, "reloadNeeded": false},
13
+ "getMetadata":{"public":true, "final":true, "reloadNeeded": false},
14
+ "isA":{"public":true, "final":true, "reloadNeeded": false},
13
15
  "callbackMethod":{"public":true, "final":false, "reloadNeeded": false},
14
16
  "getLifecycleCalls":{"public":true, "final":false, "reloadNeeded": false},
15
17
  "getLifecycleCallsFromArray":{"public":true, "final":false, "reloadNeeded": false},
@@ -17,6 +19,8 @@ sap.ui.define([
17
19
  "publicMethod":{"public":true, "final":false, "reloadNeeded": false},
18
20
  "publicWithCallbackMethod":{"public":true, "final":false, "reloadNeeded": false},
19
21
  "extension1.byId":{"public":true,"final":true,"reloadNeeded":true},
22
+ "extension1.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
23
+ "extension1.isA":{"public":true, "final":true, "reloadNeeded": true},
20
24
  "extension1.onInit":{"public":true,"final":false,"reloadNeeded":true},
21
25
  "extension1.onExit":{"public":true,"final":false,"reloadNeeded":true},
22
26
  "extension1.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -33,6 +37,8 @@ sap.ui.define([
33
37
  "extension1.publicMethod":{"public":true,"final":false,"reloadNeeded":true},
34
38
  "extension1.publicMethodToOverride":{"public":true,"final":false,"reloadNeeded":true},
35
39
  "extension2.byId":{"public":true,"final":true,"reloadNeeded":true},
40
+ "extension2.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
41
+ "extension2.isA":{"public":true, "final":true, "reloadNeeded": true},
36
42
  "extension2.onInit":{"public":true,"final":false,"reloadNeeded":true},
37
43
  "extension2.onExit":{"public":true,"final":false,"reloadNeeded":true},
38
44
  "extension2.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -49,6 +55,8 @@ sap.ui.define([
49
55
  "extension2.publicMethod":{"public":true,"final":false,"reloadNeeded":true},
50
56
  "extension2.publicMethodToOverride":{"public":true,"final":false,"reloadNeeded":true},
51
57
  "extension.example.ProviderExt1.byId":{"public":true,"final":true,"reloadNeeded":true},
58
+ "extension.example.ProviderExt1.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
59
+ "extension.example.ProviderExt1.isA":{"public":true, "final":true, "reloadNeeded": true},
52
60
  "extension.example.ProviderExt1.onInit":{"public":true,"final":false,"reloadNeeded":true},
53
61
  "extension.example.ProviderExt1.onExit":{"public":true,"final":false,"reloadNeeded":true},
54
62
  "extension.example.ProviderExt1.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -65,6 +73,8 @@ sap.ui.define([
65
73
  "extension.example.ProviderExt1.myAfter":{"public":true,"final":false,"reloadNeeded":true},
66
74
  "extension.example.ProviderExt1.myBefore":{"public":true,"final":false,"reloadNeeded":true},
67
75
  "extension.example.ProviderExt2.byId":{"public":true,"final":true,"reloadNeeded":true},
76
+ "extension.example.ProviderExt2.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
77
+ "extension.example.ProviderExt2.isA":{"public":true, "final":true, "reloadNeeded": true},
68
78
  "extension.example.ProviderExt2.onInit":{"public":true,"final":false,"reloadNeeded":true},
69
79
  "extension.example.ProviderExt2.onExit":{"public":true,"final":false,"reloadNeeded":true},
70
80
  "extension.example.ProviderExt2.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -94,6 +104,8 @@ sap.ui.define([
94
104
  "callingPublicAndPrivateMethod",
95
105
  "byId",
96
106
  "getView",
107
+ "getMetadata",
108
+ "isA",
97
109
  "getBase",
98
110
  "myBefore",
99
111
  "myAfter",
@@ -10,6 +10,8 @@ sap.ui.define([
10
10
 
11
11
  var mAllPublicMethods = {
12
12
  "byId":{"public":true, "final":true, "reloadNeeded": false},
13
+ "getMetadata":{"public":true, "final":true, "reloadNeeded": false},
14
+ "isA":{"public":true, "final":true, "reloadNeeded": false},
13
15
  "callbackMethod":{"public":true, "final":false, "reloadNeeded": false},
14
16
  "getLifecycleCalls":{"public":true, "final":false, "reloadNeeded": false},
15
17
  "getLifecycleCallsFromArray":{"public":true, "final":false, "reloadNeeded": false},
@@ -17,6 +19,8 @@ sap.ui.define([
17
19
  "publicMethod":{"public":true, "final":false, "reloadNeeded": false},
18
20
  "publicWithCallbackMethod":{"public":true, "final":false, "reloadNeeded": false},
19
21
  "extension1.byId":{"public":true,"final":true,"reloadNeeded":true},
22
+ "extension1.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
23
+ "extension1.isA":{"public":true, "final":true, "reloadNeeded": true},
20
24
  "extension1.onInit":{"public":true,"final":false,"reloadNeeded":true},
21
25
  "extension1.onExit":{"public":true,"final":false,"reloadNeeded":true},
22
26
  "extension1.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -33,6 +37,8 @@ sap.ui.define([
33
37
  "extension1.publicMethod":{"public":true,"final":false,"reloadNeeded":true},
34
38
  "extension1.publicMethodToOverride":{"public":true,"final":false,"reloadNeeded":true},
35
39
  "extension2.byId":{"public":true,"final":true,"reloadNeeded":true},
40
+ "extension2.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
41
+ "extension2.isA":{"public":true, "final":true, "reloadNeeded": true},
36
42
  "extension2.onInit":{"public":true,"final":false,"reloadNeeded":true},
37
43
  "extension2.onExit":{"public":true,"final":false,"reloadNeeded":true},
38
44
  "extension2.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -49,6 +55,8 @@ sap.ui.define([
49
55
  "extension2.publicMethod":{"public":true,"final":false,"reloadNeeded":true},
50
56
  "extension2.publicMethodToOverride":{"public":true,"final":false,"reloadNeeded":true},
51
57
  "extension.example.ProviderExt1.byId":{"public":true,"final":true,"reloadNeeded":true},
58
+ "extension.example.ProviderExt1.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
59
+ "extension.example.ProviderExt1.isA":{"public":true, "final":true, "reloadNeeded": true},
52
60
  "extension.example.ProviderExt1.onInit":{"public":true,"final":false,"reloadNeeded":true},
53
61
  "extension.example.ProviderExt1.onExit":{"public":true,"final":false,"reloadNeeded":true},
54
62
  "extension.example.ProviderExt1.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -65,6 +73,8 @@ sap.ui.define([
65
73
  "extension.example.ProviderExt1.myAfter":{"public":true,"final":false,"reloadNeeded":true},
66
74
  "extension.example.ProviderExt1.myBefore":{"public":true,"final":false,"reloadNeeded":true},
67
75
  "extension.example.ProviderExt2.byId":{"public":true,"final":true,"reloadNeeded":true},
76
+ "extension.example.ProviderExt2.getMetadata":{"public":true, "final":true, "reloadNeeded": true},
77
+ "extension.example.ProviderExt2.isA":{"public":true, "final":true, "reloadNeeded": true},
68
78
  "extension.example.ProviderExt2.onInit":{"public":true,"final":false,"reloadNeeded":true},
69
79
  "extension.example.ProviderExt2.onExit":{"public":true,"final":false,"reloadNeeded":true},
70
80
  "extension.example.ProviderExt2.onBeforeRendering":{"public":true,"final":false,"reloadNeeded":true},
@@ -94,6 +104,8 @@ sap.ui.define([
94
104
  "callingPublicAndPrivateMethod",
95
105
  "byId",
96
106
  "getView",
107
+ "getMetadata",
108
+ "isA",
97
109
  "getBase",
98
110
  "myBefore",
99
111
  "myAfter",
@@ -7,7 +7,9 @@ sap.ui.define(["./Main.controller", "./ReuseExtension"], function(Controller, Re
7
7
  methods: {
8
8
  "publicMethod": {"public":false},
9
9
  "getView": {"public":false},
10
- "byId": {"public":false}
10
+ "byId": {"public":false},
11
+ "getMetadata": {"public": false},
12
+ "isA": {"public": false}
11
13
  }
12
14
  }
13
15
  });
@@ -2,7 +2,7 @@
2
2
  <Panel id="aPanel">
3
3
  <content>
4
4
  <mvc:View id="embedded-async-true" viewName="module:testdata/mvc/TypedView" async="true"></mvc:View>
5
- <mvc:View id="embedded-async-true2" viewName="module:testdata/mvc/TypedView" async="true"></mvc:View>
5
+ <mvc:View id="embedded-async-true2" viewName="module:testdata/mvc/TypedView2" async="true"></mvc:View>
6
6
  <test:TypedViewSyncCreateContent id="embedded-async-typed-declaration" async="true"/>
7
7
  <test:TypedViewWithRenderer id="embedded-async-typed-declaration-with-renderer" async="true"/>
8
8
  </content>
@@ -1,5 +1,6 @@
1
1
  /*global QUnit, sinon */
2
2
  sap.ui.define([
3
+ "sap/base/Log",
3
4
  "sap/ui/core/mvc/Controller",
4
5
  "sap/ui/core/UIComponent",
5
6
  'sap/ui/core/Component',
@@ -11,7 +12,7 @@ sap.ui.define([
11
12
  "sap/ui/core/mvc/XMLView",
12
13
  "sap/ui/core/StashedControlSupport",
13
14
  "sap/ui/qunit/utils/nextUIUpdate"
14
- ], function(Controller, UIComponent, Component, Element, Panel, HBox, MyGlobal, SyncPromise, XMLView, StashedControlSupport, nextUIUpdate) {
15
+ ], function(Log, Controller, UIComponent, Component, Element, Panel, HBox, MyGlobal, SyncPromise, XMLView, StashedControlSupport, nextUIUpdate) {
15
16
 
16
17
  "use strict";
17
18
 
@@ -298,18 +299,36 @@ sap.ui.define([
298
299
 
299
300
  /**
300
301
  * Tests parsing of a control which is not properly defined (does not return its class)
302
+ * In V1: We check if the control is retrieved via globals + an error log.
303
+ * In V2: we only check for the error log.
301
304
  */
302
- QUnit.test("Bad control processing", function(assert) {
305
+ QUnit.test("Bad control processing", async function(assert) {
306
+
307
+ const oLogSpy = this.spy(Log, "error");
303
308
 
304
309
  // view
305
- var pView = this.viewFactory("myViewBadControl", "sap.ui.core.qunit.mvc.viewprocessing.ViewProcessingBadControl");
310
+ const oView = await this.viewFactory("myViewBadControl", "sap.ui.core.qunit.mvc.viewprocessing.ViewProcessingBadControl");
306
311
 
307
- return pView.then(async function(oView) {
308
- await this.render(oView);
312
+ await this.render(oView);
313
+
314
+ // V1 and V2: Check for error concerning the missing module content
315
+ const sClassName = "sap.ui.core.qunit.mvc.viewprocessing.BadControl";
316
+ const sErrorLogMessage = `[FUTURE FATAL] Control '${sClassName}' did not return a class definition from sap.ui.define.`;
317
+ assert.ok(oLogSpy.calledWith(sinon.match(sErrorLogMessage)), "Error log for missing class definition is correct.");
309
318
 
310
- var myBadControl = oView.byId("myBadControl");
319
+ /**
320
+ * V1 only: Control is fetched from global namespace and instantiated.
321
+ * @deprecated
322
+ */
323
+ (() => {
324
+ // check error message again for an additional part complaining about the global access
325
+ assert.ok(oLogSpy.calledWith(sinon.match("This fallback behavior will be removed in the next major version (2.0).")), "Extended error log for global access is correct.");
326
+
327
+ const myBadControl = oView.byId("myBadControl");
311
328
  assert.ok(myBadControl, "BadControl is present within view");
312
- }.bind(this));
329
+ })();
330
+
331
+ oLogSpy.restore();
313
332
  });
314
333
 
315
334
 
@@ -325,7 +325,7 @@ sap.ui.define([
325
325
  },
326
326
  runAssertions: function (oView, mSpies, assert, bAsync) {
327
327
  var oWarningSpy = mSpies.warning;
328
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('This is a toast')' could not be resolved to an event handler function");
328
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('This is a toast'\)' could not be resolved to an event handler function/)));
329
329
  }
330
330
  }, {
331
331
  testDescription: "Parsing core:require in XMLView with fragment with missing definition in require context with preprocessors enabled",
@@ -346,7 +346,7 @@ sap.ui.define([
346
346
  runAssertions: function (oView, mSpies, assert, bAsync) {
347
347
  var oWarningSpy = mSpies.warning;
348
348
  sinon.assert.neverCalledWith(oWarningSpy, "Variable: Toast isn't defined in the require context of the current XMLView/Fragment");
349
- sinon.assert.neverCalledWith(oWarningSpy, "Event handler name 'Toast.show('This is a toast')' could not be resolved to an event handler function");
349
+ assert.ok(oWarningSpy.neverCalledWith(sinon.match(/Event handler name 'Toast.show\('This is a toast'\)' could not be resolved to an event handler function/)));
350
350
  }
351
351
  }, {
352
352
  testDescription: "Parsing core:require in XMLView with fragment w/o require context",
@@ -361,7 +361,7 @@ sap.ui.define([
361
361
  },
362
362
  runAssertions: function (oView, mSpies, assert, bAsync) {
363
363
  var oWarningSpy = mSpies.warning;
364
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('Problem occurred')' could not be resolved to an event handler function");
364
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('Problem occurred'\)' could not be resolved to an event handler function/)));
365
365
  }
366
366
  }, {
367
367
  testDescription: "Parsing core:require in XMLView with nested view and the require context isn't forwarded to nested view",
@@ -381,7 +381,7 @@ sap.ui.define([
381
381
  assert.ok(oCreateSpy.calledOnce, "generic create is called for the nested view");
382
382
 
383
383
  return oCreateSpy.getCall(0).returnValue.loaded().then(function() {
384
- return sinon.assert.calledWith(oWarningSpy, "Event handler name 'Box.show('MessageBox')' could not be resolved to an event handler function");
384
+ return assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Box.show\('MessageBox'\)' could not be resolved to an event handler function/)));
385
385
  });
386
386
  }
387
387
  }, {
@@ -421,7 +421,7 @@ sap.ui.define([
421
421
  oMessageToastButton.fireEvent("press");
422
422
  assert.equal(oToastShowSpy.callCount, 0, "Toast.show isn't called because the core:require is missing");
423
423
 
424
- sinon.assert.calledWith(oWarningSpy, "Event handler name 'Toast.show('Do you really want to close?')' could not be resolved to an event handler function");
424
+ assert.ok(oWarningSpy.calledWith(sinon.match(/Event handler name 'Toast.show\('Do you really want to close\?'\)' could not be resolved to an event handler function/)));
425
425
 
426
426
  return new Promise(function(resolve, reject) {
427
427
  InstanceManager.closeAllDialogs();
@@ -228,7 +228,7 @@ sap.ui.define([
228
228
 
229
229
  // check warning log
230
230
  assert.ok(
231
- this.logSpyWarning.calledWithExactly("Event handler name 'doSomething' could not be resolved to an event handler function"),
231
+ this.logSpyWarning.calledWith(sinon.match(/Event handler name 'doSomething' could not be resolved to an event handler function/)),
232
232
  "Correct warning for missing event-handler was logged"
233
233
  );
234
234
 
@@ -328,7 +328,7 @@ sap.ui.define([
328
328
 
329
329
  // check warning log
330
330
  assert.ok(
331
- this.logSpyWarning.calledWithExactly("Event handler name 'doSomething' could not be resolved to an event handler function"),
331
+ this.logSpyWarning.calledWith(sinon.match(/Event handler name 'doSomething' could not be resolved to an event handler function/)),
332
332
  "Correct warning for missing event-handler was logged"
333
333
  );
334
334
 
@@ -567,15 +567,15 @@ sap.ui.define([
567
567
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
568
568
  .withExactArgs("~canonicalTarget")
569
569
  .returns("~reducedPath");
570
- this.mock(ODataUtils).expects("_normalizeKey")
571
- .withExactArgs("~canonicalTarget")
572
- .returns("~normalizedTarget");
570
+ const oODataUtilsMock = this.mock(ODataUtils);
571
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
572
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
573
573
 
574
574
  // code under test
575
575
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
576
576
  sODataTarget, mRequestInfo, bIsTechnical, /*bODataTransition*/ false);
577
577
 
578
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
578
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
579
579
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
580
580
  });
581
581
  });
@@ -637,15 +637,15 @@ sap.ui.define([
637
637
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
638
638
  .withExactArgs("~deepPath/~target")
639
639
  .returns("~reducedPath");
640
- this.mock(ODataUtils).expects("_normalizeKey")
641
- .withExactArgs("~canonicalTarget")
642
- .returns("~normalizedTarget");
640
+ const oODataUtilsMock = this.mock(ODataUtils);
641
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
642
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
643
643
 
644
644
  // code under test
645
645
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
646
646
  sODataTarget, mRequestInfo, oFixture.isTechnical, /*bODataTransition*/ false);
647
647
 
648
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
648
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
649
649
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
650
650
  });
651
651
  });
@@ -698,15 +698,15 @@ sap.ui.define([
698
698
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
699
699
  .withExactArgs("~canonicalTarget")
700
700
  .returns("~reducedPath");
701
- this.mock(ODataUtils).expects("_normalizeKey")
702
- .withExactArgs("~canonicalTarget")
703
- .returns("~normalizedTarget");
701
+ const oODataUtilsMock = this.mock(ODataUtils);
702
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
703
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
704
704
 
705
705
  // code under test
706
706
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
707
707
  oFixture.sODataTarget, mRequestInfo, true, oFixture.bODataTransition);
708
708
 
709
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
709
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
710
710
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
711
711
  });
712
712
  });
@@ -744,15 +744,15 @@ sap.ui.define([
744
744
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
745
745
  .withExactArgs("~deepPath/~target")
746
746
  .returns("~reducedPath");
747
- this.mock(ODataUtils).expects("_normalizeKey")
748
- .withExactArgs("~canonicalTarget")
749
- .returns("~normalizedTarget");
747
+ const oODataUtilsMock = this.mock(ODataUtils);
748
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
749
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
750
750
 
751
751
  // code under test
752
752
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
753
753
  "~target", mRequestInfo, false, /*bODataTransition*/ false);
754
754
 
755
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
755
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
756
756
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
757
757
  });
758
758
 
@@ -814,15 +814,15 @@ sap.ui.define([
814
814
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
815
815
  .withExactArgs("~deepPath/" + oFixture.target)
816
816
  .returns("~reducedPath");
817
- this.mock(ODataUtils).expects("_normalizeKey")
818
- .withExactArgs(oFixture.targetToNormalize)
819
- .returns("~normalizedTarget");
817
+ const oODataUtilsMock = this.mock(ODataUtils);
818
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
819
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs(oFixture.targetToNormalize).returns("~normalizedTarget");
820
820
 
821
821
  // code under test
822
822
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
823
823
  oFixture.target, mRequestInfo, false, false);
824
824
 
825
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
825
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
826
826
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
827
827
  });
828
828
  });
@@ -864,14 +864,15 @@ sap.ui.define([
864
864
  .withExactArgs("/~functionTarget/~target", undefined, true).returns("~canonicalTarget");
865
865
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
866
866
  .withExactArgs(sDeepPath ? "/~deepPath/~target" : "/~target").returns("~reducedPath");
867
- this.mock(ODataUtils).expects("_normalizeKey").withExactArgs("~canonicalTarget")
868
- .returns("~normalizedTarget");
867
+ const oODataUtilsMock = this.mock(ODataUtils);
868
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
869
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
869
870
 
870
871
  // code under test
871
872
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
872
873
  "~target", mRequestInfo, false, false);
873
874
 
874
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
875
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
875
876
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
876
877
  });
877
878
  });
@@ -910,14 +911,15 @@ sap.ui.define([
910
911
  .withExactArgs("/~parsedUrl/~target", undefined, true).returns("~canonicalTarget");
911
912
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
912
913
  .withExactArgs("/~deepPath/~target").returns("~reducedPath");
913
- this.mock(ODataUtils).expects("_normalizeKey").withExactArgs("~canonicalTarget")
914
- .returns("~normalizedTarget");
914
+ const oODataUtilsMock = this.mock(ODataUtils);
915
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
916
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
915
917
 
916
918
  // code under test
917
919
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
918
920
  "~target", mRequestInfo, false, false);
919
921
 
920
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
922
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
921
923
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
922
924
  });
923
925
 
@@ -960,15 +962,15 @@ sap.ui.define([
960
962
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
961
963
  .withExactArgs("~deepPath~target") // collection -> no / between path and target
962
964
  .returns("~reducedPath");
963
- this.mock(ODataUtils).expects("_normalizeKey")
964
- .withExactArgs("~canonicalTarget")
965
- .returns("~normalizedTarget");
965
+ const oODataUtilsMock = this.mock(ODataUtils);
966
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
967
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
966
968
 
967
969
  // code under test
968
970
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
969
971
  "~target", mRequestInfo, false, false);
970
972
 
971
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
973
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
972
974
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
973
975
  });
974
976
 
@@ -1011,15 +1013,15 @@ sap.ui.define([
1011
1013
  this.mock(oODataMessageParser._metadata).expects("_getReducedPath")
1012
1014
  .withExactArgs("~deepPath") // collection -> no / between path and target
1013
1015
  .returns("~reducedPath");
1014
- this.mock(ODataUtils).expects("_normalizeKey")
1015
- .withExactArgs("~canonicalTarget")
1016
- .returns("~normalizedTarget");
1016
+ const oODataUtilsMock = this.mock(ODataUtils);
1017
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~reducedPath").returns("~normalizedReducedPath");
1018
+ oODataUtilsMock.expects("_normalizeKey").withExactArgs("~canonicalTarget").returns("~normalizedTarget");
1017
1019
 
1018
1020
  // code under test
1019
1021
  oTargetInfo = ODataMessageParser.prototype._createTarget.call(oODataMessageParser,
1020
1022
  /*sTarget*/ undefined, mRequestInfo, true, false);
1021
1023
 
1022
- assert.strictEqual(oTargetInfo.deepPath, "~reducedPath");
1024
+ assert.strictEqual(oTargetInfo.deepPath, "~normalizedReducedPath");
1023
1025
  assert.strictEqual(oTargetInfo.target, "~normalizedTarget");
1024
1026
  });
1025
1027
 
@@ -769,6 +769,14 @@ sap.ui.define([
769
769
  }, { // fetch all data with offset
770
770
  range : [1, 0, Infinity],
771
771
  expected : {start : 0, length : Infinity}
772
+ }, { // odd prefetch length, nothing missing
773
+ current : [[25, 50]],
774
+ range : [29, 3, 5],
775
+ expected : {start : 29, length : 3}
776
+ }, { // odd prefetch length, prefetch before
777
+ current : [[25, 50]],
778
+ range : [27, 3, 5],
779
+ expected : {start : 22, length : 8}
772
780
  }].forEach(function (oFixture) {
773
781
  QUnit.test("_getReadRange: " + oFixture.range, function (assert) {
774
782
  var aElements = [],
@@ -792,4 +800,17 @@ sap.ui.define([
792
800
  assert.deepEqual(oResult, oFixture.expected);
793
801
  });
794
802
  });
803
+
804
+ //*********************************************************************************************
805
+ QUnit.test("_getReadRange with placeholder", function (assert) {
806
+ const oPlaceholder = {placeholder : true};
807
+ const aElements = [oPlaceholder, oPlaceholder, {}, {}, {}, oPlaceholder, oPlaceholder,
808
+ oPlaceholder, oPlaceholder];
809
+
810
+ assert.deepEqual(
811
+ // code under test
812
+ ODataUtils._getReadRange(aElements, 2, 3, 4, (oElement) => oElement.placeholder),
813
+ {start : 0, length : 9}
814
+ );
815
+ });
795
816
  });