@openui5/sap.ui.core 1.121.4 → 1.121.5

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 (324) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/Event.js +1 -1
  8. package/src/sap/base/Eventing.js +1 -1
  9. package/src/sap/base/config.js +1 -1
  10. package/src/sap/base/i18n/LanguageTag.js +1 -1
  11. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  12. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  13. package/src/sap/base/util/restricted/_castArray.js +1 -1
  14. package/src/sap/base/util/restricted/_compact.js +1 -1
  15. package/src/sap/base/util/restricted/_curry.js +1 -1
  16. package/src/sap/base/util/restricted/_debounce.js +1 -1
  17. package/src/sap/base/util/restricted/_difference.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_flatten.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_intersection.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isNil.js +1 -1
  32. package/src/sap/base/util/restricted/_max.js +1 -1
  33. package/src/sap/base/util/restricted/_merge.js +1 -1
  34. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  35. package/src/sap/base/util/restricted/_min.js +1 -1
  36. package/src/sap/base/util/restricted/_omit.js +1 -1
  37. package/src/sap/base/util/restricted/_pick.js +1 -1
  38. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  39. package/src/sap/base/util/restricted/_throttle.js +1 -1
  40. package/src/sap/base/util/restricted/_toArray.js +1 -1
  41. package/src/sap/base/util/restricted/_union.js +1 -1
  42. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  43. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  44. package/src/sap/base/util/restricted/_uniq.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  47. package/src/sap/base/util/restricted/_without.js +1 -1
  48. package/src/sap/base/util/restricted/_xor.js +1 -1
  49. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  50. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  53. package/src/sap/ui/Device.js +3 -3
  54. package/src/sap/ui/Global.js +4 -4
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +1 -1
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  60. package/src/sap/ui/base/Metadata.js +1 -1
  61. package/src/sap/ui/base/Object.js +1 -1
  62. package/src/sap/ui/base/ObjectPool.js +1 -1
  63. package/src/sap/ui/core/.library +1 -1
  64. package/src/sap/ui/core/BusyIndicator.js +1 -1
  65. package/src/sap/ui/core/Component.js +1 -1
  66. package/src/sap/ui/core/ComponentContainer.js +1 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +1 -1
  70. package/src/sap/ui/core/Control.js +1 -1
  71. package/src/sap/ui/core/Core.js +1 -1
  72. package/src/sap/ui/core/CustomData.js +1 -1
  73. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  74. package/src/sap/ui/core/Element.js +1 -1
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  77. package/src/sap/ui/core/EventBus.js +1 -1
  78. package/src/sap/ui/core/Fragment.js +1 -1
  79. package/src/sap/ui/core/HTML.js +1 -1
  80. package/src/sap/ui/core/History.js +1 -1
  81. package/src/sap/ui/core/Icon.js +1 -1
  82. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  83. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  84. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  85. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  86. package/src/sap/ui/core/InvisibleText.js +1 -1
  87. package/src/sap/ui/core/Item.js +1 -1
  88. package/src/sap/ui/core/LabelEnablement.js +1 -1
  89. package/src/sap/ui/core/LayoutData.js +1 -1
  90. package/src/sap/ui/core/ListItem.js +1 -1
  91. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  92. package/src/sap/ui/core/Locale.js +1 -1
  93. package/src/sap/ui/core/LocaleData.js +1 -1
  94. package/src/sap/ui/core/Manifest.js +1 -1
  95. package/src/sap/ui/core/Message.js +1 -1
  96. package/src/sap/ui/core/RenderManager.js +1 -1
  97. package/src/sap/ui/core/Renderer.js +1 -1
  98. package/src/sap/ui/core/ResizeHandler.js +1 -1
  99. package/src/sap/ui/core/ScrollBar.js +1 -1
  100. package/src/sap/ui/core/SeparatorItem.js +1 -1
  101. package/src/sap/ui/core/Title.js +1 -1
  102. package/src/sap/ui/core/TooltipBase.js +1 -1
  103. package/src/sap/ui/core/UIArea.js +1 -1
  104. package/src/sap/ui/core/UIComponent.js +1 -1
  105. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  106. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  107. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  108. package/src/sap/ui/core/XMLComposite.js +1 -1
  109. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  110. package/src/sap/ui/core/date/UI5Date.js +1 -1
  111. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  112. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  113. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  115. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  117. package/src/sap/ui/core/format/DateFormat.js +3 -3
  118. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  119. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  120. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  121. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  122. package/src/sap/ui/core/library.js +3 -3
  123. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  124. package/src/sap/ui/core/message/Message.js +1 -1
  125. package/src/sap/ui/core/message/MessageManager.js +1 -1
  126. package/src/sap/ui/core/message/MessageParser.js +1 -1
  127. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  134. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  137. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  138. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  139. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  140. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  141. package/src/sap/ui/core/service/Service.js +1 -1
  142. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  143. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  144. package/src/sap/ui/core/support/Plugin.js +1 -1
  145. package/src/sap/ui/core/support/Support.js +1 -1
  146. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  147. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  148. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  149. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  150. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  151. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  153. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  154. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  155. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  156. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  157. package/src/sap/ui/core/tmpl/Template.js +1 -1
  158. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  159. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  160. package/src/sap/ui/core/util/Export.js +1 -1
  161. package/src/sap/ui/core/util/ExportCell.js +1 -1
  162. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  163. package/src/sap/ui/core/util/ExportRow.js +1 -1
  164. package/src/sap/ui/core/util/ExportType.js +1 -1
  165. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  166. package/src/sap/ui/core/util/File.js +1 -1
  167. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  168. package/src/sap/ui/core/util/MockServer.js +1 -1
  169. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  170. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  171. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  172. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  173. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  174. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  175. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  176. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  177. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  178. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  179. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  180. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  181. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  182. package/src/sap/ui/debug/ControlTree.js +1 -1
  183. package/src/sap/ui/debug/DebugEnv.js +1 -1
  184. package/src/sap/ui/debug/PropertyList.js +1 -1
  185. package/src/sap/ui/model/ClientModel.js +1 -1
  186. package/src/sap/ui/model/CompositeDataState.js +1 -1
  187. package/src/sap/ui/model/CompositeType.js +1 -1
  188. package/src/sap/ui/model/DataState.js +1 -1
  189. package/src/sap/ui/model/MetaModel.js +1 -1
  190. package/src/sap/ui/model/Model.js +1 -1
  191. package/src/sap/ui/model/SelectionModel.js +1 -1
  192. package/src/sap/ui/model/SimpleType.js +1 -1
  193. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  194. package/src/sap/ui/model/Type.js +1 -1
  195. package/src/sap/ui/model/json/JSONModel.js +1 -1
  196. package/src/sap/ui/model/message/MessageModel.js +1 -1
  197. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  198. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  199. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  200. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  201. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  202. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  203. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  204. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  205. package/src/sap/ui/model/odata/type/Date.js +1 -1
  206. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  207. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  208. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  209. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  210. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  211. package/src/sap/ui/model/odata/type/Double.js +1 -1
  212. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  213. package/src/sap/ui/model/odata/type/Int.js +1 -1
  214. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  215. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  216. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  217. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  218. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  219. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  220. package/src/sap/ui/model/odata/type/Single.js +1 -1
  221. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  222. package/src/sap/ui/model/odata/type/String.js +1 -1
  223. package/src/sap/ui/model/odata/type/Time.js +1 -1
  224. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  225. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  226. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  227. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  228. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  229. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  230. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  231. package/src/sap/ui/model/odata/v4/ODataBinding.js +27 -37
  232. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +8 -20
  233. package/src/sap/ui/model/odata/v4/ODataListBinding.js +3 -2
  234. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  235. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  236. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +0 -1
  237. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -13
  238. package/src/sap/ui/model/odata/v4/lib/_Cache.js +3 -19
  239. package/src/sap/ui/model/odata/v4/lib/_Helper.js +18 -0
  240. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  241. package/src/sap/ui/model/type/Boolean.js +1 -1
  242. package/src/sap/ui/model/type/Currency.js +6 -3
  243. package/src/sap/ui/model/type/Date.js +1 -1
  244. package/src/sap/ui/model/type/DateInterval.js +1 -1
  245. package/src/sap/ui/model/type/DateTime.js +1 -1
  246. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  247. package/src/sap/ui/model/type/FileSize.js +1 -1
  248. package/src/sap/ui/model/type/Float.js +1 -1
  249. package/src/sap/ui/model/type/Integer.js +1 -1
  250. package/src/sap/ui/model/type/String.js +1 -1
  251. package/src/sap/ui/model/type/Time.js +1 -1
  252. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  253. package/src/sap/ui/model/type/Unit.js +6 -3
  254. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  255. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  256. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  257. package/src/sap/ui/test/generic/TestBase.js +1 -1
  258. package/src/sap/ui/util/Storage.js +1 -1
  259. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  260. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  261. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  262. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  263. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  264. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  265. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  266. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  267. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  268. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  269. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  270. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  271. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  272. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  273. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  274. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  275. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  276. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  277. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  278. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  279. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  280. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  281. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  282. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  283. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  284. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  285. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  287. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  288. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  289. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  291. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  292. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  293. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  295. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  301. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  303. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  304. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  305. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  306. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  307. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  308. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  309. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  310. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  311. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  312. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +117 -85
  313. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +13 -7
  314. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +17 -70
  315. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
  316. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +13 -5
  317. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +30 -12
  318. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +0 -1
  319. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -18
  320. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +42 -36
  321. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +30 -0
  322. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +51 -22
  323. package/test/sap/ui/core/qunit/types/Types.qunit.js +35 -6
  324. package/test/sap/ui/core/relnotes/changes-1.121.json +20 -0
@@ -7,6 +7,7 @@ sap.ui.define([
7
7
  "sap/ui/core/format/FormatUtils",
8
8
  "sap/ui/core/Locale",
9
9
  "sap/ui/core/LocaleData",
10
+ "sap/ui/core/date/Buddhist",
10
11
  "sap/ui/core/date/UniversalDate",
11
12
  "sap/ui/core/date/UI5Date",
12
13
  "sap/ui/core/library",
@@ -15,21 +16,20 @@ sap.ui.define([
15
16
  "sap/ui/core/date/CalendarWeekNumbering",
16
17
  "sap/ui/test/TestUtils",
17
18
  // load all required calendars in advance
18
- "sap/ui/core/date/Buddhist",
19
19
  "sap/ui/core/date/Gregorian",
20
20
  "sap/ui/core/date/Islamic",
21
21
  "sap/ui/core/date/Japanese",
22
22
  "sap/ui/core/date/Persian"
23
- ], function(Log, Formatting, Localization, extend, DateFormat, FormatUtils, Locale, LocaleData,
24
- UniversalDate, UI5Date, library, Configuration, Supportability, CalendarWeekNumbering, TestUtils) {
23
+ ], function(Log, Formatting, Localization, extend, DateFormat, FormatUtils, Locale, LocaleData, Buddhist, UniversalDate,
24
+ UI5Date, library, Configuration, Supportability, CalendarWeekNumbering, TestUtils) {
25
25
  "use strict";
26
26
  /* eslint-disable max-nested-callbacks */
27
27
  /*global QUnit, sinon */
28
28
 
29
29
  // shortcut for sap.ui.core.CalendarType
30
30
  const CalendarType = library.CalendarType;
31
- const oDateTime = UI5Date.getInstance("Tue Sep 23 06:46:13 2000 GMT+0000");
32
- const oTZDateTime = UI5Date.getInstance("Tue Sep 23 03:46:13 2000 GMT+0530");
31
+ const oDateTime = UI5Date.getInstance("2000-09-23T06:46:13Z");
32
+ const oTZDateTime = UI5Date.getInstance("2000-09-23T03:46:13+05:30");
33
33
  const oDefaultDate = DateFormat.getInstance();
34
34
  const oDefaultDateTime = DateFormat.getDateTimeInstance();
35
35
  const oDefaultTime = DateFormat.getTimeInstance();
@@ -698,7 +698,7 @@ sap.ui.define([
698
698
  });
699
699
 
700
700
  QUnit.test("format custom date timezone UTC+2 (EET)", function (assert) {
701
- var oDate = UI5Date.getInstance("Tue Oct 9 11:37:56 2018 GMT+0000"),
701
+ var oDate = UI5Date.getInstance("2018-10-09T11:37:56Z"),
702
702
  oCustomDateFormat, sFormatted;
703
703
  oDate.setMilliseconds(235);
704
704
 
@@ -1648,7 +1648,7 @@ sap.ui.define([
1648
1648
  });
1649
1649
 
1650
1650
  QUnit.test("parse short format without delimiter", function (assert) {
1651
- var oDate = UI5Date.getInstance("Mon Apr 7 00:00:00 2014"),
1651
+ var oDate = UI5Date.getInstance("2014-04-07T00:00:00"),
1652
1652
  oFormat = DateFormat.getDateInstance(),
1653
1653
  sDateIn = "040714", oDateOut = oFormat.parse(sDateIn);
1654
1654
 
@@ -1708,7 +1708,7 @@ sap.ui.define([
1708
1708
  });
1709
1709
 
1710
1710
  QUnit.test("parse and format quarters", function (assert) {
1711
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
1711
+ var oDate = UI5Date.getInstance(2001, 6, 4),
1712
1712
  oQuarter1 = DateFormat.getDateInstance({ pattern: "qq" }),
1713
1713
  oQuarter2 = DateFormat.getDateInstance({ pattern: "qqq" }),
1714
1714
  oQuarter3 = DateFormat.getDateInstance({ pattern: "qqqq" }),
@@ -2983,7 +2983,7 @@ sap.ui.define([
2983
2983
  QUnit.module("Islamic Date in locale en");
2984
2984
 
2985
2985
  QUnit.test("format date to Islamic type with locale en", function (assert) {
2986
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
2986
+ var oDate = UI5Date.getInstance(2001, 6, 4),
2987
2987
  oDateFormat = DateFormat.getDateInstance({
2988
2988
  calendarType: CalendarType.Islamic
2989
2989
  });
@@ -3059,7 +3059,7 @@ sap.ui.define([
3059
3059
 
3060
3060
  ["ar", "ar_EG", "ar_SA", "he"].forEach(function (sLocale, index) {
3061
3061
  QUnit.test("format Islamic date " + sLocale, function (assert) {
3062
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3062
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3063
3063
  oDateFormat = DateFormat.getDateInstance(new Locale(sLocale));
3064
3064
 
3065
3065
  assert.strictEqual(oDateFormat.format(oDate), aResultLocal[index], "Date is formatted to Islamic Date in " + sLocale + " locale");
@@ -3091,7 +3091,7 @@ sap.ui.define([
3091
3091
  QUnit.module("Japanese Date");
3092
3092
 
3093
3093
  QUnit.test("format date to Japanese type", function (assert) {
3094
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3094
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3095
3095
  oDateFormat = DateFormat.getDateInstance({
3096
3096
  calendarType: CalendarType.Japanese
3097
3097
  }, new Locale("ja_JP"));
@@ -3126,7 +3126,7 @@ sap.ui.define([
3126
3126
  });
3127
3127
 
3128
3128
  QUnit.test("format/parse date with Gannen instead of Ichinen", function (assert) {
3129
- var oDate = UI5Date.getInstance("May 1 2019"),
3129
+ var oDate = UI5Date.getInstance(2019, 4, 1),
3130
3130
  sDate = "令和元年5月1日",
3131
3131
  oDateFormat = DateFormat.getDateInstance({
3132
3132
  calendarType: CalendarType.Japanese
@@ -3137,7 +3137,7 @@ sap.ui.define([
3137
3137
  assert.strictEqual(sFormatted, sDate, "Date is formatted correctly with Gannen year");
3138
3138
  assert.deepEqual(oParsed, oDate, "Date with Gannen year is parsed correctly");
3139
3139
 
3140
- oDate = UI5Date.getInstance("Apr 1 2019");
3140
+ oDate = UI5Date.getInstance(2019, 3, 1);
3141
3141
  sDate = "平成31年4月1日";
3142
3142
  sFormatted = oDateFormat.format(oDate);
3143
3143
  oParsed = oDateFormat.parse(sDate);
@@ -3145,7 +3145,7 @@ sap.ui.define([
3145
3145
  assert.strictEqual(sFormatted, sDate, "Year ending with 1 is formatted as a number");
3146
3146
  assert.deepEqual(oParsed, oDate, "Date with numeric year is parsed correctly");
3147
3147
 
3148
- oDate = UI5Date.getInstance("May 1 2019");
3148
+ oDate = UI5Date.getInstance(2019, 4, 1);
3149
3149
  sDate = "R1/5/1";
3150
3150
  oDateFormat = DateFormat.getDateInstance({
3151
3151
  calendarType: CalendarType.Japanese,
@@ -3157,7 +3157,7 @@ sap.ui.define([
3157
3157
  assert.strictEqual(sFormatted, sDate, "Date is formatted correctly with numeric year");
3158
3158
  assert.deepEqual(oParsed, oDate, "Date with numeric year is parsed correctly");
3159
3159
 
3160
- oDate = [UI5Date.getInstance("May 1 2019"), UI5Date.getInstance("May 10 2019")];
3160
+ oDate = [UI5Date.getInstance(2019, 4, 1), UI5Date.getInstance(2019, 4, 10)];
3161
3161
  sDate = "令和元年5月1日~10日";
3162
3162
  oDateFormat = DateFormat.getDateInstance({
3163
3163
  calendarType: CalendarType.Japanese,
@@ -3170,7 +3170,7 @@ sap.ui.define([
3170
3170
  assert.strictEqual(sFormatted, sDate, "Date interval is formatted correctly with Gannen year");
3171
3171
  assert.deepEqual(oParsed, oDate, "Date interval with Gannen year is parsed correctly");
3172
3172
 
3173
- oDate = [UI5Date.getInstance("Apr 1 2019"), UI5Date.getInstance("May 1 2019")];
3173
+ oDate = [UI5Date.getInstance(2019, 3, 1), UI5Date.getInstance(2019, 4, 1)];
3174
3174
  sDate = "平成31年4月1日~令和元年5月1日";
3175
3175
  sFormatted = oDateFormat.format(oDate);
3176
3176
  oParsed = oDateFormat.parse(sDate);
@@ -3207,7 +3207,7 @@ sap.ui.define([
3207
3207
  QUnit.module("Japanese Date in locale en");
3208
3208
 
3209
3209
  QUnit.test("format date to Japanese type with locale en", function (assert) {
3210
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3210
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3211
3211
  oDateFormat = DateFormat.getDateInstance({
3212
3212
  calendarType: CalendarType.Japanese
3213
3213
  });
@@ -3242,7 +3242,7 @@ sap.ui.define([
3242
3242
  QUnit.module("Persian Date");
3243
3243
 
3244
3244
  QUnit.test("format date to Persian type", function (assert) {
3245
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3245
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3246
3246
  oDateFormat = DateFormat.getDateInstance({
3247
3247
  calendarType: CalendarType.Persian
3248
3248
  }, new Locale("fa_IR"));
@@ -3277,7 +3277,7 @@ sap.ui.define([
3277
3277
  QUnit.module("Persian Date in locale en");
3278
3278
 
3279
3279
  QUnit.test("format date to Persian type with locale en", function (assert) {
3280
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3280
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3281
3281
  oDateFormat = DateFormat.getDateInstance({
3282
3282
  calendarType: CalendarType.Persian
3283
3283
  });
@@ -3312,7 +3312,7 @@ sap.ui.define([
3312
3312
  QUnit.module("Buddhist Date");
3313
3313
 
3314
3314
  QUnit.test("format date to Buddhist type", function (assert) {
3315
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3315
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3316
3316
  oDateFormat = DateFormat.getDateInstance({
3317
3317
  calendarType: CalendarType.Buddhist
3318
3318
  }, new Locale("th_TH"));
@@ -3374,7 +3374,7 @@ sap.ui.define([
3374
3374
  QUnit.module("Buddhist Date in locale en");
3375
3375
 
3376
3376
  QUnit.test("format date to Buddhist type with locale en", function (assert) {
3377
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3377
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3378
3378
  oDateFormat = DateFormat.getDateInstance({
3379
3379
  calendarType: CalendarType.Buddhist
3380
3380
  });
@@ -3383,7 +3383,7 @@ sap.ui.define([
3383
3383
  });
3384
3384
 
3385
3385
  QUnit.test("format date to Buddhist type with locale en and calendar week", function (assert) {
3386
- var oDate = UI5Date.getInstance("Wed Jul 4 2001"),
3386
+ var oDate = UI5Date.getInstance(2001, 6, 4),
3387
3387
  oDateFormat = DateFormat.getDateInstance({
3388
3388
  calendarType: CalendarType.Buddhist,
3389
3389
  pattern: "YYYY'/'ww"
@@ -3423,6 +3423,35 @@ sap.ui.define([
3423
3423
  doTestRelative(assert, false, { style: "long", relativeRange: [1, 5], calendarType: CalendarType.Buddhist }, "en", "style long, range [1, 5], en with calendar type Buddhist");
3424
3424
  });
3425
3425
 
3426
+ // DINC0133323
3427
+ [
3428
+ {buddhistYear : 2465, date : "May 1, 2465 BE", expected : {day : 1, month : 4, year : 1922}},
3429
+ {buddhistYear : 2482, date : "Mar 1, 2482 BE", expected : {day : 1, month : 2, year : 1940}},
3430
+ {buddhistYear : 2483, date : "Apr 1, 2483 BE", expected : {day : 1, month : 3, year : 1940}},
3431
+ {buddhistYear : 2484, date : "Jan 1, 2484 BE", expected : {day : 1, month : 0, year : 1941}},
3432
+ {buddhistYear : 2484, date : "Apr 1, 2484 BE", expected : {day : 1, month : 3, year : 1941}}
3433
+ ].forEach(function (oFixture, i) {
3434
+ QUnit.test("parse and format dates with Buddhist calendar around era change " + i, function (assert) {
3435
+ const oDateFormat = DateFormat.getDateInstance({
3436
+ calendarType: CalendarType.Buddhist
3437
+ });
3438
+ const oFullYearSpy = this.spy(Buddhist.prototype, "setUTCFullYear");
3439
+ const oMonthSpy = this.spy(Buddhist.prototype, "setUTCMonth");
3440
+
3441
+ // code under test
3442
+ const oDate = oDateFormat.parse(oFixture.date);
3443
+
3444
+ assert.ok(oFullYearSpy.calledOnceWithExactly(oFixture.buddhistYear, oFixture.expected.month,
3445
+ oFixture.expected.day));
3446
+ assert.ok(oMonthSpy.notCalled, "setMonth is not called");
3447
+ assert.strictEqual(oDate.getFullYear(), oFixture.expected.year);
3448
+ assert.strictEqual(oDate.getMonth(), oFixture.expected.month);
3449
+ assert.strictEqual(oDate.getDate(), 1, oFixture.expected.day);
3450
+
3451
+ // code under test
3452
+ assert.strictEqual(oDateFormat.format(oDate), oFixture.date);
3453
+ });
3454
+ });
3426
3455
 
3427
3456
  QUnit.module("interval options validation", {
3428
3457
  beforeEach: function (assert) {
@@ -721,19 +721,22 @@ sap.ui.define([
721
721
  //*********************************************************************************************
722
722
  [
723
723
  {aTypes:[]}, // no types
724
- {aTypes:[{}]}, // no constraints
725
- {aTypes:[{oConstraints:{}}]}, // no scale
724
+ {aTypes:[{}], expScale:0, oldScale:0}, // no constraints
725
+ {aTypes:[{oConstraints:{}}], expScale:0, oldScale:0}, // no scale
726
726
  {aTypes:[{oConstraints:{scale:24}}], expScale:24, expCreateFormats:1}, // consider scale
727
727
  // only the first type is considered
728
728
  {aTypes:[{oConstraints:{scale:24}}, {oConstraints:{scale:42}}], expScale:24, expCreateFormats:1},
729
729
  // scale unchanged, no new formats
730
730
  {aTypes:[{oConstraints:{scale:24}}], oldScale:24, expScale:24},
731
731
  // scale reset, recreate formats
732
- {aTypes:[{oConstraints:{}}], oldScale:24, expScale:undefined, expCreateFormats:1}
732
+ {aTypes:[{oConstraints:{}}], oldScale:24, expScale:0, expCreateFormats:1}
733
733
  ].forEach(({aTypes, expScale, expCreateFormats, oldScale}, i) => {
734
734
  QUnit.test("Currency: processPartTypes, i=" + i, function (assert) {
735
735
  const oCurrencyType = {iScale: oldScale, _createFormats() {}};
736
-
736
+ if (aTypes[0]) {
737
+ aTypes[0].isA = () => {};
738
+ this.mock(aTypes[0]).expects("isA").withExactArgs("sap.ui.model.odata.type.Decimal").returns(true);
739
+ }
737
740
  this.mock(oCurrencyType).expects("_createFormats").withExactArgs().exactly(expCreateFormats || 0);
738
741
 
739
742
  // code under test
@@ -743,6 +746,16 @@ sap.ui.define([
743
746
  });
744
747
  });
745
748
 
749
+ //*********************************************************************************************
750
+ QUnit.test("Currency: processPartTypes, first part has non-Decimal type", function (assert) {
751
+ const oCurrencyType = {};
752
+ const oNonDecimalType = {isA() {}};
753
+ this.mock(oNonDecimalType).expects("isA").withExactArgs("sap.ui.model.odata.type.Decimal").returns(false);
754
+
755
+ // code under test
756
+ CurrencyType.prototype.processPartTypes.call(oCurrencyType, [oNonDecimalType]);
757
+ });
758
+
746
759
  //*********************************************************************************************
747
760
  [
748
761
  {iScale : undefined, oFormatOptions : {}},
@@ -2838,13 +2851,17 @@ sap.ui.define([
2838
2851
  //*********************************************************************************************
2839
2852
  [
2840
2853
  {aTypes : []},
2841
- {aTypes : [{}]},
2842
- {aTypes : [{oConstraints : {}}]},
2854
+ {aTypes : [{}], iScale : 0},
2855
+ {aTypes : [{oConstraints : {}}], iScale : 0},
2843
2856
  {aTypes : [{oConstraints : {scale : 24}}], iScale : 24},
2844
2857
  {aTypes : [{oConstraints : {scale : 24}}, {oConstraints : {scale : 42}}], iScale : 24}
2845
2858
  ].forEach(({aTypes, iScale}, i) => {
2846
2859
  QUnit.test("Unit: processPartTypes, i=" + i, function (assert) {
2847
2860
  const oUnitType = {};
2861
+ if (aTypes[0]) {
2862
+ aTypes[0].isA = () => {};
2863
+ this.mock(aTypes[0]).expects("isA").withExactArgs("sap.ui.model.odata.type.Decimal").returns(true);
2864
+ }
2848
2865
 
2849
2866
  // code under test
2850
2867
  UnitType.prototype.processPartTypes.call(oUnitType, aTypes);
@@ -2852,4 +2869,16 @@ sap.ui.define([
2852
2869
  assert.strictEqual(oUnitType.iScale, iScale);
2853
2870
  });
2854
2871
  });
2872
+
2873
+ //*********************************************************************************************
2874
+ QUnit.test("Unit: processPartTypes, first part has non-Decimal type", function (assert) {
2875
+ const oUnitType = {iScale : 42};
2876
+ const oNonDecimalType = {isA() {}};
2877
+ this.mock(oNonDecimalType).expects("isA").withExactArgs("sap.ui.model.odata.type.Decimal").returns(false);
2878
+
2879
+ // code under test
2880
+ UnitType.prototype.processPartTypes.call(oUnitType, [oNonDecimalType]);
2881
+
2882
+ assert.strictEqual(oUnitType.iScale, 42);
2883
+ });
2855
2884
  });
@@ -620,5 +620,25 @@
620
620
  "text": " sap.ui.model.type.Unit: amount scale is used instead of unit's decimal places"
621
621
  }
622
622
  ]
623
+ },
624
+ "1.121.5": {
625
+ "date": "June 2024",
626
+ "notes": [
627
+ {
628
+ "id": "0eaf7c45cd103d1b2f03f3de58116642ad8c78be",
629
+ "type": "FIX",
630
+ "text": " sap.ui.core.format.DateFormat.qunit: Fix flaky tests"
631
+ },
632
+ {
633
+ "id": "936e6b506dee4b441230173af6448bfeed760c90",
634
+ "type": "FIX",
635
+ "text": " sap\\ui\\core\\format\\DateFormat.fnCreateDate: set UTCFullYear must be set with all components"
636
+ },
637
+ {
638
+ "id": "d5a91ba0ebb618479047c0dc2a35a4b6307b44de",
639
+ "type": "FIX",
640
+ "text": " sap.ui.model.type.(Currency|Unit): use amount scale default 0 instead of currency's or unit's decimal places"
641
+ }
642
+ ]
623
643
  }
624
644
  }