@openui5/sap.ui.core 1.122.1 → 1.123.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/.dtsgenrc +7 -1
  2. package/.eslintrc.json +3 -0
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -17
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/future.js +3 -1
  13. package/src/sap/base/i18n/Formatting.js +119 -94
  14. package/src/sap/base/i18n/LanguageTag.js +1 -1
  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 +7 -4
  59. package/src/sap/ui/base/BindingInfo.js +22 -0
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -1
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +5 -14
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/Metadata.js +15 -14
  66. package/src/sap/ui/base/Object.js +1 -1
  67. package/src/sap/ui/base/ObjectPool.js +1 -1
  68. package/src/sap/ui/core/.library +1 -1
  69. package/src/sap/ui/core/BusyIndicator.js +1 -1
  70. package/src/sap/ui/core/Component.js +17 -16
  71. package/src/sap/ui/core/ComponentContainer.js +1 -1
  72. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  73. package/src/sap/ui/core/ComponentSupport.js +1 -1
  74. package/src/sap/ui/core/Configuration.js +53 -18
  75. package/src/sap/ui/core/Control.js +1 -1
  76. package/src/sap/ui/core/Core.js +58 -21
  77. package/src/sap/ui/core/CustomData.js +1 -1
  78. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  79. package/src/sap/ui/core/Element.js +1 -1
  80. package/src/sap/ui/core/ElementMetadata.js +1 -1
  81. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  82. package/src/sap/ui/core/EventBus.js +6 -2
  83. package/src/sap/ui/core/Fragment.js +10 -5
  84. package/src/sap/ui/core/HTML.js +1 -1
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +1 -1
  87. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  88. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  89. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +1 -1
  92. package/src/sap/ui/core/Item.js +1 -1
  93. package/src/sap/ui/core/LabelEnablement.js +1 -1
  94. package/src/sap/ui/core/LayoutData.js +1 -1
  95. package/src/sap/ui/core/ListItem.js +1 -1
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +37 -21
  99. package/src/sap/ui/core/Manifest.js +1 -1
  100. package/src/sap/ui/core/Message.js +1 -1
  101. package/src/sap/ui/core/RenderManager.js +7 -1
  102. package/src/sap/ui/core/Renderer.js +4 -1
  103. package/src/sap/ui/core/ResizeHandler.js +1 -1
  104. package/src/sap/ui/core/ScrollBar.js +2 -2
  105. package/src/sap/ui/core/SeparatorItem.js +1 -1
  106. package/src/sap/ui/core/Title.js +1 -1
  107. package/src/sap/ui/core/TooltipBase.js +1 -1
  108. package/src/sap/ui/core/UIArea.js +37 -47
  109. package/src/sap/ui/core/UIComponent.js +1 -1
  110. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  111. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  112. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  113. package/src/sap/ui/core/XMLComposite.js +1 -1
  114. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  115. package/src/sap/ui/core/XMLTemplateProcessor.js +12 -0
  116. package/src/sap/ui/core/_IconRegistry.js +1 -0
  117. package/src/sap/ui/core/date/UI5Date.js +1 -1
  118. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  119. package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
  120. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  122. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  124. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  125. package/src/sap/ui/core/format/NumberFormat.js +28 -3
  126. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  127. package/src/sap/ui/core/getCompatibilityVersion.js +6 -2
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +3 -3
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +1 -1
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  136. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  137. package/src/sap/ui/core/mvc/JSView.js +1 -1
  138. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  139. package/src/sap/ui/core/mvc/View.js +12 -7
  140. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  141. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  142. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  143. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  144. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  145. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  146. package/src/sap/ui/core/rules/CoreHelper.support.js +2 -3
  147. package/src/sap/ui/core/rules/Misc.support.js +3 -12
  148. package/src/sap/ui/core/rules/Theming.support.js +5 -9
  149. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  150. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  151. package/src/sap/ui/core/service/Service.js +1 -1
  152. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  153. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  154. package/src/sap/ui/core/support/Plugin.js +1 -1
  155. package/src/sap/ui/core/support/Support.js +1 -20
  156. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  158. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  159. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  160. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  161. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  162. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  163. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  164. package/src/sap/ui/core/themes/base/.theming +3 -1
  165. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  166. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  167. package/src/sap/ui/core/theming/Parameters.js +5 -1
  168. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  169. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  170. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  171. package/src/sap/ui/core/tmpl/Template.js +1 -1
  172. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  173. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  174. package/src/sap/ui/core/util/Export.js +2 -2
  175. package/src/sap/ui/core/util/ExportCell.js +2 -2
  176. package/src/sap/ui/core/util/ExportColumn.js +2 -2
  177. package/src/sap/ui/core/util/ExportRow.js +2 -2
  178. package/src/sap/ui/core/util/ExportType.js +2 -2
  179. package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
  180. package/src/sap/ui/core/util/File.js +1 -1
  181. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  182. package/src/sap/ui/core/util/MockServer.js +1 -1
  183. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  184. package/src/sap/ui/core/util/XMLPreprocessor.js +8 -13
  185. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  188. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  189. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  190. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  191. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  192. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  193. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  194. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  195. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  196. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  197. package/src/sap/ui/debug/ControlTree.js +1 -1
  198. package/src/sap/ui/debug/DebugEnv.js +1 -1
  199. package/src/sap/ui/debug/PropertyList.js +1 -1
  200. package/src/sap/ui/dom/jquery/Aria.js +19 -0
  201. package/src/sap/ui/events/jquery/EventExtension.js +4 -3
  202. package/src/sap/ui/model/ClientModel.js +1 -1
  203. package/src/sap/ui/model/CompositeDataState.js +1 -1
  204. package/src/sap/ui/model/CompositeType.js +4 -4
  205. package/src/sap/ui/model/DataState.js +2 -2
  206. package/src/sap/ui/model/ManagedObjectBindingSupport.js +22 -33
  207. package/src/sap/ui/model/MetaModel.js +1 -1
  208. package/src/sap/ui/model/Model.js +1 -1
  209. package/src/sap/ui/model/SelectionModel.js +1 -1
  210. package/src/sap/ui/model/SimpleType.js +1 -1
  211. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  212. package/src/sap/ui/model/Type.js +1 -1
  213. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  214. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +7 -1
  215. package/src/sap/ui/model/json/JSONModel.js +1 -1
  216. package/src/sap/ui/model/message/MessageModel.js +1 -1
  217. package/src/sap/ui/model/odata/AnnotationHelper.js +11 -8
  218. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  219. package/src/sap/ui/model/odata/ODataExpressionAddons.js +21 -0
  220. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  221. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  222. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  223. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  224. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  225. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  226. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  227. package/src/sap/ui/model/odata/type/Date.js +1 -1
  228. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  229. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  230. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  231. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  232. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  233. package/src/sap/ui/model/odata/type/Double.js +1 -1
  234. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  235. package/src/sap/ui/model/odata/type/Int.js +1 -1
  236. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  237. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  238. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  239. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  240. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  241. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  242. package/src/sap/ui/model/odata/type/Single.js +1 -1
  243. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  244. package/src/sap/ui/model/odata/type/String.js +1 -1
  245. package/src/sap/ui/model/odata/type/Time.js +1 -1
  246. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  247. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  248. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  249. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  250. package/src/sap/ui/model/odata/v2/ODataModel.js +17 -48
  251. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  252. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +2 -0
  253. package/src/sap/ui/model/odata/v4/Context.js +66 -22
  254. package/src/sap/ui/model/odata/v4/ODataBinding.js +10 -11
  255. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +207 -180
  256. package/src/sap/ui/model/odata/v4/ODataListBinding.js +75 -52
  257. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +9 -11
  258. package/src/sap/ui/model/odata/v4/ODataModel.js +34 -35
  259. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -9
  260. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +20 -8
  261. package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
  262. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +126 -46
  263. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +56 -11
  264. package/src/sap/ui/model/odata/v4/lib/_Cache.js +21 -34
  265. package/src/sap/ui/model/odata/v4/lib/_Helper.js +16 -27
  266. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -6
  267. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  268. package/src/sap/ui/model/odata/v4/lib/_Parser.js +6 -5
  269. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +49 -38
  270. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +75 -24
  271. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +3 -4
  272. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +4 -12
  273. package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +1 -1
  274. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  275. package/src/sap/ui/model/type/Boolean.js +1 -1
  276. package/src/sap/ui/model/type/Currency.js +48 -4
  277. package/src/sap/ui/model/type/Date.js +1 -1
  278. package/src/sap/ui/model/type/DateInterval.js +1 -1
  279. package/src/sap/ui/model/type/DateTime.js +1 -1
  280. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  281. package/src/sap/ui/model/type/FileSize.js +1 -1
  282. package/src/sap/ui/model/type/Float.js +1 -1
  283. package/src/sap/ui/model/type/Integer.js +1 -1
  284. package/src/sap/ui/model/type/String.js +1 -1
  285. package/src/sap/ui/model/type/Time.js +1 -1
  286. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  287. package/src/sap/ui/model/type/Unit.js +5 -4
  288. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  289. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  290. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +4 -1
  291. package/src/sap/ui/test/ModuleTracking.js +46 -0
  292. package/src/sap/ui/test/OpaBuilder.js +19 -19
  293. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +39 -6
  294. package/src/sap/ui/test/generic/TestBase.js +1 -1
  295. package/src/sap/ui/util/Storage.js +1 -1
  296. package/src/sap/ui/util/_enforceNoReturnValue.js +3 -1
  297. package/src/ui5loader-autoconfig.js +22 -16
  298. package/src/ui5loader.js +38 -1
  299. package/test/sap/ui/core/demokit/docuindex.json +17 -6
  300. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/Component.js +1 -1
  301. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/Controller.controller.js +30 -47
  302. package/test/sap/ui/core/demokit/sample/Messaging/BasicMessages/MessagePopover.fragment.xml +13 -0
  303. package/test/sap/ui/core/demokit/sample/Messaging/BasicMessages/View.view.xml +135 -0
  304. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/manifest.json +2 -2
  305. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/Component.js +1 -1
  306. package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/Controller.controller.js +58 -0
  307. package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/MessagePopover.fragment.xml +13 -0
  308. package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/View.view.xml +57 -0
  309. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/mockserver.js +11 -13
  310. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/manifest.json +2 -2
  311. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/Component.js +1 -1
  312. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/manifest.json +2 -1
  313. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/package.json +1 -1
  314. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +11 -0
  315. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/Component.js +2 -2
  316. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/App.controller.js +12 -0
  317. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/BaseController.js +41 -0
  318. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +54 -0
  319. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/controller/NotFound.controller.js +9 -11
  320. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/fragment/MessagePopover.fragment.xml +13 -0
  321. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/i18n/i18n.properties +9 -0
  322. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/index.html +20 -0
  323. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/index.js +16 -0
  324. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockserver.js +27 -27
  325. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/manifest.json +7 -4
  326. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/view/App.view.xml +1 -1
  327. package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/view/Employee.view.xml +6 -6
  328. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/view/NotFound.view.xml +13 -0
  329. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Types.controller.js +1 -1
  330. package/test/sap/ui/core/demokit/sample/common/Helper.js +8 -9
  331. package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +1 -1
  332. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/GherkinTestRunner.html +2 -2
  333. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/GherkinTestRunner.html +2 -2
  334. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/GherkinTestRunner.html +2 -2
  335. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/Steps.js +4 -5
  336. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithUIComponent/GherkinTestRunner.html +2 -2
  337. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  338. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  339. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  340. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  341. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +1 -0
  342. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Main.controller.js +1 -1
  343. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ObjectPage.controller.js +2 -2
  344. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +1 -1
  345. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +1 -1
  346. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/MIT.ListBinding.html +1 -1
  347. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.controller.js +5 -7
  348. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.view.xml +2 -2
  349. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/MIT.ListBindingTemplate.html +1 -1
  350. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +3 -3
  351. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +6 -5
  352. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/ObjectPage.controller.js +5 -7
  353. package/test/sap/ui/core/demokit/sample/odata/v4/Products/MIT.Products.html +2 -2
  354. package/test/sap/ui/core/demokit/sample/odata/v4/Products/pages/Main.js +1 -1
  355. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +27 -9
  356. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/MIT.SalesOrderTP100.html +1 -1
  357. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/MIT.SalesOrderTP100.html +1 -1
  358. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.Basics.html +1 -1
  359. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderAdditionalTargets.html +1 -1
  360. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreate.html +1 -1
  361. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreateMultiple.html +1 -1
  362. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreateRelative.html +1 -1
  363. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderMessageHandling.html +3 -3
  364. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -5
  365. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -3
  366. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +7 -9
  367. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +3 -3
  368. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/MIT.RTA.html +2 -2
  369. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/MIT.SalesOrdersTemplate.html +1 -1
  370. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/MIT.Sticky.html +3 -3
  371. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Main.controller.js +3 -3
  372. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/pages/Main.js +1 -1
  373. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  374. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  375. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  376. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  377. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  378. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  380. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  381. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  382. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  383. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  384. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  385. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  386. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  387. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  388. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  389. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  390. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  392. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  393. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  394. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  395. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  396. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  397. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  398. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  399. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  400. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  401. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  402. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  403. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  404. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  405. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  406. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  407. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  408. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  409. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  410. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  411. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  412. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  413. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  414. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  415. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -1
  416. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  417. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -1
  418. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  419. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -1
  420. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -1
  421. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  422. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -1
  423. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -1
  424. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  425. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +1 -1
  426. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  428. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +1 -1
  429. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -1
  430. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  431. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +1 -1
  432. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +12 -3
  433. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +33 -38
  434. package/test/sap/ui/core/qunit/CustomThemeFallback_unavoidablySync.qunit.js +119 -0
  435. package/test/sap/ui/core/qunit/EventBus.qunit.js +15 -0
  436. package/test/sap/ui/core/qunit/Lib_terminologies.qunit.js +109 -0
  437. package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.qunit.js +19 -0
  438. package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.view.xml +27 -0
  439. package/test/sap/ui/core/qunit/app/ThemeClassParameters.qunit.js +105 -140
  440. package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +75 -2
  441. package/test/sap/ui/core/qunit/base/Config.qunit.js +6 -2
  442. package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.html +4 -1
  443. package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.js +6 -2
  444. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +6 -3
  445. package/test/sap/ui/core/qunit/base/Config_global.qunit.html +5 -2
  446. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +5 -2
  447. package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.html +5 -2
  448. package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.js +5 -1
  449. package/test/sap/ui/core/qunit/base/Config_url.qunit.html +5 -2
  450. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery-without-jquery-ui-position.qunit.html +2 -1
  451. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery.qunit.html +2 -1
  452. package/test/sap/ui/core/qunit/bootstrap/DebugMode.beforeBootstrap.qunit.js +7 -0
  453. package/test/sap/ui/core/qunit/bootstrap/DebugModeAsync.qunit.html +10 -4
  454. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +7 -0
  455. package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +9 -0
  456. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.html +2 -2
  457. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.html +2 -2
  458. package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.html +2 -2
  459. package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +2 -2
  460. package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +2 -2
  461. package/test/sap/ui/core/qunit/gherkin/testHarnessTests.js +1 -1
  462. package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +1 -1
  463. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +15 -15
  464. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
  465. package/test/sap/ui/core/qunit/loader/config.qunit.js +14 -6
  466. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +288 -0
  467. package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +12 -0
  468. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +7 -2
  469. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +225 -40
  470. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBinding.qunit.js +78 -7
  471. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +142 -17
  472. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +93 -87
  473. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +116 -86
  474. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -3
  475. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1828 -548
  476. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +1 -1
  477. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +1 -1
  478. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +26 -23
  479. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +9 -0
  480. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +251 -113
  481. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +50 -0
  482. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +3 -3
  483. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +31 -11
  484. package/test/sap/ui/core/qunit/odata/v4/lib/_Parser.qunit.js +8 -2
  485. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +46 -31
  486. package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +144 -45
  487. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +5 -5
  488. package/test/sap/ui/core/qunit/odata/v4/lib/data/v2/QM_INSP_PLAN_SRV/metadata.xml +3 -3
  489. package/test/sap/ui/core/qunit/odata/v4/lib/data/v2/QM_INSP_PLAN_SRV/metadata_only.xml +3 -3
  490. package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +82 -0
  491. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/i18n/i18n_fr.properties +1 -0
  492. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/i18n/terminologies/oil/i18n_fr.properties +2 -0
  493. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/library-preload.js +2 -2
  494. package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/themes/sap_hcb/library.css +3 -0
  495. package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +19 -1
  496. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +14 -0
  497. package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +37 -20
  498. package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +21 -0
  499. package/test/sap/ui/core/qunit/types/Types.qunit.js +126 -15
  500. package/test/sap/ui/core/qunit/ui5classes/ManagedObject.qunit.js +58 -4
  501. package/test/sap/ui/core/relnotes/changes-1.122.json +0 -22
  502. package/test/sap/ui/core/relnotes/changes-1.123.json +47 -0
  503. package/test/sap/ui/core/samples/databinding/DataBindingDeclarativeSyntax.js +55 -56
  504. package/test/sap/ui/core/samples/databinding/DatabindingDeclarativeSyntax.html +4 -4
  505. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  506. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  507. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  508. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  509. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  510. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  511. package/test/testsuite/js/testfwk.js +47 -64
  512. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/MessagePopover.fragment.xml +0 -13
  513. package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/View.view.xml +0 -136
  514. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +0 -74
  515. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/MessagePopover.fragment.xml +0 -13
  516. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/View.view.xml +0 -58
  517. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +0 -11
  518. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/App.controller.js +0 -14
  519. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/BaseController.js +0 -55
  520. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +0 -56
  521. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/fragment/MessagePopover.fragment.xml +0 -13
  522. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/i18n/i18n.properties +0 -5
  523. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +0 -42
  524. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/view/NotFound.view.xml +0 -11
  525. package/test/sap/ui/core/qunit/app/beforeBootstrap.js +0 -19
  526. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +0 -24
  527. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/metadata.xml +0 -0
  528. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/mockdata/Employees.json +0 -0
  529. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/response/ODataErrorResponse.json +0 -0
  530. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/metadata.xml +0 -0
  531. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockdata/Employees.json +0 -0
  532. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockdata/Employees_3.json +0 -0
  533. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/response/ODataErrorResponseTemplate.json +0 -0
  534. /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/response/SAP-Message-Header.json +0 -0
@@ -1,13 +1,11 @@
1
1
  /*global QUnit, sinon*/
2
2
  sap.ui.define([
3
3
  "test-resources/sap/ui/core/qunit/odata/data/ODataModelFakeService",
4
- "sap/ui/model/odata/v2/ODataModel",
5
- "sap/m/Text"
6
- ], function(
7
- fakeService,
8
- ODataModel,
9
- Text
10
- ) {
4
+ "sap/m/Text",
5
+ 'sap/ui/model/ChangeReason',
6
+ "sap/ui/model/odata/ODataPropertyBinding",
7
+ "sap/ui/model/odata/v2/ODataModel"
8
+ ], function(fakeService, Text, ChangeReason, ODataPropertyBinding, ODataModel) {
11
9
 
12
10
  "use strict";
13
11
  // time to wait for server responses
@@ -120,4 +118,77 @@ sap.ui.define([
120
118
  });
121
119
  });
122
120
  });
121
+
122
+ //*********************************************************************************************
123
+ QUnit.test("setValue: bSuspended = true", function(assert) {
124
+ const oBinding = {bSuspended: true};
125
+
126
+ // code under test
127
+ ODataPropertyBinding.prototype.setValue.call(oBinding, "~vValue");
128
+
129
+ assert.strictEqual(oBinding.oValue, undefined);
130
+ });
131
+
132
+ //*********************************************************************************************
133
+ ["~sValue", 1, {"ms": 12345}, undefined].forEach(function(vValue, i) {
134
+ QUnit.test("setValue: new value = old value " + i, function(assert) {
135
+ const oBinding = {oValue: vValue};
136
+
137
+ // code under test
138
+ ODataPropertyBinding.prototype.setValue.call(oBinding, vValue);
139
+
140
+ assert.strictEqual(oBinding.oValue, vValue);
141
+ });
142
+ });
143
+
144
+ //*********************************************************************************************
145
+ QUnit.test("setValue: ODataModel#setProperty returns false", function(assert) {
146
+ const oBinding = {
147
+ oContext: "~oContext",
148
+ oModel: {
149
+ setProperty() {}
150
+ },
151
+ sPath: "~sPath",
152
+ oValue: "~oOldValue"
153
+ };
154
+ this.mock(oBinding.oModel).expects("setProperty")
155
+ .withExactArgs("~sPath", "~oNewValue", "~oContext", true)
156
+ .returns(false);
157
+
158
+ // code under test
159
+ ODataPropertyBinding.prototype.setValue.call(oBinding, "~oNewValue");
160
+
161
+ assert.strictEqual(oBinding.oValue, "~oOldValue");
162
+ });
163
+
164
+ //*********************************************************************************************
165
+ QUnit.test("setValue", function(assert) {
166
+ const oBinding = {
167
+ oContext: "~oContext",
168
+ oModel: {
169
+ firePropertyChange() {},
170
+ setProperty() {}
171
+ },
172
+ sPath: "~sPath",
173
+ oValue: "~oValue",
174
+ getDataState() {}
175
+ };
176
+ const oModelMock = this.mock(oBinding.oModel);
177
+ oModelMock.expects("setProperty").withExactArgs("~sPath", "~oNewValue", "~oContext", true).returns(true);
178
+ const oDataState = {setValue() {}};
179
+ this.mock(oBinding).expects("getDataState").withExactArgs().returns(oDataState);
180
+ this.mock(oDataState).expects("setValue").withExactArgs("~oNewValue");
181
+ oModelMock.expects("firePropertyChange")
182
+ .withExactArgs({
183
+ reason: ChangeReason.Binding,
184
+ path: "~sPath",
185
+ context: "~oContext",
186
+ value: "~oNewValue"
187
+ });
188
+
189
+ // code under test
190
+ ODataPropertyBinding.prototype.setValue.call(oBinding, "~oNewValue");
191
+
192
+ assert.strictEqual(oBinding.oValue, "~oNewValue");
193
+ });
123
194
  });
@@ -90,6 +90,10 @@ sap.ui.define([
90
90
  // code under test
91
91
  oContext.setCreatedPersisted();
92
92
  }, new Error("Already 'created', currently transient: true"));
93
+ assert.throws(function () {
94
+ // code under test
95
+ oContext.setPersisted();
96
+ }, new Error("Not 'created persisted'"));
93
97
 
94
98
  fnResolve("bar");
95
99
  return oCreatedPromise.then(function () {
@@ -104,6 +108,7 @@ sap.ui.define([
104
108
  // code under test
105
109
  oContext.setCreatedPersisted();
106
110
 
111
+ assert.strictEqual(oContext.isInactive(), undefined);
107
112
  assert.strictEqual(oContext.isTransient(), false);
108
113
  assert.ok(oContext.created() instanceof Promise);
109
114
 
@@ -117,6 +122,25 @@ sap.ui.define([
117
122
  });
118
123
  });
119
124
 
125
+ //*********************************************************************************************
126
+ QUnit.test("setPersisted", function (assert) {
127
+ const oContext
128
+ = Context.create({/*oModel*/}, {/*oBinding*/}, "/foo", 42, SyncPromise.resolve());
129
+ oContext.bInactive = false; // "was created in an inactive state and has been activated"
130
+
131
+ // code under test
132
+ oContext.setPersisted();
133
+
134
+ assert.strictEqual(oContext.isInactive(), undefined);
135
+ assert.strictEqual(oContext.isTransient(), undefined);
136
+ assert.strictEqual(oContext.created(), undefined);
137
+
138
+ assert.throws(function () {
139
+ // code under test
140
+ oContext.setPersisted();
141
+ }, new Error("Not 'created persisted'"));
142
+ });
143
+
120
144
  //*********************************************************************************************
121
145
  QUnit.test("getGeneration: after Context.createNewContext", function (assert) {
122
146
  var oBinding = {},
@@ -1212,7 +1236,8 @@ sap.ui.define([
1212
1236
  [
1213
1237
  {transient : false, groupId : "myGroup"},
1214
1238
  {transient : true, groupId : "myGroup"},
1215
- {transient : true, groupId : null}
1239
+ {transient : true, groupId : null},
1240
+ {transient : true, groupId : null, hierarchy : true}
1216
1241
  ].forEach(function (oFixture) {
1217
1242
  QUnit.test("delete: success " + JSON.stringify(oFixture), function (assert) {
1218
1243
  var oBinding = {
@@ -1221,7 +1246,7 @@ sap.ui.define([
1221
1246
  getHeaderContext : function () {},
1222
1247
  lockGroup : function () {},
1223
1248
  onKeepAliveChanged : function () {},
1224
- mParameters : "~mParameters~"
1249
+ mParameters : {}
1225
1250
  },
1226
1251
  oContext = Context.create("~oModel~", oBinding, "/Foo/Bar('42')", 42,
1227
1252
  oFixture.transient ? new SyncPromise(function () {}) : /*oCreatePromise*/undefined),
@@ -1229,9 +1254,12 @@ sap.ui.define([
1229
1254
  oExpectation,
1230
1255
  bSelected = !!oFixture.groupId;
1231
1256
 
1257
+ if (oFixture.hierarchy) {
1258
+ oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
1259
+ }
1232
1260
  oContext.bSelected = bSelected;
1233
1261
  this.mock(_Helper).expects("isDataAggregation")
1234
- .withExactArgs("~mParameters~").returns(false);
1262
+ .withExactArgs(sinon.match.same(oBinding.mParameters)).returns(false);
1235
1263
  this.mock(oBinding).expects("checkSuspended").withExactArgs();
1236
1264
  this.mock(_Helper).expects("checkGroupId").exactly(oFixture.transient ? 0 : 1)
1237
1265
  .withExactArgs("myGroup", false, true);
@@ -1317,16 +1345,20 @@ sap.ui.define([
1317
1345
  checkSuspended : function () {},
1318
1346
  delete : function () {},
1319
1347
  lockGroup : function () {},
1320
- mParameters : "~mParameters~"
1348
+ mParameters : {$$aggregation : {hierarchyQualifier : "X"}}
1349
+ },
1350
+ oModel = {
1351
+ isApiGroup : mustBeMocked
1321
1352
  },
1322
- oContext = Context.create("~oModel~", oBinding, "/Foo/Bar('42')", 42),
1353
+ oContext = Context.create(oModel, oBinding, "/Foo/Bar('42')", 42),
1323
1354
  oGroupLock = {
1324
1355
  unlock : function () {}
1325
1356
  };
1326
1357
 
1327
1358
  this.mock(_Helper).expects("isDataAggregation")
1328
- .withExactArgs("~mParameters~").returns(false);
1359
+ .withExactArgs(sinon.match.same(oBinding.mParameters)).returns(false);
1329
1360
  this.mock(oBinding).expects("checkSuspended").withExactArgs();
1361
+ this.mock(oModel).expects("isApiGroup").withExactArgs("myGroup").returns(false);
1330
1362
  this.mock(_Helper).expects("checkGroupId").withExactArgs("myGroup", false, true);
1331
1363
  this.mock(oContext).expects("fetchCanonicalPath").withExactArgs()
1332
1364
  .returns(SyncPromise.reject("~oError~"));
@@ -1359,6 +1391,40 @@ sap.ui.define([
1359
1391
  }, new Error("Cannot delete " + oContext + " when using data aggregation"));
1360
1392
  });
1361
1393
 
1394
+ //*********************************************************************************************
1395
+ QUnit.test("delete: recursive hierarchy, restrictions not met", function (assert) {
1396
+ const oBinding = {
1397
+ checkSuspended : function () {},
1398
+ getUpdateGroupId : mustBeMocked,
1399
+ mParameters : {$$aggregation : {hierarchyQualifier : "X"}}
1400
+ };
1401
+ const oModel = {
1402
+ isApiGroup : mustBeMocked
1403
+ };
1404
+
1405
+ const oContext = Context.create(oModel, oBinding, "/EMPLOYEES/42");
1406
+ assert.throws(function () {
1407
+ // code under test
1408
+ oContext.delete();
1409
+ }, new Error("Unsupported kept-alive context: " + oContext));
1410
+
1411
+ oContext.iIndex = 42;
1412
+ this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~groupId~");
1413
+ this.mock(oModel).expects("isApiGroup").twice().withExactArgs("~groupId~").returns(true);
1414
+
1415
+ assert.throws(function () {
1416
+ // code under test
1417
+ oContext.delete();
1418
+ }, new Error("Unsupported group ID: ~groupId~"));
1419
+
1420
+ oContext.iIndex = 0;
1421
+
1422
+ assert.throws(function () {
1423
+ // code under test
1424
+ oContext.delete("~groupId~");
1425
+ }, new Error("Unsupported group ID: ~groupId~"));
1426
+ });
1427
+
1362
1428
  //*********************************************************************************************
1363
1429
  QUnit.test("delete: no lock, but not a kept-alive context", function (assert) {
1364
1430
  var oBinding = {
@@ -2126,8 +2192,11 @@ sap.ui.define([
2126
2192
  const oBinding = {
2127
2193
  move : mustBeMocked
2128
2194
  };
2129
- const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')");
2195
+ const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
2130
2196
  let bResolved = false;
2197
+ this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2198
+ this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2199
+ this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2131
2200
  this.mock(oContext).expects("isAncestorOf").withExactArgs(i ? null : "~oParent~")
2132
2201
  .returns(false);
2133
2202
  this.mock(oBinding).expects("move")
@@ -2169,21 +2238,29 @@ sap.ui.define([
2169
2238
  });
2170
2239
 
2171
2240
  //*********************************************************************************************
2172
- QUnit.test("move: fails", function (assert) {
2173
- const oBinding = {
2174
- move : mustBeMocked
2175
- };
2176
- const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')");
2177
-
2178
- const oContextMock = this.mock(oContext);
2179
- oContextMock.expects("isAncestorOf").withExactArgs("~oParent~").returns(true);
2241
+ QUnit.test("move: Unsupported parent context", function (assert) {
2242
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2243
+ this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2244
+ this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2245
+ this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2246
+ this.mock(oContext).expects("isAncestorOf").withExactArgs("~oParent~").returns(true);
2180
2247
 
2181
2248
  assert.throws(function () {
2182
2249
  // code under test
2183
2250
  oContext.move({parent : "~oParent~"});
2184
2251
  }, new Error("Unsupported parent context: ~oParent~"));
2252
+ });
2185
2253
 
2186
- oContextMock.expects("isAncestorOf").withExactArgs("~oParent~").returns(false);
2254
+ //*********************************************************************************************
2255
+ QUnit.test("move: fails", function (assert) {
2256
+ const oBinding = {
2257
+ move : mustBeMocked
2258
+ };
2259
+ const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
2260
+ this.stub(oContext, "toString"); // called by SinonJS, would call #isTransient :-(
2261
+ this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
2262
+ this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
2263
+ this.mock(oContext).expects("isAncestorOf").withExactArgs("~oParent~").returns(false);
2187
2264
  this.mock(oBinding).expects("move").withExactArgs(sinon.match.same(oContext), "~oParent~")
2188
2265
  .returns(SyncPromise.reject("~error~"));
2189
2266
 
@@ -2198,6 +2275,44 @@ sap.ui.define([
2198
2275
  });
2199
2276
  });
2200
2277
 
2278
+ //*********************************************************************************************
2279
+ QUnit.test("move: Cannot move; deleted", function (assert) {
2280
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2281
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2282
+ this.mock(oContext).expects("isDeleted").withExactArgs().atLeast(1).returns(true);
2283
+
2284
+ assert.throws(function () {
2285
+ // code under test
2286
+ oContext.move();
2287
+ }, new Error("Cannot move " + oContext));
2288
+ });
2289
+
2290
+ //*********************************************************************************************
2291
+ QUnit.test("move: Cannot move; transient", function (assert) {
2292
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
2293
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2294
+ this.mock(oContext).expects("isDeleted").withExactArgs().atLeast(1).returns(false);
2295
+ this.mock(oContext).expects("isTransient").withExactArgs().atLeast(1).returns(true);
2296
+
2297
+ assert.throws(function () {
2298
+ // code under test
2299
+ oContext.move();
2300
+ }, new Error("Cannot move " + oContext));
2301
+ });
2302
+
2303
+ //*********************************************************************************************
2304
+ QUnit.test("move: Cannot move; outside collection", function (assert) {
2305
+ const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')");
2306
+ // Note: cannot easily mock #toString which calls #isDeleted etc.
2307
+ this.mock(oContext).expects("isDeleted").withExactArgs().atLeast(1).returns(false);
2308
+ this.mock(oContext).expects("isTransient").withExactArgs().atLeast(1).returns(false);
2309
+
2310
+ assert.throws(function () {
2311
+ // code under test
2312
+ oContext.move();
2313
+ }, new Error("Cannot move " + oContext));
2314
+ });
2315
+
2201
2316
  //*********************************************************************************************
2202
2317
  QUnit.test("patch", function (assert) {
2203
2318
  var oCache = {
@@ -4458,11 +4573,21 @@ sap.ui.define([
4458
4573
  [false, true].forEach(function (bHasChangeListeners) {
4459
4574
  QUnit.test("setSelected: with change listeners=" + bHasChangeListeners, function () {
4460
4575
  const oCache = {setProperty : mustBeMocked};
4461
- const oBinding = {getHeaderContext : "~function~"};
4576
+ const oBinding = {getHeaderContext : "~function~", _getAllExistingContexts : mustBeMocked};
4462
4577
  // Note: oBinding is optional, it might already be missing in certain cases!
4463
4578
  const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
4579
+ const aRowContexts = [
4580
+ {setSelected : mustBeMocked},
4581
+ {setSelected : mustBeMocked}
4582
+ ];
4583
+
4464
4584
  if (bHasChangeListeners) {
4465
4585
  oContext.mChangeListeners = "~mChangeListeners~";
4586
+ this.mock(oBinding).expects("_getAllExistingContexts").withExactArgs()
4587
+ .returns(aRowContexts);
4588
+ aRowContexts.forEach((oRowContext) => {
4589
+ this.mock(oRowContext).expects("setSelected").withExactArgs("~selected~");
4590
+ });
4466
4591
  }
4467
4592
 
4468
4593
  this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);