@openui5/sap.ui.core 1.120.0 → 1.120.2

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 (625) 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.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +2 -2
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/Formatting.js +30 -14
  13. package/src/sap/base/i18n/LanguageTag.js +1 -1
  14. package/src/sap/base/i18n/Localization.js +1 -2
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  17. package/src/sap/base/util/restricted/_castArray.js +1 -1
  18. package/src/sap/base/util/restricted/_compact.js +1 -1
  19. package/src/sap/base/util/restricted/_curry.js +1 -1
  20. package/src/sap/base/util/restricted/_debounce.js +1 -1
  21. package/src/sap/base/util/restricted/_difference.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_flatten.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_intersection.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isNil.js +1 -1
  36. package/src/sap/base/util/restricted/_max.js +1 -1
  37. package/src/sap/base/util/restricted/_merge.js +1 -1
  38. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  39. package/src/sap/base/util/restricted/_min.js +1 -1
  40. package/src/sap/base/util/restricted/_omit.js +1 -1
  41. package/src/sap/base/util/restricted/_pick.js +1 -1
  42. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  43. package/src/sap/base/util/restricted/_throttle.js +1 -1
  44. package/src/sap/base/util/restricted/_toArray.js +1 -1
  45. package/src/sap/base/util/restricted/_union.js +1 -1
  46. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  47. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  48. package/src/sap/base/util/restricted/_uniq.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  51. package/src/sap/base/util/restricted/_without.js +1 -1
  52. package/src/sap/base/util/restricted/_xor.js +1 -1
  53. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  54. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  57. package/src/sap/ui/Device.js +3 -3
  58. package/src/sap/ui/Global.js +4 -4
  59. package/src/sap/ui/base/BindingParser.js +4 -4
  60. package/src/sap/ui/base/DataType.js +5 -5
  61. package/src/sap/ui/base/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +9 -65
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +25 -1
  66. package/src/sap/ui/base/ManagedObjectRegistry.js +186 -169
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +3 -3
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +55 -150
  73. package/src/sap/ui/core/ComponentContainer.js +5 -5
  74. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  75. package/src/sap/ui/core/ComponentRegistry.js +153 -0
  76. package/src/sap/ui/core/ComponentSupport.js +3 -3
  77. package/src/sap/ui/core/Configuration.js +9 -7
  78. package/src/sap/ui/core/Control.js +6 -4
  79. package/src/sap/ui/core/Core.js +19 -71
  80. package/src/sap/ui/core/CustomData.js +1 -1
  81. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  82. package/src/sap/ui/core/Element.js +30 -142
  83. package/src/sap/ui/core/ElementMetadata.js +1 -1
  84. package/src/sap/ui/core/ElementRegistry.js +159 -0
  85. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  86. package/src/sap/ui/core/EventBus.js +1 -1
  87. package/src/sap/ui/core/ExtensionPoint.js +5 -5
  88. package/src/sap/ui/core/FocusHandler.js +3 -2
  89. package/src/sap/ui/core/Fragment.js +7 -7
  90. package/src/sap/ui/core/HTML.js +1 -1
  91. package/src/sap/ui/core/History.js +1 -1
  92. package/src/sap/ui/core/Icon.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +1 -1
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/Lib.js +62 -32
  102. package/src/sap/ui/core/ListItem.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +55 -11
  106. package/src/sap/ui/core/Manifest.js +4 -5
  107. package/src/sap/ui/core/Message.js +2 -1
  108. package/src/sap/ui/core/Messaging.js +2 -2
  109. package/src/sap/ui/core/RenderManager.js +1 -1
  110. package/src/sap/ui/core/Renderer.js +1 -1
  111. package/src/sap/ui/core/ResizeHandler.js +1 -1
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/Shortcut.js +15 -9
  115. package/src/sap/ui/core/StaticArea.js +4 -1
  116. package/src/sap/ui/core/Theming.js +3 -3
  117. package/src/sap/ui/core/Title.js +1 -1
  118. package/src/sap/ui/core/TooltipBase.js +1 -1
  119. package/src/sap/ui/core/UIArea.js +54 -12
  120. package/src/sap/ui/core/UIAreaRegistry.js +150 -0
  121. package/src/sap/ui/core/UIComponent.js +3 -3
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +1 -1
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/XMLTemplateProcessor.js +95 -76
  128. package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
  129. package/src/sap/ui/core/cldr/cy.json +12 -3
  130. package/src/sap/ui/core/cldr/en_AU.json +48 -12
  131. package/src/sap/ui/core/cldr/en_GB.json +24 -6
  132. package/src/sap/ui/core/cldr/en_HK.json +24 -6
  133. package/src/sap/ui/core/cldr/en_IE.json +24 -6
  134. package/src/sap/ui/core/cldr/en_IN.json +24 -6
  135. package/src/sap/ui/core/cldr/en_NZ.json +24 -6
  136. package/src/sap/ui/core/cldr/en_PG.json +24 -6
  137. package/src/sap/ui/core/cldr/en_SG.json +24 -6
  138. package/src/sap/ui/core/cldr/en_ZA.json +24 -6
  139. package/src/sap/ui/core/cldr/es.json +288 -72
  140. package/src/sap/ui/core/cldr/es_AR.json +288 -72
  141. package/src/sap/ui/core/cldr/es_BO.json +288 -72
  142. package/src/sap/ui/core/cldr/es_CL.json +144 -36
  143. package/src/sap/ui/core/cldr/es_CO.json +144 -36
  144. package/src/sap/ui/core/cldr/es_MX.json +288 -72
  145. package/src/sap/ui/core/cldr/fa.json +48 -12
  146. package/src/sap/ui/core/cldr/id.json +56 -14
  147. package/src/sap/ui/core/cldr/kk.json +184 -46
  148. package/src/sap/ui/core/cldr/ms.json +56 -14
  149. package/src/sap/ui/core/cldr/nb.json +36 -9
  150. package/src/sap/ui/core/cldr/nl.json +264 -66
  151. package/src/sap/ui/core/cldr/nl_BE.json +264 -66
  152. package/src/sap/ui/core/cldr/pt.json +288 -72
  153. package/src/sap/ui/core/cldr/pt_PT.json +288 -72
  154. package/src/sap/ui/core/cldr/sr.json +96 -24
  155. package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
  156. package/src/sap/ui/core/date/Islamic.js +4 -4
  157. package/src/sap/ui/core/date/UI5Date.js +1 -1
  158. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  159. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  160. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  161. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  162. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  163. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  164. package/src/sap/ui/core/format/DateFormat.js +25 -13
  165. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  166. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  167. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  168. package/src/sap/ui/core/library.js +9 -3
  169. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  170. package/src/sap/ui/core/message/Message.js +7 -7
  171. package/src/sap/ui/core/message/MessageManager.js +1 -1
  172. package/src/sap/ui/core/message/MessageParser.js +1 -1
  173. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  174. package/src/sap/ui/core/message/MessageType.js +1 -1
  175. package/src/sap/ui/core/mvc/Controller.js +15 -13
  176. package/src/sap/ui/core/mvc/ControllerExtension.js +7 -5
  177. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
  178. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  179. package/src/sap/ui/core/mvc/EventHandlerResolver.js +4 -4
  180. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  181. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  182. package/src/sap/ui/core/mvc/JSView.js +1 -1
  183. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  184. package/src/sap/ui/core/mvc/View.js +21 -10
  185. package/src/sap/ui/core/mvc/XMLView.js +8 -2
  186. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  187. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  188. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  189. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  190. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  191. package/src/sap/ui/core/routing/History.js +1 -1
  192. package/src/sap/ui/core/routing/Route.js +6 -6
  193. package/src/sap/ui/core/routing/Router.js +6 -6
  194. package/src/sap/ui/core/routing/Targets.js +3 -3
  195. package/src/sap/ui/core/routing/async/Target.js +2 -2
  196. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  197. package/src/sap/ui/core/rules/Misc.support.js +3 -3
  198. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
  199. package/src/sap/ui/core/search/SearchProvider.js +2 -1
  200. package/src/sap/ui/core/service/Service.js +1 -1
  201. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  202. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  203. package/src/sap/ui/core/support/Plugin.js +1 -1
  204. package/src/sap/ui/core/support/Support.js +1 -1
  205. package/src/sap/ui/core/support/plugins/ControlTree.js +7 -5
  206. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  207. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  208. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  209. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  210. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  211. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  212. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  213. package/src/sap/ui/core/theming/Parameters.js +7 -7
  214. package/src/sap/ui/core/theming/ThemeHelper.js +2 -2
  215. package/src/sap/ui/core/theming/ThemeManager.js +2 -2
  216. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  217. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  218. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  219. package/src/sap/ui/core/tmpl/Template.js +1 -1
  220. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  221. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  222. package/src/sap/ui/core/util/Export.js +1 -1
  223. package/src/sap/ui/core/util/ExportCell.js +1 -1
  224. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  225. package/src/sap/ui/core/util/ExportRow.js +1 -1
  226. package/src/sap/ui/core/util/ExportType.js +1 -1
  227. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  228. package/src/sap/ui/core/util/File.js +1 -1
  229. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  230. package/src/sap/ui/core/util/MockServer.js +34 -3
  231. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  232. package/src/sap/ui/core/util/_LocalizationHelper.js +122 -0
  233. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  234. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  235. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  236. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  237. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  238. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  239. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  240. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  241. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  242. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  243. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  244. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  245. package/src/sap/ui/debug/ControlTree.js +1 -1
  246. package/src/sap/ui/debug/DebugEnv.js +1 -1
  247. package/src/sap/ui/debug/PropertyList.js +1 -1
  248. package/src/sap/ui/model/Binding.js +2 -2
  249. package/src/sap/ui/model/ClientListBinding.js +6 -3
  250. package/src/sap/ui/model/ClientModel.js +1 -1
  251. package/src/sap/ui/model/ClientTreeBinding.js +6 -3
  252. package/src/sap/ui/model/CompositeDataState.js +5 -5
  253. package/src/sap/ui/model/CompositeType.js +1 -1
  254. package/src/sap/ui/model/DataState.js +10 -10
  255. package/src/sap/ui/model/FilterProcessor.js +19 -16
  256. package/src/sap/ui/model/ManagedObjectBindingSupport.js +2 -2
  257. package/src/sap/ui/model/MetaModel.js +1 -1
  258. package/src/sap/ui/model/Model.js +10 -8
  259. package/src/sap/ui/model/SelectionModel.js +1 -1
  260. package/src/sap/ui/model/SimpleType.js +1 -1
  261. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  262. package/src/sap/ui/model/Type.js +1 -1
  263. package/src/sap/ui/model/analytics/odata4analytics.js +6 -6
  264. package/src/sap/ui/model/json/JSONModel.js +1 -1
  265. package/src/sap/ui/model/message/MessageModel.js +1 -1
  266. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  267. package/src/sap/ui/model/odata/ODataListBinding.js +5 -2
  268. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -3
  269. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  270. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  271. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  272. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  273. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  274. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  275. package/src/sap/ui/model/odata/type/Date.js +1 -1
  276. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  277. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  278. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  279. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  280. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  281. package/src/sap/ui/model/odata/type/Double.js +1 -1
  282. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  283. package/src/sap/ui/model/odata/type/Int.js +1 -1
  284. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  285. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  286. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  287. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  288. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  289. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  290. package/src/sap/ui/model/odata/type/Single.js +1 -1
  291. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  292. package/src/sap/ui/model/odata/type/String.js +1 -1
  293. package/src/sap/ui/model/odata/type/Time.js +1 -1
  294. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  295. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  296. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  297. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  298. package/src/sap/ui/model/odata/v2/ODataListBinding.js +5 -2
  299. package/src/sap/ui/model/odata/v2/ODataModel.js +9 -58
  300. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -3
  301. package/src/sap/ui/model/odata/v4/Context.js +32 -27
  302. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
  303. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  304. package/src/sap/ui/model/odata/v4/ODataListBinding.js +198 -155
  305. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
  306. package/src/sap/ui/model/odata/v4/ODataModel.js +9 -4
  307. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -6
  308. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  309. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +220 -85
  310. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +33 -20
  311. package/src/sap/ui/model/odata/v4/lib/_Cache.js +70 -18
  312. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +9 -5
  313. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  314. package/src/sap/ui/model/type/Boolean.js +1 -1
  315. package/src/sap/ui/model/type/Currency.js +1 -1
  316. package/src/sap/ui/model/type/Date.js +1 -1
  317. package/src/sap/ui/model/type/DateInterval.js +1 -1
  318. package/src/sap/ui/model/type/DateTime.js +1 -1
  319. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  320. package/src/sap/ui/model/type/FileSize.js +1 -1
  321. package/src/sap/ui/model/type/Float.js +1 -1
  322. package/src/sap/ui/model/type/Integer.js +1 -1
  323. package/src/sap/ui/model/type/String.js +1 -1
  324. package/src/sap/ui/model/type/Time.js +1 -1
  325. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  326. package/src/sap/ui/model/type/Unit.js +1 -1
  327. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  328. package/src/sap/ui/performance/trace/Interaction.js +20 -16
  329. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  330. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +5 -5
  331. package/src/sap/ui/test/BranchTracking.js +4 -0
  332. package/src/sap/ui/test/actions/EnterText.js +1 -1
  333. package/src/sap/ui/test/generic/GenericTestCollection.js +1 -0
  334. package/src/sap/ui/test/generic/TestBase.js +4 -4
  335. package/src/sap/ui/test/generic/Utils.js +3 -2
  336. package/src/sap/ui/util/Storage.js +1 -1
  337. package/src/ui5loader-autoconfig.js +23 -15
  338. package/src/ui5loader.js +9 -4
  339. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
  340. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
  341. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
  342. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
  343. package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
  344. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
  345. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
  346. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
  347. package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
  348. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
  349. package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
  350. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
  351. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
  352. package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
  353. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
  354. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
  355. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
  356. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
  358. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
  359. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
  360. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
  362. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
  363. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
  364. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
  365. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +19 -1
  366. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
  367. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
  368. package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
  369. package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
  370. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  371. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
  372. package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
  373. package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
  374. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  375. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
  376. package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
  377. package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
  378. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
  380. package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
  381. package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
  382. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  383. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
  384. package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
  385. package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
  386. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  387. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
  388. package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
  389. package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
  390. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
  392. package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
  393. package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
  394. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  395. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
  396. package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
  397. package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
  398. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  399. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
  400. package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
  401. package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
  402. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  403. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
  404. package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
  405. package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
  406. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  407. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
  408. package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
  409. package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
  410. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  411. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
  412. package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
  413. package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
  414. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  415. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
  416. package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
  417. package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
  418. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  419. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
  420. package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
  421. package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
  422. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  423. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
  424. package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
  425. package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
  426. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
  428. package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
  429. package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
  430. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  431. package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
  432. package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
  433. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  434. package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
  435. package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
  436. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  437. package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
  438. package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
  439. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  440. package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
  441. package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
  442. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  443. package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
  444. package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
  445. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  446. package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
  447. package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
  448. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  449. package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
  450. package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
  451. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  452. package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
  453. package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
  454. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  455. package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
  456. package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
  457. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  458. package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
  459. package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
  460. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  461. package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
  462. package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
  463. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  464. package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
  465. package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
  466. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  467. package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
  468. package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
  469. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  470. package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
  471. package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
  472. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  473. package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
  474. package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
  475. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  476. package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
  477. package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
  478. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  479. package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
  480. package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
  481. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
  483. package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
  484. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
  486. package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
  487. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  488. package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
  489. package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
  490. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  491. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
  492. package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
  493. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  494. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
  495. package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
  496. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  497. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
  498. package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
  499. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  500. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
  501. package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
  502. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  503. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
  504. package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
  505. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
  507. package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
  508. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  509. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
  510. package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
  511. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  512. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
  513. package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
  514. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  515. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
  516. package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
  517. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  518. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
  519. package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
  520. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  521. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
  522. package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
  523. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  524. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
  525. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
  526. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  527. package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
  528. package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
  529. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
  530. package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
  531. package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
  532. package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
  533. package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
  534. package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
  535. package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
  536. package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
  537. package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
  538. package/test/sap/ui/core/qunit/Lib.qunit.js +59 -0
  539. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +86 -3
  540. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
  541. package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
  542. package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
  543. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
  544. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
  545. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
  546. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
  547. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +19 -0
  548. package/test/sap/ui/core/qunit/component/Component.qunit.js +35 -11
  549. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
  550. package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
  551. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
  552. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
  553. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
  554. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
  555. package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
  556. package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +4 -4
  557. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
  558. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
  559. package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
  560. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
  561. package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
  562. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -2
  563. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -2
  564. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +58 -16
  565. package/test/sap/ui/core/qunit/model/Model.qunit.js +43 -2
  566. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
  567. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
  568. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
  569. package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
  570. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
  571. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
  572. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
  573. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
  574. package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
  575. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
  576. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
  577. package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
  578. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
  579. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
  580. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
  581. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
  582. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
  583. package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
  584. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
  585. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +16 -16
  586. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +69 -0
  587. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +2 -11
  588. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +17 -17
  589. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
  590. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
  591. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
  592. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
  593. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
  594. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2148 -124
  595. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
  596. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
  597. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +453 -125
  598. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +256 -8
  600. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
  601. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +40 -1
  602. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
  603. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
  604. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
  605. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
  606. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
  607. package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
  608. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
  609. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
  610. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
  611. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
  612. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
  613. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
  614. package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
  615. package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
  616. package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
  617. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  618. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
  619. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
  620. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  621. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
  622. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
  623. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
  624. package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
  625. package/test/sap/ui/core/relnotes/changes-1.120.json +307 -0
@@ -2135,7 +2135,7 @@ sap.ui.define([
2135
2135
  "sap/ui/model/odata/v2/ODataTreeBinding", "sap/ui/model/odata/ODataTreeBindingAdapter"],
2136
2136
  function(ODataTreeBinding, ODataTreeBindingAdapter) {
2137
2137
  var oBinding = new ODataTreeBinding({
2138
- checkFilterOperation: function() { }
2138
+ checkFilter: function() { }
2139
2139
  }, "/");
2140
2140
  ODataTreeBindingAdapter.apply(oBinding);
2141
2141
 
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  var oBinding, oRemoveExpectation, oResetDataExpectation,
41
41
  oContext = {},
42
42
  oModel = {
43
- checkFilterOperation : function () {},
43
+ checkFilter : function () {},
44
44
  createCustomParams : function () {},
45
45
  read : function () {},
46
46
  resolveDeep : function () {}
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  this.mock(oModel).expects("resolveDeep")
52
52
  .withExactArgs("path", sinon.match.same(oContext))
53
53
  .returns("~deep");
54
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
54
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
55
55
  this.mock(ODataListBinding.prototype).expects("checkExpandedList")
56
56
  .withExactArgs()
57
57
  .returns(false);
@@ -708,7 +708,7 @@ sap.ui.define([
708
708
  var oBinding,
709
709
  oModel = {
710
710
  read : function () {},
711
- checkFilterOperation : function () {},
711
+ checkFilter : function () {},
712
712
  createCustomParams : function () {},
713
713
  resolve : function () {},
714
714
  resolveDeep : function () {}
@@ -718,7 +718,7 @@ sap.ui.define([
718
718
  .withExactArgs(sinon.match.same(oFixture.parameters))
719
719
  .returns("~custom");
720
720
  this.mock(oModel).expects("resolveDeep").withExactArgs("path", "context").returns("~deep");
721
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
721
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
722
722
  this.mock(ODataListBinding.prototype).expects("checkExpandedList").withExactArgs()
723
723
  .returns(true);
724
724
  this.mock(ODataListBinding.prototype).expects("_reassignCreateActivate").withExactArgs();
@@ -735,14 +735,14 @@ sap.ui.define([
735
735
  QUnit.test("constructor: remove persisted created contexts without expanded list",
736
736
  function (assert) {
737
737
  var oModel = {
738
- checkFilterOperation : function () {},
738
+ checkFilter : function () {},
739
739
  createCustomParams : function () {},
740
740
  resolveDeep : function () {}
741
741
  };
742
742
 
743
743
  this.mock(oModel).expects("createCustomParams").withExactArgs(undefined).returns("~custom");
744
744
  this.mock(oModel).expects("resolveDeep").withExactArgs("path", "context").returns("~deep");
745
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
745
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
746
746
  this.mock(ODataListBinding.prototype).expects("checkExpandedList")
747
747
  .withExactArgs()
748
748
  .returns(false);
@@ -766,7 +766,7 @@ sap.ui.define([
766
766
  var oBinding,
767
767
  oModel = {
768
768
  read : function () {},
769
- checkFilterOperation : function () {},
769
+ checkFilter : function () {},
770
770
  createCustomParams : function () {},
771
771
  resolve : function () {},
772
772
  resolveDeep : function () {}
@@ -776,7 +776,7 @@ sap.ui.define([
776
776
  .withExactArgs(sinon.match.same(oFixture.parameters))
777
777
  .returns("~custom");
778
778
  this.mock(oModel).expects("resolveDeep").withExactArgs("path", "context").returns("~deep");
779
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
779
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
780
780
  this.mock(ODataListBinding.prototype).expects("checkExpandedList").withExactArgs()
781
781
  .returns(true);
782
782
  this.mock(ODataListBinding.prototype).expects("_reassignCreateActivate").withExactArgs();
@@ -796,7 +796,7 @@ sap.ui.define([
796
796
  sDefaultCountMode : "~sDefaultCountMode",
797
797
  sDefaultOperationMode : "~sDefaultOperationMode",
798
798
  bPreliminaryContext : "~bPreliminaryContext",
799
- checkFilterOperation : function () {},
799
+ checkFilter : function () {},
800
800
  createCustomParams : function () {},
801
801
  resolveDeep : function () {}
802
802
  };
@@ -805,7 +805,7 @@ sap.ui.define([
805
805
  this.mock(oModel).expects("resolveDeep")
806
806
  .withExactArgs("~sPath", "~oContext")
807
807
  .returns("~sDeepPath");
808
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
808
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
809
809
  this.mock(ODataListBinding.prototype).expects("checkExpandedList")
810
810
  .withExactArgs()
811
811
  .returns(true);
@@ -864,7 +864,7 @@ sap.ui.define([
864
864
  isPreliminary : function () {}
865
865
  },
866
866
  oModel = {
867
- checkFilterOperation : function () {},
867
+ checkFilter : function () {},
868
868
  createCustomParams : function () {},
869
869
  resolve : function () {},
870
870
  resolveDeep : function () {}
@@ -876,7 +876,7 @@ sap.ui.define([
876
876
  this.mock(oModel).expects("resolveDeep")
877
877
  .withExactArgs("relativePath", bUsePreliminary ? sinon.match.same(oContext) : undefined)
878
878
  .returns("~deepPath"); // resolveDeep returns undefined for oContext === undefined
879
- this.mock(oModel).expects("checkFilterOperation").withExactArgs([]);
879
+ this.mock(oModel).expects("checkFilter").withExactArgs([]);
880
880
  this.mock(ODataListBinding.prototype).expects("checkExpandedList").withExactArgs().returns(true);
881
881
  this.mock(ODataListBinding.prototype).expects("_reassignCreateActivate").withExactArgs();
882
882
 
@@ -3364,7 +3364,7 @@ sap.ui.define([
3364
3364
  oBinding = {
3365
3365
  aApplicationFilters : aApplicationFilters,
3366
3366
  bInitial : false,
3367
- oModel : {checkFilterOperation : function () {}},
3367
+ oModel : {checkFilter : function () {}},
3368
3368
  _fireRefresh : function () {},
3369
3369
  _removePersistedCreatedContexts : function () {},
3370
3370
  addComparators : function () {},
@@ -3376,7 +3376,7 @@ sap.ui.define([
3376
3376
  oBindingMock = this.mock(oBinding),
3377
3377
  aFilters = bFilterNone ? [Filter.NONE] : [];
3378
3378
 
3379
- this.mock(oBinding.oModel).expects("checkFilterOperation")
3379
+ this.mock(oBinding.oModel).expects("checkFilter")
3380
3380
  .withExactArgs(sinon.match.same(aFilters));
3381
3381
  /** @deprecated As of version 1.22.0, reason sap.ui.model.odata.Filter.js */
3382
3382
  (function() {
@@ -3416,7 +3416,7 @@ sap.ui.define([
3416
3416
  var oBinding = {
3417
3417
  aAllKeys : [],
3418
3418
  bInitial : false,
3419
- oModel : {checkFilterOperation : function () {}},
3419
+ oModel : {checkFilter : function () {}},
3420
3420
  _moveCreatedPersistedToAllKeys : function () {},
3421
3421
  _fireChange : function () {},
3422
3422
  addComparators : function () {},
@@ -3425,7 +3425,7 @@ sap.ui.define([
3425
3425
  useClientMode : function () {}
3426
3426
  };
3427
3427
 
3428
- this.mock(oBinding.oModel).expects("checkFilterOperation").withExactArgs([]);
3428
+ this.mock(oBinding.oModel).expects("checkFilter").withExactArgs([]);
3429
3429
  /** @deprecated As of version 1.22.0, reason sap.ui.model.odata.Filter.js */
3430
3430
  (function() {
3431
3431
  oBinding.convertFilters = function () {};
@@ -6952,6 +6952,68 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
6952
6952
  });
6953
6953
  });
6954
6954
 
6955
+ //*********************************************************************************************
6956
+ // Scenario: The key predicate of an entity contains an encoded * character (='%2A'). Ensure
6957
+ // that the message targets (target and full target) are normalized in the same way as the
6958
+ // enitity key.
6959
+ // BCP: 2370146338
6960
+ QUnit.test("Messages: normalize target and full target paths", function (assert) {
6961
+ const oModel = createSalesOrdersModel();
6962
+ const sView = '\
6963
+ <FlexBox id="flexbox">\
6964
+ <Table id="table" growing="true" items="{ToLineItems}">\
6965
+ <Text id="itemPosition" text="{ItemPosition}"/>\
6966
+ <Input id="note" value="{Note}"/>\
6967
+ </Table>\
6968
+ </FlexBox>';
6969
+
6970
+ return this.createView(assert, sView, oModel).then(() => {
6971
+ this.expectHeadRequest()
6972
+ .expectRequest({
6973
+ deepPath : "/BusinessPartnerSet('4711')/ToSalesOrders('42')/ToLineItems",
6974
+ method : "GET",
6975
+ requestUri : "SalesOrderSet('42')/ToLineItems?$skip=0&$top=20"
6976
+ }, {
6977
+ results : [{
6978
+ __metadata : {
6979
+ uri : "/SalesOrderLineItemSet(SalesOrderID='42',ItemPosition='1%2A%30%2F')"
6980
+ },
6981
+ ItemPosition : "1*0/",
6982
+ Note : "Position 10",
6983
+ SalesOrderID : "42"
6984
+ }]
6985
+ }, {"sap-message" : getMessageHeader(this.createResponseMessage(
6986
+ "(SalesOrderID='42',ItemPosition='1%2A%30%2F')/Note", "Foo"))})
6987
+ .expectMessages([{
6988
+ code : "code-0",
6989
+ fullTarget : "/BusinessPartnerSet('4711')/ToSalesOrders('42')"
6990
+ + "/ToLineItems(SalesOrderID='42',ItemPosition='1*0%2F')/Note",
6991
+ message : "Foo",
6992
+ persistent : false,
6993
+ target : "/SalesOrderLineItemSet(SalesOrderID='42',ItemPosition='1*0%2F')/Note",
6994
+ technical : false,
6995
+ type : "Error"
6996
+ }])
6997
+ .expectValue("itemPosition", ["1*0/"])
6998
+ .expectValue("note", ["Position 10"]);
6999
+
7000
+ // code under test - relative binding context
7001
+ this.oView.byId("flexbox").setBindingContext(new Context(oModel, "/SalesOrderSet('42')",
7002
+ "/BusinessPartnerSet('4711')/ToSalesOrders('42')"));
7003
+
7004
+ return this.waitForChanges(assert);
7005
+ }).then(() => {
7006
+ const oInput = this.oView.byId("table").getItems()[0].getCells()[1];
7007
+ this.expectValueState(oInput, "Error", "Foo");
7008
+
7009
+ assert.strictEqual(oInput.getBinding("value").oContext.getDeepPath(),
7010
+ "/BusinessPartnerSet('4711')/ToSalesOrders('42')/ToLineItems(SalesOrderID='42',ItemPosition='1*0%2F')");
7011
+ assert.strictEqual(oInput.getBinding("value").getResolvedPath(),
7012
+ "/SalesOrderLineItemSet(SalesOrderID='42',ItemPosition='1*0%2F')/Note");
7013
+ return this.waitForChanges(assert);
7014
+ });
7015
+ });
7016
+
6955
7017
  //*********************************************************************************************
6956
7018
  // Scenario: Function import parameters need to be encoded when creating the default target
6957
7019
  // path for for a function import. Otherwise messages cannot be assigned properly and it might
@@ -21197,6 +21259,8 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
21197
21259
  // BCP: 2370088390
21198
21260
  // When the list is filtered only the transient entry is shown and no entries are requested.
21199
21261
  // JIRA: CPOUI5MODELS-1421
21262
+ // BCP: 2380132519; it has to be possible to have control filters even if application filters are set to
21263
+ // Filter.NONE and vice versa.
21200
21264
  QUnit.test("Filter table where only transient items have messages", function (assert) {
21201
21265
  let oCreatedContext, oRowsBinding;
21202
21266
  const oModel = createSalesOrdersModel({preliminaryContext : true});
@@ -21263,6 +21327,11 @@ ToProduct/ToSupplier/BusinessPartnerID\'}}">\
21263
21327
 
21264
21328
  oRowsBinding.filter(aResults[0], FilterType.Application);
21265
21329
 
21330
+ return this.waitForChanges(assert);
21331
+ }).then(() => {
21332
+ // code under test - adding a control filter does not lead to an error and still no request is needed
21333
+ oRowsBinding.filter(new Filter("itemPosition", FilterOperator.GE, "10"), FilterType.Control);
21334
+
21266
21335
  return this.waitForChanges(assert);
21267
21336
  });
21268
21337
  });
@@ -4796,7 +4796,7 @@ sap.ui.define([
4796
4796
  }
4797
4797
  },
4798
4798
  bFunctionHasParameter
4799
- ? {"~name0" : "~defaultValue0", "~name1" : "foo"}
4799
+ ? {"~name0" : undefined, "~name1" : "foo"}
4800
4800
  : undefined),
4801
4801
  oMetadata = {
4802
4802
  _getCanonicalPathOfFunctionImport : function () {},
@@ -4810,7 +4810,6 @@ sap.ui.define([
4810
4810
  bUseBatch : "~bUseBatch",
4811
4811
  sServiceUrl : "/service/url",
4812
4812
  _addEntity : function () {},
4813
- _createPropertyValue : function () {},
4814
4813
  _createRequest : function () {},
4815
4814
  _createRequestUrlWithNormalizedPath : function () {},
4816
4815
  _getHeaders : function () {},
@@ -4867,20 +4866,12 @@ sap.ui.define([
4867
4866
  .returns(oFunctionMetadataFixture.oFunctionMetadata);
4868
4867
 
4869
4868
  if (bFunctionHasParameter) {
4870
- oModelMock.expects("_createPropertyValue")
4871
- .withExactArgs("~type0")
4872
- .returns("~defaultValue0");
4873
- oModelMock.expects("_createPropertyValue")
4874
- .withExactArgs("~type1")
4875
- .returns("~defaultValue1");
4876
4869
  this.oLogMock.expects("warning")
4877
4870
  .withExactArgs("No value given for parameter '~name0' of function import"
4878
4871
  + " '/~sFunctionName'", sinon.match.same(oModel), sClassName);
4879
4872
  this.mock(ODataUtils).expects("formatValue")
4880
4873
  .withExactArgs("foo", "~type1")
4881
4874
  .returns("~value1");
4882
- } else {
4883
- oModelMock.expects("_createPropertyValue").never();
4884
4875
  }
4885
4876
 
4886
4877
  oModelMock.expects("_addEntity").withExactArgs(oExpectedOData)
@@ -5290,7 +5281,7 @@ sap.ui.define([
5290
5281
  oModel = {
5291
5282
  // used by ODataListBinding and ODataTreeBinding
5292
5283
  _getCreatedContextsCache : function () {},
5293
- checkFilterOperation : function () {},
5284
+ checkFilter : function () {},
5294
5285
  createCustomParams : function () { return {}; }, // used by ODataListBinding
5295
5286
  resolveDeep : function () {},
5296
5287
  resolveFromCache : function () {}
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  oBinding,
33
33
  oContext = {},
34
34
  oModel = {
35
- checkFilterOperation : function () {},
35
+ checkFilter : function () {},
36
36
  bPreliminaryContext : "bPreliminaryContextFromModel"
37
37
  },
38
38
  mParameters = {
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  },
49
49
  aSorters = [new Sorter("propertyPath")];
50
50
 
51
- this.mock(oModel).expects("checkFilterOperation")
51
+ this.mock(oModel).expects("checkFilter")
52
52
  .withExactArgs(sinon.match.same(aApplicationFilters));
53
53
 
54
54
  // code under test
@@ -102,19 +102,19 @@ sap.ui.define([
102
102
  oBinding,
103
103
  oContext = {},
104
104
  oModel = {
105
- checkFilterOperation : function () {}
105
+ checkFilter : function () {}
106
106
  },
107
107
  oModelMock = this.mock(oModel),
108
108
  oNotAFilter = {/*not a Filter*/};
109
109
 
110
- oModelMock.expects("checkFilterOperation").withExactArgs([oApplicationFilter]);
110
+ oModelMock.expects("checkFilter").withExactArgs([oApplicationFilter]);
111
111
 
112
112
  // code under test
113
113
  oBinding = new ODataTreeBinding(oModel, "path", oContext, oApplicationFilter);
114
114
 
115
115
  assert.deepEqual(oBinding.aApplicationFilters, [oApplicationFilter]);
116
116
 
117
- oModelMock.expects("checkFilterOperation").withExactArgs(sinon.match.same(oNotAFilter));
117
+ oModelMock.expects("checkFilter").withExactArgs(sinon.match.same(oNotAFilter));
118
118
 
119
119
  // code under test
120
120
  oBinding = new ODataTreeBinding(oModel, "path", oContext, oNotAFilter);
@@ -126,12 +126,12 @@ sap.ui.define([
126
126
  QUnit.test("constructor: multiple Application filters are grouped", function (assert) {
127
127
  var oBinding,
128
128
  aFilters = ["~filter0", "~filter1"],
129
- oModel = {checkFilterOperation: function () {}};
129
+ oModel = {checkFilter: function () {}};
130
130
 
131
131
  this.mock(FilterProcessor).expects("groupFilters")
132
132
  .withExactArgs(sinon.match.same(aFilters))
133
133
  .returns("~groupedFilters");
134
- this.mock(oModel).expects("checkFilterOperation").withExactArgs(["~groupedFilters"]);
134
+ this.mock(oModel).expects("checkFilter").withExactArgs(["~groupedFilters"]);
135
135
 
136
136
  // code under test
137
137
  oBinding = new ODataTreeBinding(oModel, "path", /*oContext*/{}, aFilters);
@@ -144,14 +144,14 @@ sap.ui.define([
144
144
  var oBinding,
145
145
  oContext = {},
146
146
  oModel = {
147
- checkFilterOperation : function () {},
147
+ checkFilter : function () {},
148
148
  sDefaultCountMode : "ModelDefaultCountMode",
149
149
  sDefaultOperationMode : OperationMode.Default,
150
150
  bPreliminaryContext : "bPreliminaryContext"
151
151
  },
152
152
  oModelMock = this.mock(oModel);
153
153
 
154
- oModelMock.expects("checkFilterOperation").withExactArgs([]);
154
+ oModelMock.expects("checkFilter").withExactArgs([]);
155
155
 
156
156
  // code under test
157
157
  oBinding = new ODataTreeBinding(oModel, "path", oContext);
@@ -171,7 +171,7 @@ sap.ui.define([
171
171
  assert.strictEqual(oBinding.bUsePreliminaryContext, "bPreliminaryContext");
172
172
  assert.strictEqual(oBinding.bTransitionMessagesOnly, false);
173
173
 
174
- oModelMock.expects("checkFilterOperation").withExactArgs([]);
174
+ oModelMock.expects("checkFilter").withExactArgs([]);
175
175
 
176
176
  // code under test
177
177
  oBinding = new ODataTreeBinding(oModel, "path", oContext, undefined,
@@ -179,7 +179,7 @@ sap.ui.define([
179
179
 
180
180
  assert.strictEqual(oBinding.sGroupId, "group");
181
181
 
182
- oModelMock.expects("checkFilterOperation").withExactArgs([]);
182
+ oModelMock.expects("checkFilter").withExactArgs([]);
183
183
  this.oLogMock.expects("fatal").withExactArgs("To use an ODataTreeBinding at least "
184
184
  + "one CountMode must be supported by the service!");
185
185
 
@@ -1179,12 +1179,12 @@ sap.ui.define([
1179
1179
  QUnit.test("filter: group filters of type Application #" + i, function (assert) {
1180
1180
  var oBinding = {
1181
1181
  aApplicationFilters: "~oldFilters",
1182
- oModel: {checkFilterOperation: function () {}},
1182
+ oModel: {checkFilter: function () {}},
1183
1183
  _fireRefresh: function () {},
1184
1184
  resetData: function () {}
1185
1185
  };
1186
1186
 
1187
- this.mock(oBinding.oModel).expects("checkFilterOperation").withExactArgs(oFixture.filter);
1187
+ this.mock(oBinding.oModel).expects("checkFilter").withExactArgs(oFixture.filter);
1188
1188
  this.mock(FilterProcessor).expects("groupFilters")
1189
1189
  .withExactArgs(sinon.match.same(oFixture.filter))
1190
1190
  .exactly(oFixture.groupFilter ? 1 : 0)
@@ -1227,11 +1227,11 @@ sap.ui.define([
1227
1227
  oBinding,
1228
1228
  oContext = {},
1229
1229
  oModel = {
1230
- checkFilterOperation : function () {}
1230
+ checkFilter : function () {}
1231
1231
  },
1232
1232
  oModelMock = this.mock(oModel);
1233
1233
 
1234
- oModelMock.expects("checkFilterOperation").withExactArgs([oApplicationFilter]);
1234
+ oModelMock.expects("checkFilter").withExactArgs([oApplicationFilter]);
1235
1235
 
1236
1236
  oBinding = new ODataTreeBinding(oModel, "path", oContext, oApplicationFilter);
1237
1237
 
@@ -1245,7 +1245,7 @@ sap.ui.define([
1245
1245
  assert.deepEqual(oBinding.aApplicationFilters, [oApplicationFilter]);
1246
1246
 
1247
1247
  oApplicationFilter = new Filter("propertyPath", "LE", "bar");
1248
- oModelMock.expects("checkFilterOperation").withExactArgs(oApplicationFilter);
1248
+ oModelMock.expects("checkFilter").withExactArgs(oApplicationFilter);
1249
1249
 
1250
1250
  oBinding.filter(oApplicationFilter, FilterType.Application);
1251
1251
 
@@ -1258,7 +1258,7 @@ sap.ui.define([
1258
1258
  });
1259
1259
  assert.deepEqual(oBinding.aApplicationFilters, [oApplicationFilter]);
1260
1260
 
1261
- oModelMock.expects("checkFilterOperation").withExactArgs(undefined);
1261
+ oModelMock.expects("checkFilter").withExactArgs(undefined);
1262
1262
 
1263
1263
  oBinding.filter(undefined, FilterType.Application);
1264
1264
 
@@ -3083,21 +3083,17 @@ sap.ui.define([
3083
3083
  });
3084
3084
 
3085
3085
  QUnit.test("createEntry with complex types which have namespace with . characters", function(assert) {
3086
- var done = assert.async();
3087
- var oModel = initModel(sURI, {metadataUrlParams : {test: "complex"}});
3088
- oModel.metadataLoaded().then(function() {
3089
- var oContext = oModel.createEntry("BusinessPartnerSet");
3086
+ const oModel = initModel(sURI, {metadataUrlParams: {test: "complex"}});
3087
+ return oModel.metadataLoaded().then(function() {
3088
+ const oContext = oModel.createEntry("BusinessPartnerSet");
3090
3089
  assert.ok(oContext, "context should be created");
3091
- var oData = oContext.getObject();
3092
- assert.ok(oData, " check context data");
3093
- assert.ok(oData.Address, " check context data");
3094
- assert.ok(oData.Address.hasOwnProperty('AddressType'), " check context data");
3095
- assert.ok(oData.Address.hasOwnProperty('Building'), " check context data");
3096
- assert.ok(oData.Address.hasOwnProperty('City'), " check context data");
3097
- assert.ok(oData.Address.hasOwnProperty('Country'), " check context data");
3098
- assert.ok(oData.Address.hasOwnProperty('Street'), " check context data");
3090
+ assert.ok(oContext.getObject(), "Entity has been created");
3091
+ // properties of complex type can be accessed
3092
+ assert.strictEqual(oContext.getObject("Address"), undefined);
3093
+ assert.strictEqual(oContext.getObject("Address/City"), undefined);
3094
+ oModel.setProperty("Address/City", "Walldorf", oContext);
3095
+ assert.strictEqual(oContext.getObject("Address/City"), "Walldorf");
3099
3096
  oModel.destroy();
3100
- done();
3101
3097
  });
3102
3098
  });
3103
3099
 
@@ -6716,17 +6712,17 @@ sap.ui.define([
6716
6712
  });
6717
6713
 
6718
6714
  QUnit.test("Empty Arguments", function(assert) {
6719
- this.oModel.checkFilterOperation();
6715
+ this.oModel.checkFilter();
6720
6716
  assert.ok(true, "No arguments lead to a positive result");
6721
6717
 
6722
- this.oModel.checkFilterOperation([]);
6718
+ this.oModel.checkFilter([]);
6723
6719
  assert.ok(true, "Empty array lead to a positive result");
6724
6720
  });
6725
6721
 
6726
6722
  QUnit.test("Simple Filters - Supported are OK", function(assert) {
6727
6723
  // comma separated syntax
6728
6724
  var oSupported = new Filter("x", FilterOperator.NE, "Foo");
6729
- this.oModel.checkFilterOperation(oSupported);
6725
+ this.oModel.checkFilter(oSupported);
6730
6726
  assert.ok(true, "Valid operators are supported");
6731
6727
 
6732
6728
  // object syntax
@@ -6735,12 +6731,12 @@ sap.ui.define([
6735
6731
  operator: FilterOperator.NE,
6736
6732
  value1: "FooBar"
6737
6733
  });
6738
- this.oModel.checkFilterOperation(oSupported2);
6734
+ this.oModel.checkFilter(oSupported2);
6739
6735
  assert.ok(true, "Valid operators are supported");
6740
6736
 
6741
6737
  // local fnTest - comma separated (should be ignored)
6742
6738
  var oSupported3 = new Filter("z", function() {});
6743
- this.oModel.checkFilterOperation(oSupported3);
6739
+ this.oModel.checkFilter(oSupported3);
6744
6740
  assert.ok(true, true, "local fnTest is ignored (comma separated syntax)");
6745
6741
 
6746
6742
  // local fnTest - object syntax (should be ignored)
@@ -6748,7 +6744,7 @@ sap.ui.define([
6748
6744
  path: "z",
6749
6745
  test: function() {}
6750
6746
  });
6751
- this.oModel.checkFilterOperation(oSupported4);
6747
+ this.oModel.checkFilter(oSupported4);
6752
6748
  assert.ok(true, "local fnTest is ignored (object syntax)");
6753
6749
  });
6754
6750
 
@@ -6762,7 +6758,7 @@ sap.ui.define([
6762
6758
  });
6763
6759
  assert.throws(
6764
6760
  function() {
6765
- this.oModel.checkFilterOperation(oUnsupported3);
6761
+ this.oModel.checkFilter(oUnsupported3);
6766
6762
  }.bind(this),
6767
6763
  this.getErrorWithMessage(FilterOperator.Any),
6768
6764
  "Invalid operators are not supported (object syntax)"
@@ -6777,7 +6773,7 @@ sap.ui.define([
6777
6773
  });
6778
6774
  assert.throws(
6779
6775
  function() {
6780
- this.oModel.checkFilterOperation(oUnsupported4);
6776
+ this.oModel.checkFilter(oUnsupported4);
6781
6777
  }.bind(this),
6782
6778
  this.getErrorWithMessage(FilterOperator.All),
6783
6779
  "Invalid operators are not supported (object syntax)"
@@ -6794,7 +6790,7 @@ sap.ui.define([
6794
6790
  });
6795
6791
  assert.throws(
6796
6792
  function() {
6797
- this.oModel.checkFilterOperation(oUnsupported3);
6793
+ this.oModel.checkFilter(oUnsupported3);
6798
6794
  }.bind(this),
6799
6795
  this.getErrorWithMessage(FilterOperator.Any),
6800
6796
  "Invalid operators are not supported (object syntax)"
@@ -6809,7 +6805,7 @@ sap.ui.define([
6809
6805
  });
6810
6806
  assert.throws(
6811
6807
  function() {
6812
- this.oModel.checkFilterOperation(oUnsupported4);
6808
+ this.oModel.checkFilter(oUnsupported4);
6813
6809
  }.bind(this),
6814
6810
  this.getErrorWithMessage(FilterOperator.All),
6815
6811
  "Invalid operators are not supported (object syntax)"
@@ -6822,7 +6818,7 @@ sap.ui.define([
6822
6818
 
6823
6819
  // Comma separated syntax
6824
6820
  var oMultiFilter2 = new Filter([oFilter1, oFilter2], false);
6825
- this.oModel.checkFilterOperation(oMultiFilter2);
6821
+ this.oModel.checkFilter(oMultiFilter2);
6826
6822
  assert.ok(true, "Valid operators in multi-filter are supported (comma separated syntax)");
6827
6823
 
6828
6824
  // Object Syntax
@@ -6831,7 +6827,7 @@ sap.ui.define([
6831
6827
  and: true
6832
6828
  });
6833
6829
 
6834
- this.oModel.checkFilterOperation(oMultiFilter);
6830
+ this.oModel.checkFilter(oMultiFilter);
6835
6831
  assert.ok(true, "Valid operators in multi-filter are supported (object syntax)");
6836
6832
  });
6837
6833
 
@@ -6847,7 +6843,7 @@ sap.ui.define([
6847
6843
  });
6848
6844
  assert.throws(
6849
6845
  function() {
6850
- this.oModel.checkFilterOperation(oMultiFilter);
6846
+ this.oModel.checkFilter(oMultiFilter);
6851
6847
  }.bind(this),
6852
6848
  this.getErrorWithMessage(FilterOperator.All),
6853
6849
  "Invalid operators in multi-filter are unsupported (object syntax)"
@@ -6860,7 +6856,7 @@ sap.ui.define([
6860
6856
  });
6861
6857
  assert.throws(
6862
6858
  function() {
6863
- this.oModel.checkFilterOperation(oMultiFilter);
6859
+ this.oModel.checkFilter(oMultiFilter);
6864
6860
  }.bind(this),
6865
6861
  this.getErrorWithMessage(FilterOperator.All),
6866
6862
  "Invalid operators in multi-filter are unsupported (object syntax)"
@@ -6870,7 +6866,7 @@ sap.ui.define([
6870
6866
  var oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
6871
6867
  assert.throws(
6872
6868
  function() {
6873
- this.oModel.checkFilterOperation(oMultiFilter2);
6869
+ this.oModel.checkFilter(oMultiFilter2);
6874
6870
  }.bind(this),
6875
6871
  this.getErrorWithMessage(FilterOperator.All),
6876
6872
  "Invalid operators in multi-filter are unsupported (comma separated syntax)"
@@ -6884,7 +6880,7 @@ sap.ui.define([
6884
6880
  oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
6885
6881
  assert.throws(
6886
6882
  function() {
6887
- this.oModel.checkFilterOperation(oMultiFilter2);
6883
+ this.oModel.checkFilter(oMultiFilter2);
6888
6884
  }.bind(this),
6889
6885
  this.getErrorWithMessage(FilterOperator.Any),
6890
6886
  "Invalid operators in multi-filter are unsupported (comma separated syntax)"
@@ -6903,7 +6899,7 @@ sap.ui.define([
6903
6899
  });
6904
6900
  assert.throws(
6905
6901
  function() {
6906
- this.oModel.checkFilterOperation(oMultiFilter);
6902
+ this.oModel.checkFilter(oMultiFilter);
6907
6903
  }.bind(this),
6908
6904
  this.getErrorWithMessage(FilterOperator.All),
6909
6905
  "Invalid operators in multi-filter are unsupported (object syntax)"
@@ -6916,7 +6912,7 @@ sap.ui.define([
6916
6912
  });
6917
6913
  assert.throws(
6918
6914
  function() {
6919
- this.oModel.checkFilterOperation(oMultiFilter);
6915
+ this.oModel.checkFilter(oMultiFilter);
6920
6916
  }.bind(this),
6921
6917
  this.getErrorWithMessage(FilterOperator.All),
6922
6918
  "Invalid operators in multi-filter are unsupported (object syntax)"
@@ -6926,7 +6922,7 @@ sap.ui.define([
6926
6922
  var oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
6927
6923
  assert.throws(
6928
6924
  function() {
6929
- this.oModel.checkFilterOperation(oMultiFilter2);
6925
+ this.oModel.checkFilter(oMultiFilter2);
6930
6926
  }.bind(this),
6931
6927
  this.getErrorWithMessage(FilterOperator.All),
6932
6928
  "Invalid operators in multi-filter are unsupported (comma separated syntax)"
@@ -6941,7 +6937,7 @@ sap.ui.define([
6941
6937
 
6942
6938
  assert.throws(
6943
6939
  function() {
6944
- this.oModel.checkFilterOperation(oMultiFilter2);
6940
+ this.oModel.checkFilter(oMultiFilter2);
6945
6941
  }.bind(this),
6946
6942
  this.getErrorWithMessage(FilterOperator.Any),
6947
6943
  "Invalid operators in multi-filter are unsupported (comma separated syntax)"
@@ -6962,7 +6958,7 @@ sap.ui.define([
6962
6958
 
6963
6959
  var oMultiFilter3 = new Filter([oMultiFilter2, oFilter4]);
6964
6960
 
6965
- this.oModel.checkFilterOperation(oMultiFilter3);
6961
+ this.oModel.checkFilter(oMultiFilter3);
6966
6962
  assert.ok(true, "Valid operators in multi-filter are supported");
6967
6963
  });
6968
6964
 
@@ -6985,7 +6981,7 @@ sap.ui.define([
6985
6981
 
6986
6982
  assert.throws(
6987
6983
  function() {
6988
- this.oModel.checkFilterOperation(oMultiFilter3);
6984
+ this.oModel.checkFilter(oMultiFilter3);
6989
6985
  }.bind(this),
6990
6986
  this.getErrorWithMessage(FilterOperator.All),
6991
6987
  "Invalid operators in multi-filter are unsupported"
@@ -7019,7 +7015,7 @@ sap.ui.define([
7019
7015
 
7020
7016
  assert.throws(
7021
7017
  function() {
7022
- this.oModel.checkFilterOperation(oMultiFilter3);
7018
+ this.oModel.checkFilter(oMultiFilter3);
7023
7019
  }.bind(this),
7024
7020
  this.getErrorWithMessage(FilterOperator.All),
7025
7021
  "Invalid operators in multi-filter are unsupported"