@openui5/sap.ui.core 1.121.1 → 1.121.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) 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/FormatUtils.js +1 -1
  118. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  119. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  120. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  121. package/src/sap/ui/core/library.js +3 -3
  122. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  123. package/src/sap/ui/core/message/Message.js +1 -1
  124. package/src/sap/ui/core/message/MessageManager.js +1 -1
  125. package/src/sap/ui/core/message/MessageParser.js +1 -1
  126. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  127. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  128. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSView.js +1 -1
  130. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  131. package/src/sap/ui/core/mvc/View.js +1 -1
  132. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  133. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  134. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  135. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  136. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  137. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  138. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  139. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  140. package/src/sap/ui/core/service/Service.js +1 -1
  141. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  142. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  143. package/src/sap/ui/core/support/Plugin.js +1 -1
  144. package/src/sap/ui/core/support/Support.js +1 -1
  145. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  146. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  147. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  148. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  149. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  150. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  151. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  152. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  153. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  154. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  155. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  156. package/src/sap/ui/core/tmpl/Template.js +1 -1
  157. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  158. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  159. package/src/sap/ui/core/util/Export.js +1 -1
  160. package/src/sap/ui/core/util/ExportCell.js +1 -1
  161. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  162. package/src/sap/ui/core/util/ExportRow.js +1 -1
  163. package/src/sap/ui/core/util/ExportType.js +1 -1
  164. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  165. package/src/sap/ui/core/util/File.js +1 -1
  166. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  167. package/src/sap/ui/core/util/MockServer.js +1 -1
  168. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  169. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  170. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  171. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  172. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  173. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  174. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  175. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  176. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  177. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  178. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  179. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  180. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  181. package/src/sap/ui/debug/ControlTree.js +1 -1
  182. package/src/sap/ui/debug/DebugEnv.js +1 -1
  183. package/src/sap/ui/debug/PropertyList.js +1 -1
  184. package/src/sap/ui/model/ClientModel.js +1 -1
  185. package/src/sap/ui/model/CompositeDataState.js +1 -1
  186. package/src/sap/ui/model/CompositeType.js +1 -1
  187. package/src/sap/ui/model/DataState.js +1 -1
  188. package/src/sap/ui/model/MetaModel.js +1 -1
  189. package/src/sap/ui/model/Model.js +1 -1
  190. package/src/sap/ui/model/SelectionModel.js +1 -1
  191. package/src/sap/ui/model/SimpleType.js +1 -1
  192. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  193. package/src/sap/ui/model/Type.js +1 -1
  194. package/src/sap/ui/model/json/JSONModel.js +1 -1
  195. package/src/sap/ui/model/message/MessageModel.js +1 -1
  196. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  197. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  198. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  199. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  200. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  201. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  202. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  203. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  204. package/src/sap/ui/model/odata/type/Date.js +1 -1
  205. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  206. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  207. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  208. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  209. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  210. package/src/sap/ui/model/odata/type/Double.js +1 -1
  211. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  212. package/src/sap/ui/model/odata/type/Int.js +1 -1
  213. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  214. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  215. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  216. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  217. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  218. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  219. package/src/sap/ui/model/odata/type/Single.js +1 -1
  220. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  221. package/src/sap/ui/model/odata/type/String.js +1 -1
  222. package/src/sap/ui/model/odata/type/Time.js +1 -1
  223. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  224. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  225. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  226. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  227. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  228. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  229. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  230. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  231. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  232. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  233. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  234. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  235. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  236. package/src/sap/ui/model/odata/v4/lib/_Parser.js +4 -3
  237. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +36 -24
  238. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  239. package/src/sap/ui/model/type/Boolean.js +1 -1
  240. package/src/sap/ui/model/type/Currency.js +1 -1
  241. package/src/sap/ui/model/type/Date.js +1 -1
  242. package/src/sap/ui/model/type/DateInterval.js +1 -1
  243. package/src/sap/ui/model/type/DateTime.js +1 -1
  244. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  245. package/src/sap/ui/model/type/FileSize.js +1 -1
  246. package/src/sap/ui/model/type/Float.js +1 -1
  247. package/src/sap/ui/model/type/Integer.js +1 -1
  248. package/src/sap/ui/model/type/String.js +1 -1
  249. package/src/sap/ui/model/type/Time.js +1 -1
  250. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  251. package/src/sap/ui/model/type/Unit.js +1 -1
  252. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  253. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  254. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  255. package/src/sap/ui/test/generic/TestBase.js +1 -1
  256. package/src/sap/ui/util/Storage.js +1 -1
  257. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  258. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  259. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  260. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  261. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  262. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  263. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  264. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  265. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  266. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  267. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  268. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  269. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  270. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  271. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  272. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  273. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  274. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  275. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  276. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  277. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  278. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  279. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  280. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  281. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  282. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  283. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  284. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  285. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  286. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  287. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  288. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  289. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  290. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  291. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  292. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  293. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  294. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  295. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  296. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  297. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  298. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  299. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  300. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  301. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  302. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  303. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  304. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  305. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  306. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  307. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  308. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  309. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  310. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +126 -0
  311. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +9 -0
  312. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +31 -11
  313. package/test/sap/ui/core/qunit/odata/v4/lib/_Parser.qunit.js +8 -2
  314. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +34 -19
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.core
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.f
@@ -4,7 +4,7 @@ metadata:
4
4
  type: application
5
5
  framework:
6
6
  name: OpenUI5
7
- version: "1.121.1" #MainVersion#
7
+ version: "1.121.2" #MainVersion#
8
8
  libraries:
9
9
  - name: sap.m
10
10
  - name: sap.ui.layout
@@ -2667,6 +2667,59 @@ sap.ui.define([
2667
2667
  });
2668
2668
  });
2669
2669
 
2670
+ //*********************************************************************************************
2671
+ // Scenario: PATCH an entity with a key predicate consisting of a single key property of type
2672
+ // Edm.DateTimeOffset. The PATCH failed and a UI5 message is created.
2673
+ // SNOW: CS20240007200281
2674
+ QUnit.test("CS20240007200281: key property is Edm.DateTimeOffset", async function (assert) {
2675
+ const oModel = this.createSpecialCasesModel({autoExpandSelect : true});
2676
+ const sView = `
2677
+ <Table id="table" items="{/Artists(ArtistID='42',IsActiveEntity=true)/_Event}">
2678
+ <Input id="name" value="{Name}"/>
2679
+ </Table>`;
2680
+
2681
+ this.expectRequest("Artists(ArtistID='42',IsActiveEntity=true)/_Event"
2682
+ + "?$select=Name,TimeStamp&$skip=0&$top=100", {
2683
+ value : [
2684
+ {Name : "Taubertal Festival", TimeStamp : "08-08-2024T01:02:03Z"}
2685
+ ]
2686
+ })
2687
+ .expectChange("name", ["Taubertal Festival"]);
2688
+
2689
+ await this.createView(assert, sView, oModel);
2690
+ const aTableRows = this.oView.byId("table").getItems();
2691
+
2692
+ this.expectChange("name", ["Woodstock"])
2693
+ .expectRequest({
2694
+ method : "PATCH",
2695
+ url : "Artists(ArtistID='42',IsActiveEntity=true)"
2696
+ + "/_Event(08-08-2024T01%3A02%3A03Z)",
2697
+ payload : {Name : "Woodstock"}
2698
+ }, createErrorInsideBatch({target : "Name"}))
2699
+ .expectMessages([{
2700
+ code : "CODE",
2701
+ message : "Request intentionally failed",
2702
+ persistent : true,
2703
+ target : "/Artists(ArtistID='42',IsActiveEntity=true)"
2704
+ + "/_Event(08-08-2024T01%3A02%3A03Z)/Name",
2705
+ technical : true,
2706
+ type : "Error"
2707
+ }]);
2708
+
2709
+ this.oLogMock.expects("error")
2710
+ .withArgs("Failed to update path /Artists(ArtistID='42',IsActiveEntity=true)"
2711
+ + "/_Event(08-08-2024T01%3A02%3A03Z)/Name");
2712
+
2713
+ const oInput = aTableRows[0].getCells()[0];
2714
+ // code under test
2715
+ oInput.getBinding("value").setValue("Woodstock");
2716
+
2717
+ await this.waitForChanges(assert);
2718
+
2719
+ await this.checkValueState(assert, oInput, "Error",
2720
+ "Request intentionally failed");
2721
+ });
2722
+
2670
2723
  //*********************************************************************************************
2671
2724
  // Scenario: Minimal test for an absolute ODataPropertyBinding. This scenario is comparable with
2672
2725
  // "FavoriteProduct" in the SalesOrders application.
@@ -15188,6 +15241,79 @@ sap.ui.define([
15188
15241
  ]);
15189
15242
  });
15190
15243
  });
15244
+
15245
+ //*********************************************************************************************
15246
+ // Scenario: We simulate parts of a file upload here. Initially, the Edm.Stream property is
15247
+ // missing from the response (of course) and a late property request is sent leading to
15248
+ // "Picture@$ui5.noData : true" being set. File upload happens outside the model and only a file
15249
+ // name would be PATCHed, this is omitted here. Removal of the file requires the model to PATCH
15250
+ // a null value, which ruins the URL. Thus the property is reset to undefined on the client side
15251
+ // only. This must not prevent a side effect from setting "Picture@$ui5.noData : true" again!
15252
+ // Thus upload and removal can be repeated (endlessly) while a URL is implicitly available for
15253
+ // up- and download at all times.
15254
+ // SNOW: DINC0088146
15255
+ QUnit.test("DINC0088146", async function (assert) {
15256
+ const oModel = this.createSpecialCasesModel({autoExpandSelect : true});
15257
+ const sView = `
15258
+ <Table id="list" items="{/Artists}">
15259
+ <Text id="id" text="{ArtistID}"/>
15260
+ </Table>
15261
+ <FlexBox id="detail">
15262
+ <Text id="link" text="{Picture}"/>
15263
+ </FlexBox>`;
15264
+ const sLink = "/special/cases/Artists(ArtistID='42',IsActiveEntity=true)/Picture";
15265
+
15266
+ this.expectRequest("Artists?$select=ArtistID,IsActiveEntity&$skip=0&$top=100", {
15267
+ value : [{
15268
+ ArtistID : "42",
15269
+ IsActiveEntity : true
15270
+ }]
15271
+ })
15272
+ .expectChange("link");
15273
+
15274
+ await this.createView(assert, sView, oModel);
15275
+
15276
+ this.expectRequest("Artists(ArtistID='42',IsActiveEntity=true)?$select=Picture", {
15277
+ ArtistID : "42",
15278
+ // Picture (Edm.Stream) missing here
15279
+ "Picture@odata.mediaContentType" : null
15280
+ })
15281
+ .expectChange("link", sLink);
15282
+
15283
+ const oContext = this.oView.byId("list").getItems()[0].getBindingContext();
15284
+ this.oView.byId("detail").setBindingContext(oContext);
15285
+
15286
+ await this.waitForChanges(assert, "detail");
15287
+
15288
+ for (let i = 0; i < 3; i += 1) {
15289
+ this.expectChange("link", null)
15290
+ .expectChange("link", sLink)
15291
+ .expectRequest({
15292
+ method : "PATCH",
15293
+ url : "Artists(ArtistID='42',IsActiveEntity=true)",
15294
+ payload : {Picture : null}
15295
+ })
15296
+ .expectRequest("Artists?$select=ArtistID,IsActiveEntity,Picture"
15297
+ + "&$filter=ArtistID eq '42' and IsActiveEntity eq true", {
15298
+ value : [{
15299
+ ArtistID : "42",
15300
+ IsActiveEntity : true,
15301
+ // Picture (Edm.Stream) missing here
15302
+ "Picture@odata.mediaContentType" : null
15303
+ }]
15304
+ })
15305
+ .expectChange("link", sLink); // due to "Picture@$ui5.noData : true" being set
15306
+
15307
+ // eslint-disable-next-line no-await-in-loop
15308
+ await Promise.all([
15309
+ oContext.setProperty("Picture", null),
15310
+ oContext.requestSideEffects(["Picture"]),
15311
+ oContext.setProperty("Picture", undefined, /*sGroupId*/null),
15312
+ this.waitForChanges(assert, "remove #" + i)
15313
+ ]);
15314
+ }
15315
+ });
15316
+
15191
15317
  //*********************************************************************************************
15192
15318
  // Scenario: Writing instance annotations via create and update.
15193
15319
  // 1. POST: Initial payload containing instance annotations
@@ -26,6 +26,14 @@
26
26
  <NavigationProperty Name="_Publication" Type="Collection(special.cases.PublicationsType)" Partner="_Artist"/>
27
27
  <NavigationProperty Name="BestFriend" Type="special.cases.ArtistsType" />
28
28
  <NavigationProperty Name="_Friend" Type="Collection(special.cases.ArtistsType)" />
29
+ <NavigationProperty Name="_Event" Type="Collection(special.cases.EventsType)" />
30
+ </EntityType>
31
+ <EntityType Name="EventsType">
32
+ <Key>
33
+ <PropertyRef Name="TimeStamp"/>
34
+ </Key>
35
+ <Property Name="TimeStamp" Type="Edm.DateTimeOffset" Nullable="false"/>
36
+ <Property Name="Name" Type="Edm.String"/>
29
37
  </EntityType>
30
38
  <EntityType Name="DraftAdministrativeDataType">
31
39
  <Key>
@@ -185,6 +193,7 @@
185
193
  <NavigationPropertyBinding Path="BestFriend" Target="Artists"/>
186
194
  <NavigationPropertyBinding Path="SiblingEntity" Target="Artists" />
187
195
  </EntitySet>
196
+ <EntitySet Name="Events" EntityType="special.cases.EventsType"/>
188
197
  <EntitySet Name="As" EntityType="special.cases.A">
189
198
  <NavigationPropertyBinding Path="AtoEntityWithComplexKey"
190
199
  Target="EntitiesWithComplexKey"/>
@@ -1468,12 +1468,16 @@ sap.ui.define([
1468
1468
  });
1469
1469
 
1470
1470
  //*********************************************************************************************
1471
- QUnit.test("updateSelected: private annotations", function (assert) {
1471
+ [false, true].forEach((bUndefined) => {
1472
+ QUnit.test("updateSelected: private annotations, undefined: " + bUndefined, function (assert) {
1472
1473
  var oBinding = {},
1473
1474
  oContext = {oBinding : oBinding},
1474
1475
  // oContext is recursive and must not be descended into
1475
1476
  oOldValue = {"@$ui5._" : {context : oContext}};
1476
1477
 
1478
+ if (bUndefined) {
1479
+ oOldValue.foo = undefined; // MUST NOT make a difference
1480
+ }
1477
1481
  oBinding.oContext = oContext;
1478
1482
  this.mock(_Helper).expects("fireChange").withExactArgs("~mChangeListener~", "foo",
1479
1483
  undefined, true);
@@ -1483,18 +1487,30 @@ sap.ui.define([
1483
1487
  {"@$ui5._" : {predicate : "(1)"}, bar : {}},
1484
1488
  ["foo", "bar/*"]);
1485
1489
 
1486
- assert.deepEqual(oOldValue,
1487
- {"@$ui5._" : {context : oContext, predicate : "(1)"}, bar : {},
1488
- "foo@$ui5.noData" : true});
1490
+ assert.deepEqual(oOldValue, bUndefined ? {
1491
+ "@$ui5._" : {context : oContext, predicate : "(1)"},
1492
+ bar : {},
1493
+ foo : undefined,
1494
+ "foo@$ui5.noData" : true
1495
+ } : {
1496
+ "@$ui5._" : {context : oContext, predicate : "(1)"},
1497
+ bar : {},
1498
+ "foo@$ui5.noData" : true
1499
+ });
1489
1500
  });
1501
+ });
1490
1502
 
1491
1503
  //*********************************************************************************************
1492
- QUnit.test("updateSelected: create annotation", function (assert) {
1504
+ [false, true].forEach((bUndefined) => {
1505
+ QUnit.test("updateSelected: create annotation, undefined: " + bUndefined, function (assert) {
1493
1506
  var oBinding = {},
1494
1507
  oHelperMock = this.mock(_Helper),
1495
1508
  oOldValue0 = {},
1496
1509
  oOldValue1 = {};
1497
1510
 
1511
+ if (bUndefined) {
1512
+ oOldValue0.foo = undefined; // MUST NOT make a difference
1513
+ }
1498
1514
  oBinding.oContext = {oBinding : oBinding};
1499
1515
  oHelperMock.expects("fireChange").withExactArgs("~mChangeListener~", "foo", undefined,
1500
1516
  true);
@@ -1510,20 +1526,24 @@ sap.ui.define([
1510
1526
  _Helper.updateSelected("~mChangeListener~", "", oOldValue0,
1511
1527
  {baz : {bar : {}}}, ["foo", "bar", "baz/bar"]);
1512
1528
 
1513
- assert.deepEqual(oOldValue0, {
1514
- "foo@$ui5.noData" : true,
1529
+ assert.deepEqual(oOldValue0, bUndefined ? {
1515
1530
  "bar@$ui5.noData" : true,
1516
- baz : {bar : {}}
1531
+ baz : {bar : {}},
1532
+ foo : undefined,
1533
+ "foo@$ui5.noData" : true
1534
+ } : {
1535
+ "bar@$ui5.noData" : true,
1536
+ baz : {bar : {}},
1537
+ "foo@$ui5.noData" : true
1517
1538
  });
1518
1539
 
1519
1540
  // code under test (do not create annotation)
1520
1541
  _Helper.updateSelected("~mChangeListener~", "", oOldValue1,
1521
1542
  {baz : {bar : {}}}, ["foo", "bar", "baz/bar"], undefined, /*bOkIfMissing*/ true);
1522
1543
 
1523
- assert.deepEqual(oOldValue1, {
1524
- baz : {bar : {}}
1525
- });
1544
+ assert.deepEqual(oOldValue1, {baz : {bar : {}}});
1526
1545
  });
1546
+ });
1527
1547
 
1528
1548
  //*********************************************************************************************
1529
1549
  QUnit.test("updateSelected: $postBodyCollection", function (assert) {
@@ -382,6 +382,11 @@ sap.ui.define([
382
382
  string : "$filter=foo eq %2b1e%2B10",
383
383
  parsed : {$filter : "foo eq %2b1e%2B10"},
384
384
  converted : {$filter : "foo eq %2b1e%2B10"}
385
+ }, {
386
+ // "$filter=foo eq 2016-01-13T14:08:31Z"
387
+ string : "$filter=foo eq 2016-01-13T14%3a08%3A31Z",
388
+ parsed : {$filter : "foo eq 2016-01-13T14%3a08%3A31Z"},
389
+ converted : {$filter : "foo eq 2016-01-13T14%3a08%3A31Z"}
385
390
  }, {
386
391
  // "$filter=foo eq ' a ' ' ' "
387
392
  string : "$filter=foo eq %27a%27%27%27",
@@ -838,8 +843,9 @@ sap.ui.define([
838
843
  //*********************************************************************************************
839
844
  QUnit.test("parseKeyPredicate", function (assert) {
840
845
  [
841
- "false", "true", "3.14", "2016-04-23", "2016-01-13T14:08:31Z", "-1", "'foo'",
842
- "'foo''bar'", "'foo/bar'", "F050568D-393C-1ED4-9D97-E65F0F3FCC23"
846
+ "false", "true", "3.14", "2016-04-23", "2016-01-13T14:08:31Z",
847
+ "2016-01-13T14%3a08%3A31Z", "-1", "'foo'", "'foo''bar'", "'foo/bar'",
848
+ "F050568D-393C-1ED4-9D97-E65F0F3FCC23"
843
849
  ].forEach(function (sValue) {
844
850
  var sPredicate = "(" + sValue + ")";
845
851
 
@@ -1427,19 +1427,29 @@ sap.ui.define([
1427
1427
  });
1428
1428
 
1429
1429
  //*********************************************************************************************
1430
+ [false, true].forEach(function (bWithCredentials) {
1430
1431
  [false, true].forEach(function (bSuccess) {
1431
- QUnit.test("refreshSecurityToken: success = " + bSuccess, function (assert) {
1432
+ const sTitle = "refreshSecurityToken, success=" + bSuccess + ", withCredentials="
1433
+ + bWithCredentials;
1434
+ QUnit.test(sTitle, function (assert) {
1432
1435
  var oError = {},
1433
1436
  oPromise,
1434
1437
  mHeaders = {},
1435
- mRequestHeaders = {},
1438
+ oAjaxSettings = {
1439
+ headers : "~requestHeaders~",
1440
+ method : "HEAD"
1441
+ },
1436
1442
  oRequestor = _Requestor.create("/Service/", oModelInterface, mHeaders,
1437
- {"sap-client" : "123"}),
1443
+ {"sap-client" : "123"}, /*sODataVersion*/undefined, bWithCredentials),
1438
1444
  oTokenRequiredResponse = {};
1439
1445
 
1446
+ if (bWithCredentials) {
1447
+ oAjaxSettings.xhrFields = {withCredentials : true};
1448
+ }
1449
+
1440
1450
  this.mock(Object).expects("assign").twice()
1441
1451
  .withExactArgs({}, sinon.match.same(mHeaders), {"X-CSRF-Token" : "Fetch"})
1442
- .returns(mRequestHeaders);
1452
+ .returns("~requestHeaders~");
1443
1453
  this.mock(_Helper).expects("createError")
1444
1454
  .exactly(bSuccess ? 0 : 2)
1445
1455
  .withExactArgs(sinon.match.same(oTokenRequiredResponse),
@@ -1447,10 +1457,7 @@ sap.ui.define([
1447
1457
  .returns(oError);
1448
1458
 
1449
1459
  this.mock(jQuery).expects("ajax").twice()
1450
- .withExactArgs("/Service/?sap-client=123", sinon.match({
1451
- headers : sinon.match.same(mRequestHeaders),
1452
- method : "HEAD"
1453
- }))
1460
+ .withExactArgs("/Service/?sap-client=123", oAjaxSettings)
1454
1461
  .callsFake(function () {
1455
1462
  var jqXHR;
1456
1463
 
@@ -1503,6 +1510,7 @@ sap.ui.define([
1503
1510
  });
1504
1511
  });
1505
1512
  });
1513
+ });
1506
1514
 
1507
1515
  //*********************************************************************************************
1508
1516
  QUnit.test("refreshSecurityToken: keep fetching even if none is sent", function (assert) {
@@ -4424,28 +4432,35 @@ sap.ui.define([
4424
4432
  });
4425
4433
 
4426
4434
  //*****************************************************************************************
4427
- QUnit.test("setSessionContext: successful ping", function (assert) {
4428
- var oExpectation,
4429
- oRequestor = _Requestor.create(sServiceUrl, oModelInterface, {}, {
4430
- "sap-client" : "120"
4431
- });
4435
+ [false, true].forEach(function (bWithCredentials) {
4436
+ const sTitle = "setSessionContext: successful ping, bWithCredentials: " + bWithCredentials;
4437
+ QUnit.test(sTitle, function (assert) {
4438
+ var oAjaxSettings = {
4439
+ headers : {
4440
+ "SAP-ContextId" : "context"
4441
+ },
4442
+ method : "HEAD"
4443
+ },
4444
+ oExpectation,
4445
+ oRequestor = _Requestor.create(sServiceUrl, oModelInterface, {}, {"sap-client" : "120"},
4446
+ /*sODataVersion*/undefined, bWithCredentials);
4432
4447
 
4448
+ if (bWithCredentials) {
4449
+ oAjaxSettings.xhrFields = {withCredentials : true};
4450
+ }
4433
4451
  oExpectation = this.mock(window).expects("setInterval")
4434
4452
  .withExactArgs(sinon.match.func, 115000);
4435
4453
 
4436
4454
  oRequestor.setSessionContext("context", "120");
4437
4455
 
4438
- this.mock(jQuery).expects("ajax").withExactArgs(sServiceUrl + "?sap-client=120", {
4439
- headers : sinon.match({
4440
- "SAP-ContextId" : "context"
4441
- }),
4442
- method : "HEAD"
4443
- })
4456
+ this.mock(jQuery).expects("ajax")
4457
+ .withExactArgs(sServiceUrl + "?sap-client=120", oAjaxSettings)
4444
4458
  .returns(createMock(assert, undefined, "OK", {}));
4445
4459
 
4446
4460
  // code under test - call setInterval function
4447
4461
  oExpectation.callArg(0);
4448
4462
  });
4463
+ });
4449
4464
 
4450
4465
  //*****************************************************************************************
4451
4466
  [false, true].forEach(function (bErrorId) {