@openui5/sap.ui.core 1.120.0 → 1.120.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +2 -2
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/Formatting.js +30 -14
  13. package/src/sap/base/i18n/LanguageTag.js +1 -1
  14. package/src/sap/base/i18n/Localization.js +1 -2
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  17. package/src/sap/base/util/restricted/_castArray.js +1 -1
  18. package/src/sap/base/util/restricted/_compact.js +1 -1
  19. package/src/sap/base/util/restricted/_curry.js +1 -1
  20. package/src/sap/base/util/restricted/_debounce.js +1 -1
  21. package/src/sap/base/util/restricted/_difference.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_flatten.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_intersection.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isNil.js +1 -1
  36. package/src/sap/base/util/restricted/_max.js +1 -1
  37. package/src/sap/base/util/restricted/_merge.js +1 -1
  38. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  39. package/src/sap/base/util/restricted/_min.js +1 -1
  40. package/src/sap/base/util/restricted/_omit.js +1 -1
  41. package/src/sap/base/util/restricted/_pick.js +1 -1
  42. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  43. package/src/sap/base/util/restricted/_throttle.js +1 -1
  44. package/src/sap/base/util/restricted/_toArray.js +1 -1
  45. package/src/sap/base/util/restricted/_union.js +1 -1
  46. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  47. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  48. package/src/sap/base/util/restricted/_uniq.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  51. package/src/sap/base/util/restricted/_without.js +1 -1
  52. package/src/sap/base/util/restricted/_xor.js +1 -1
  53. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  54. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  57. package/src/sap/ui/Device.js +3 -3
  58. package/src/sap/ui/Global.js +4 -4
  59. package/src/sap/ui/base/BindingParser.js +4 -4
  60. package/src/sap/ui/base/DataType.js +5 -5
  61. package/src/sap/ui/base/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +9 -65
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +25 -1
  66. package/src/sap/ui/base/ManagedObjectRegistry.js +186 -169
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +3 -3
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +55 -150
  73. package/src/sap/ui/core/ComponentContainer.js +5 -5
  74. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  75. package/src/sap/ui/core/ComponentRegistry.js +153 -0
  76. package/src/sap/ui/core/ComponentSupport.js +3 -3
  77. package/src/sap/ui/core/Configuration.js +9 -7
  78. package/src/sap/ui/core/Control.js +6 -4
  79. package/src/sap/ui/core/Core.js +19 -71
  80. package/src/sap/ui/core/CustomData.js +1 -1
  81. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  82. package/src/sap/ui/core/Element.js +30 -142
  83. package/src/sap/ui/core/ElementMetadata.js +1 -1
  84. package/src/sap/ui/core/ElementRegistry.js +159 -0
  85. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  86. package/src/sap/ui/core/EventBus.js +1 -1
  87. package/src/sap/ui/core/ExtensionPoint.js +5 -5
  88. package/src/sap/ui/core/FocusHandler.js +3 -2
  89. package/src/sap/ui/core/Fragment.js +7 -7
  90. package/src/sap/ui/core/HTML.js +1 -1
  91. package/src/sap/ui/core/History.js +1 -1
  92. package/src/sap/ui/core/Icon.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +1 -1
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/Lib.js +62 -32
  102. package/src/sap/ui/core/ListItem.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +55 -11
  106. package/src/sap/ui/core/Manifest.js +4 -5
  107. package/src/sap/ui/core/Message.js +2 -1
  108. package/src/sap/ui/core/Messaging.js +2 -2
  109. package/src/sap/ui/core/RenderManager.js +1 -1
  110. package/src/sap/ui/core/Renderer.js +1 -1
  111. package/src/sap/ui/core/ResizeHandler.js +1 -1
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/Shortcut.js +15 -9
  115. package/src/sap/ui/core/StaticArea.js +4 -1
  116. package/src/sap/ui/core/Theming.js +3 -3
  117. package/src/sap/ui/core/Title.js +1 -1
  118. package/src/sap/ui/core/TooltipBase.js +1 -1
  119. package/src/sap/ui/core/UIArea.js +54 -12
  120. package/src/sap/ui/core/UIAreaRegistry.js +150 -0
  121. package/src/sap/ui/core/UIComponent.js +3 -3
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +1 -1
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/XMLTemplateProcessor.js +95 -76
  128. package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
  129. package/src/sap/ui/core/cldr/cy.json +12 -3
  130. package/src/sap/ui/core/cldr/en_AU.json +48 -12
  131. package/src/sap/ui/core/cldr/en_GB.json +24 -6
  132. package/src/sap/ui/core/cldr/en_HK.json +24 -6
  133. package/src/sap/ui/core/cldr/en_IE.json +24 -6
  134. package/src/sap/ui/core/cldr/en_IN.json +24 -6
  135. package/src/sap/ui/core/cldr/en_NZ.json +24 -6
  136. package/src/sap/ui/core/cldr/en_PG.json +24 -6
  137. package/src/sap/ui/core/cldr/en_SG.json +24 -6
  138. package/src/sap/ui/core/cldr/en_ZA.json +24 -6
  139. package/src/sap/ui/core/cldr/es.json +288 -72
  140. package/src/sap/ui/core/cldr/es_AR.json +288 -72
  141. package/src/sap/ui/core/cldr/es_BO.json +288 -72
  142. package/src/sap/ui/core/cldr/es_CL.json +144 -36
  143. package/src/sap/ui/core/cldr/es_CO.json +144 -36
  144. package/src/sap/ui/core/cldr/es_MX.json +288 -72
  145. package/src/sap/ui/core/cldr/fa.json +48 -12
  146. package/src/sap/ui/core/cldr/id.json +56 -14
  147. package/src/sap/ui/core/cldr/kk.json +184 -46
  148. package/src/sap/ui/core/cldr/ms.json +56 -14
  149. package/src/sap/ui/core/cldr/nb.json +36 -9
  150. package/src/sap/ui/core/cldr/nl.json +264 -66
  151. package/src/sap/ui/core/cldr/nl_BE.json +264 -66
  152. package/src/sap/ui/core/cldr/pt.json +288 -72
  153. package/src/sap/ui/core/cldr/pt_PT.json +288 -72
  154. package/src/sap/ui/core/cldr/sr.json +96 -24
  155. package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
  156. package/src/sap/ui/core/date/Islamic.js +4 -4
  157. package/src/sap/ui/core/date/UI5Date.js +1 -1
  158. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  159. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  160. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  161. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  162. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  163. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  164. package/src/sap/ui/core/format/DateFormat.js +25 -13
  165. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  166. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  167. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  168. package/src/sap/ui/core/library.js +9 -3
  169. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  170. package/src/sap/ui/core/message/Message.js +7 -7
  171. package/src/sap/ui/core/message/MessageManager.js +1 -1
  172. package/src/sap/ui/core/message/MessageParser.js +1 -1
  173. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  174. package/src/sap/ui/core/message/MessageType.js +1 -1
  175. package/src/sap/ui/core/mvc/Controller.js +15 -13
  176. package/src/sap/ui/core/mvc/ControllerExtension.js +7 -5
  177. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
  178. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  179. package/src/sap/ui/core/mvc/EventHandlerResolver.js +4 -4
  180. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  181. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  182. package/src/sap/ui/core/mvc/JSView.js +1 -1
  183. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  184. package/src/sap/ui/core/mvc/View.js +21 -10
  185. package/src/sap/ui/core/mvc/XMLView.js +8 -2
  186. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  187. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  188. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  189. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  190. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  191. package/src/sap/ui/core/routing/History.js +1 -1
  192. package/src/sap/ui/core/routing/Route.js +6 -6
  193. package/src/sap/ui/core/routing/Router.js +6 -6
  194. package/src/sap/ui/core/routing/Targets.js +3 -3
  195. package/src/sap/ui/core/routing/async/Target.js +2 -2
  196. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  197. package/src/sap/ui/core/rules/Misc.support.js +3 -3
  198. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
  199. package/src/sap/ui/core/search/SearchProvider.js +2 -1
  200. package/src/sap/ui/core/service/Service.js +1 -1
  201. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  202. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  203. package/src/sap/ui/core/support/Plugin.js +1 -1
  204. package/src/sap/ui/core/support/Support.js +1 -1
  205. package/src/sap/ui/core/support/plugins/ControlTree.js +7 -5
  206. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  207. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  208. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  209. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  210. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  211. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  212. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  213. package/src/sap/ui/core/theming/Parameters.js +7 -7
  214. package/src/sap/ui/core/theming/ThemeHelper.js +2 -2
  215. package/src/sap/ui/core/theming/ThemeManager.js +2 -2
  216. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  217. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  218. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  219. package/src/sap/ui/core/tmpl/Template.js +1 -1
  220. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  221. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  222. package/src/sap/ui/core/util/Export.js +1 -1
  223. package/src/sap/ui/core/util/ExportCell.js +1 -1
  224. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  225. package/src/sap/ui/core/util/ExportRow.js +1 -1
  226. package/src/sap/ui/core/util/ExportType.js +1 -1
  227. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  228. package/src/sap/ui/core/util/File.js +1 -1
  229. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  230. package/src/sap/ui/core/util/MockServer.js +34 -3
  231. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  232. package/src/sap/ui/core/util/_LocalizationHelper.js +122 -0
  233. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  234. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  235. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  236. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  237. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  238. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  239. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  240. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  241. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  242. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  243. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  244. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  245. package/src/sap/ui/debug/ControlTree.js +1 -1
  246. package/src/sap/ui/debug/DebugEnv.js +1 -1
  247. package/src/sap/ui/debug/PropertyList.js +1 -1
  248. package/src/sap/ui/model/Binding.js +2 -2
  249. package/src/sap/ui/model/ClientListBinding.js +6 -3
  250. package/src/sap/ui/model/ClientModel.js +1 -1
  251. package/src/sap/ui/model/ClientTreeBinding.js +6 -3
  252. package/src/sap/ui/model/CompositeDataState.js +5 -5
  253. package/src/sap/ui/model/CompositeType.js +1 -1
  254. package/src/sap/ui/model/DataState.js +10 -10
  255. package/src/sap/ui/model/FilterProcessor.js +19 -16
  256. package/src/sap/ui/model/ManagedObjectBindingSupport.js +2 -2
  257. package/src/sap/ui/model/MetaModel.js +1 -1
  258. package/src/sap/ui/model/Model.js +10 -8
  259. package/src/sap/ui/model/SelectionModel.js +1 -1
  260. package/src/sap/ui/model/SimpleType.js +1 -1
  261. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  262. package/src/sap/ui/model/Type.js +1 -1
  263. package/src/sap/ui/model/analytics/odata4analytics.js +6 -6
  264. package/src/sap/ui/model/json/JSONModel.js +1 -1
  265. package/src/sap/ui/model/message/MessageModel.js +1 -1
  266. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  267. package/src/sap/ui/model/odata/ODataListBinding.js +5 -2
  268. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -3
  269. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  270. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  271. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  272. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  273. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  274. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  275. package/src/sap/ui/model/odata/type/Date.js +1 -1
  276. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  277. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  278. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  279. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  280. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  281. package/src/sap/ui/model/odata/type/Double.js +1 -1
  282. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  283. package/src/sap/ui/model/odata/type/Int.js +1 -1
  284. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  285. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  286. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  287. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  288. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  289. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  290. package/src/sap/ui/model/odata/type/Single.js +1 -1
  291. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  292. package/src/sap/ui/model/odata/type/String.js +1 -1
  293. package/src/sap/ui/model/odata/type/Time.js +1 -1
  294. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  295. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  296. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  297. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  298. package/src/sap/ui/model/odata/v2/ODataListBinding.js +5 -2
  299. package/src/sap/ui/model/odata/v2/ODataModel.js +9 -58
  300. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -3
  301. package/src/sap/ui/model/odata/v4/Context.js +32 -27
  302. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
  303. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  304. package/src/sap/ui/model/odata/v4/ODataListBinding.js +198 -155
  305. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
  306. package/src/sap/ui/model/odata/v4/ODataModel.js +9 -4
  307. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -6
  308. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  309. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +220 -85
  310. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +33 -20
  311. package/src/sap/ui/model/odata/v4/lib/_Cache.js +70 -18
  312. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +9 -5
  313. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  314. package/src/sap/ui/model/type/Boolean.js +1 -1
  315. package/src/sap/ui/model/type/Currency.js +1 -1
  316. package/src/sap/ui/model/type/Date.js +1 -1
  317. package/src/sap/ui/model/type/DateInterval.js +1 -1
  318. package/src/sap/ui/model/type/DateTime.js +1 -1
  319. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  320. package/src/sap/ui/model/type/FileSize.js +1 -1
  321. package/src/sap/ui/model/type/Float.js +1 -1
  322. package/src/sap/ui/model/type/Integer.js +1 -1
  323. package/src/sap/ui/model/type/String.js +1 -1
  324. package/src/sap/ui/model/type/Time.js +1 -1
  325. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  326. package/src/sap/ui/model/type/Unit.js +1 -1
  327. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  328. package/src/sap/ui/performance/trace/Interaction.js +20 -16
  329. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  330. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +5 -5
  331. package/src/sap/ui/test/BranchTracking.js +4 -0
  332. package/src/sap/ui/test/actions/EnterText.js +1 -1
  333. package/src/sap/ui/test/generic/GenericTestCollection.js +1 -0
  334. package/src/sap/ui/test/generic/TestBase.js +4 -4
  335. package/src/sap/ui/test/generic/Utils.js +3 -2
  336. package/src/sap/ui/util/Storage.js +1 -1
  337. package/src/ui5loader-autoconfig.js +23 -15
  338. package/src/ui5loader.js +9 -4
  339. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
  340. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
  341. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
  342. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
  343. package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
  344. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
  345. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
  346. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
  347. package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
  348. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
  349. package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
  350. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
  351. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
  352. package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
  353. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
  354. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
  355. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
  356. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
  358. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
  359. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
  360. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
  362. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
  363. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
  364. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
  365. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +19 -1
  366. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
  367. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
  368. package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
  369. package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
  370. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  371. package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
  372. package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
  373. package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
  374. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  375. package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
  376. package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
  377. package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
  378. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
  380. package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
  381. package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
  382. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  383. package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
  384. package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
  385. package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
  386. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  387. package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
  388. package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
  389. package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
  390. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
  392. package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
  393. package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
  394. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  395. package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
  396. package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
  397. package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
  398. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  399. package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
  400. package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
  401. package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
  402. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  403. package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
  404. package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
  405. package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
  406. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  407. package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
  408. package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
  409. package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
  410. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  411. package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
  412. package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
  413. package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
  414. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  415. package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
  416. package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
  417. package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
  418. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  419. package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
  420. package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
  421. package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
  422. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  423. package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
  424. package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
  425. package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
  426. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
  428. package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
  429. package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
  430. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  431. package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
  432. package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
  433. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  434. package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
  435. package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
  436. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  437. package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
  438. package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
  439. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  440. package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
  441. package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
  442. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  443. package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
  444. package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
  445. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  446. package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
  447. package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
  448. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  449. package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
  450. package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
  451. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  452. package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
  453. package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
  454. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  455. package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
  456. package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
  457. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  458. package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
  459. package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
  460. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  461. package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
  462. package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
  463. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  464. package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
  465. package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
  466. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  467. package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
  468. package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
  469. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  470. package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
  471. package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
  472. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  473. package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
  474. package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
  475. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  476. package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
  477. package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
  478. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  479. package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
  480. package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
  481. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
  483. package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
  484. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
  486. package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
  487. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  488. package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
  489. package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
  490. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  491. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
  492. package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
  493. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  494. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
  495. package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
  496. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  497. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
  498. package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
  499. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  500. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
  501. package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
  502. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  503. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
  504. package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
  505. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
  507. package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
  508. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  509. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
  510. package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
  511. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  512. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
  513. package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
  514. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  515. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
  516. package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
  517. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  518. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
  519. package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
  520. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  521. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
  522. package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
  523. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  524. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
  525. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
  526. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  527. package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
  528. package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
  529. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
  530. package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
  531. package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
  532. package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
  533. package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
  534. package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
  535. package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
  536. package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
  537. package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
  538. package/test/sap/ui/core/qunit/Lib.qunit.js +59 -0
  539. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +86 -3
  540. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
  541. package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
  542. package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
  543. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
  544. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
  545. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
  546. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
  547. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +19 -0
  548. package/test/sap/ui/core/qunit/component/Component.qunit.js +35 -11
  549. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
  550. package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
  551. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
  552. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
  553. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
  554. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
  555. package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
  556. package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +4 -4
  557. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
  558. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
  559. package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
  560. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
  561. package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
  562. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -2
  563. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -2
  564. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +58 -16
  565. package/test/sap/ui/core/qunit/model/Model.qunit.js +43 -2
  566. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
  567. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
  568. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
  569. package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
  570. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
  571. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
  572. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
  573. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
  574. package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
  575. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
  576. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
  577. package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
  578. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
  579. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
  580. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
  581. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
  582. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
  583. package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
  584. package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
  585. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +16 -16
  586. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +69 -0
  587. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +2 -11
  588. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +17 -17
  589. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
  590. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
  591. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
  592. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
  593. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
  594. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2148 -124
  595. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
  596. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
  597. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +453 -125
  598. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +256 -8
  600. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
  601. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +40 -1
  602. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
  603. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
  604. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
  605. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
  606. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
  607. package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
  608. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
  609. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
  610. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
  611. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
  612. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
  613. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
  614. package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
  615. package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
  616. package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
  617. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  618. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
  619. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
  620. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  621. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
  622. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
  623. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
  624. package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
  625. package/test/sap/ui/core/relnotes/changes-1.120.json +307 -0
@@ -82,7 +82,7 @@ sap.ui.require([
82
82
  });
83
83
 
84
84
  QUnit.test("Type Conversion: Convert all types", function(assert) {
85
- assert.expect(18);
85
+ assert.expect(20);
86
86
  var myEnum = {
87
87
  enumKey: "enumValue"
88
88
  };
@@ -144,7 +144,22 @@ sap.ui.require([
144
144
  type: BaseConfiguration.Type.Object,
145
145
  external: true
146
146
  }), {objectAsStringKey: "objectAsStringValue"}, "BaseConfiguration.get for param 'sapUiParamObjectAsString' returns correct value '{objectAsStringKey: \"objectAsStringValue\"}'");
147
+ assert.deepEqual(BaseConfiguration.get({
148
+ name: "sapUiParamMergedObject",
149
+ type: BaseConfiguration.Type.Object,
150
+ external: true
151
+ }), {objectKeyUrl: "urlObject"}, "BaseConfiguration.get for param 'sapUiParamMergedObject' returns correct value '{objectKeyUrl: \"urlObject\"}'");
147
152
  BaseConfiguration._.invalidate();
153
+ assert.deepEqual(BaseConfiguration.get({
154
+ name: "sapUiParamMergedObject",
155
+ type: BaseConfiguration.Type.MergedObject,
156
+ external: true
157
+ }), {
158
+ objectKeyGlobal: "globalObject",
159
+ objectKeyBootstrap: "bootstrapObject",
160
+ objectKeyMeta: "metaObject",
161
+ objectKeyUrl: "urlObject"
162
+ }, "BaseConfiguration.get for param 'sapUiParamMergedObject' returns correct value '{objectKeyGlobal: \"globalObject\",objectKeyBootstrap: \"bootstrapObject\",objectKeyMeta: \"metaObject\",objectKeyUrl: \"urlObject\"}'");
148
163
  assert.strictEqual(BaseConfiguration.get({
149
164
  name: "sapUiParamString",
150
165
  type: BaseConfiguration.Type.String,
@@ -173,7 +188,7 @@ sap.ui.require([
173
188
  });
174
189
 
175
190
  QUnit.test("Type Conversion: Default values", function(assert) {
176
- assert.expect(10);
191
+ assert.expect(13);
177
192
 
178
193
  assert.strictEqual(BaseConfiguration.get({
179
194
  name: "sapUiParamDoesNotExist",
@@ -226,10 +241,27 @@ sap.ui.require([
226
241
  type: BaseConfiguration.Type.Object,
227
242
  defaultValue: undefined
228
243
  }), undefined, "BaseConfiguration.get for param 'sapUiParamDoesNotExist' returns correct value 'undefined'");
244
+ BaseConfiguration._.invalidate();
245
+ assert.deepEqual(BaseConfiguration.get({
246
+ name: "sapUiParamDoesNotExist",
247
+ type: BaseConfiguration.Type.MergedObject
248
+ }), {}, "BaseConfiguration.get for param 'sapUiParamDoesNotExist' returns correct value '{}'");
249
+ BaseConfiguration._.invalidate();
250
+ assert.deepEqual(BaseConfiguration.get({
251
+ name: "sapUiParamDoesNotExist",
252
+ type: BaseConfiguration.Type.MergedObject,
253
+ defaultValue: true
254
+ }), true, "BaseConfiguration.get for param 'sapUiParamDoesNotExist' returns provided default value 'true'");
255
+ BaseConfiguration._.invalidate();
256
+ assert.deepEqual(BaseConfiguration.get({
257
+ name: "sapUiParamDoesNotExist",
258
+ type: BaseConfiguration.Type.MergedObject,
259
+ defaultValue: undefined
260
+ }), undefined, "BaseConfiguration.get for param 'sapUiParamDoesNotExist' returns correct value 'undefined'");
229
261
  });
230
262
 
231
263
  QUnit.test("Type Conversion: Invalid usage of BaseConfiguration.get", function(assert) {
232
- assert.expect(8);
264
+ assert.expect(9);
233
265
  var myEnum = {
234
266
  enumKey: "enumValue"
235
267
  };
@@ -261,6 +293,13 @@ sap.ui.require([
261
293
  external: true
262
294
  });
263
295
  }, new TypeError("unsupported value"), "BaseConfiguration.get with type 'object' for param 'sapUiParamInteger' throws error 'unsupported value'");
296
+ assert.throws(function () {
297
+ BaseConfiguration.get({
298
+ name: "sapUiParamInteger",
299
+ type: BaseConfiguration.Type.MergedObject,
300
+ external: true
301
+ });
302
+ }, new TypeError("unsupported value"), "BaseConfiguration.get with type 'mergedObject' for param 'sapUiParamInteger' throws error 'unsupported value'");
264
303
  assert.throws(function () {
265
304
  BaseConfiguration.get({
266
305
  name: "sapUiParamInteger",
@@ -346,10 +385,10 @@ sap.ui.require([
346
385
  var oLogSpy = sinon.spy(sap.ui.loader._.logger, "error");
347
386
 
348
387
  // Change some parameter using the globalThis['sap-ui-config'] object
349
- globalThis["sap-ui-config"]["paramD"] = "hubelDubel";
350
- globalThis["sap-ui-config"]["xx-paramE"] = "hubelDubel";
351
- globalThis["sap-ui-config"]["notProvidedParamC"] = "hubelDubel";
352
- globalThis["sap-ui-config"]["notProvidedParamD"] = "hubelDubel";
388
+ globalThis["sap-ui-config"]["param-d"] = "hubelDubel";
389
+ globalThis["sap-ui-config"]["xx-param-e"] = "hubelDubel";
390
+ globalThis["sap-ui-config"]["not-provided-param-c"] = "hubelDubel";
391
+ globalThis["sap-ui-config"]["not-provided-param-d"] = "hubelDubel";
353
392
 
354
393
  // Change some parameter using WritableBootInstance.set
355
394
  oWritableBootInstance.set("sapUiParamG", "HubelDubel");
@@ -3,38 +3,41 @@
3
3
  "use strict";
4
4
 
5
5
  globalThis["sap-ui-config"] = {
6
- "paramA": "global",
7
- "paramB": "global",
8
- "paramC": "global",
9
- "paramD": "global",
10
- "xx-paramE": "xx-global",
6
+ "param-a": "global",
7
+ "param-b": "global",
8
+ "param-c": "global",
9
+ "param-d": "global",
10
+ "xx-param-e": "xx-global",
11
11
  "xxParamF": "xxGlobal",
12
- "paramG": "global",
13
- "paramH": "global",
14
- "paramBoolean": "true",
15
- "paramBooleanAsString": "X",
16
- "paramFunction": function () {
12
+ "param-g": "global",
13
+ "param-h": "global",
14
+ "param-boolean": "true",
15
+ "param-boolean-as-string": "X",
16
+ "param-function": function () {
17
17
  return "function";
18
18
  },
19
- "paramFunctionAsArray": [function () {
19
+ "param-function-as-array": [function () {
20
20
  return "functionAsArray";
21
21
  }, function () {
22
22
  return "functionAsArray";
23
23
  }],
24
- "paramCode": function () {
24
+ "param-code": function () {
25
25
  return "code";
26
26
  },
27
- "paramCodeAsString": "codeAsString",
28
- "paramObject": {
27
+ "param-code-as-string": "codeAsString",
28
+ "param-object": {
29
29
  objectKey: "object"
30
30
  },
31
- "paramObjectAsString": "{\"objectAsStringKey\": \"objectAsStringValue\"}",
32
- "paramString": "string",
33
- "paramStringArray": ["stringArray"],
34
- "paramStringArrayAsString": "stringArrayAsString,stringArrayAsStr",
35
- "paramInteger": 5,
36
- "paramNull": null,
37
- "paramEnum": "enumValue",
31
+ "param-merged-object": {
32
+ objectKeyGlobal: "globalObject"
33
+ },
34
+ "param-object-as-string": "{\"objectAsStringKey\": \"objectAsStringValue\"}",
35
+ "param-string": "string",
36
+ "param-string-array": ["stringArray"],
37
+ "param-string-array-as-string": "stringArrayAsString,stringArrayAsStr",
38
+ "param-integer": 5,
39
+ "param-null": null,
40
+ "param-enum": "enumValue",
38
41
  "paramlowercase": "lowercase"
39
42
  };
40
43
  })();
@@ -274,4 +274,23 @@ sap.ui.define([
274
274
 
275
275
  Formatting.detachChange(formattingChanged);
276
276
  });
277
+
278
+ QUnit.test("CustomIslamicCalendarData", function(assert) {
279
+ var aData = [{
280
+ "dateFormat": "A",
281
+ "islamicMonthStart": "14351201",
282
+ "gregDate": "20140925"
283
+ }, {
284
+ "dateFormat": "A",
285
+ "islamicMonthStart": "14360101",
286
+ "gregDate": "20141024"
287
+ }, {
288
+ "dateFormat": "A",
289
+ "islamicMonthStart": "14360201",
290
+ "gregDate": "20141123"
291
+ }];
292
+
293
+ Formatting.setCustomIslamicCalendarData(aData);
294
+ assert.deepEqual(Formatting.getCustomIslamicCalendarData(), aData, "The customizing data set can be retrieved");
295
+ });
277
296
  });
@@ -3,6 +3,7 @@ sap.ui.define([
3
3
  "sap/ui/qunit/utils/nextUIUpdate",
4
4
  'sap/ui/core/Component',
5
5
  'sap/ui/core/ComponentContainer',
6
+ 'sap/ui/core/ComponentRegistry',
6
7
  'sap/ui/core/Messaging',
7
8
  'sap/ui/core/UIComponentMetadata',
8
9
  'sap/ui/test/routing/Component',
@@ -12,13 +13,13 @@ sap.ui.define([
12
13
  'sap/base/util/LoaderExtensions',
13
14
  'sap/ui/core/Manifest',
14
15
  'sap/base/i18n/ResourceBundle'
15
- ], function (createAndAppendDiv, nextUIUpdate, Component, ComponentContainer, Messaging, UIComponentMetadata, SamplesRoutingComponent, SamplesRouterExtension, Log, deepExtend, LoaderExtensions, Manifest, ResourceBundle) {
16
+ ], function (createAndAppendDiv, nextUIUpdate, Component, ComponentContainer, ComponentRegistry, Messaging, UIComponentMetadata, SamplesRoutingComponent, SamplesRouterExtension, Log, deepExtend, LoaderExtensions, Manifest, ResourceBundle) {
16
17
 
17
18
  "use strict";
18
19
  /*global sinon, QUnit, foo*/
19
20
 
20
21
  function cleanUpRegistry() {
21
- Component.registry.forEach(function(oComponent) {
22
+ ComponentRegistry.forEach(function(oComponent) {
22
23
  oComponent.destroy();
23
24
  });
24
25
  }
@@ -129,7 +130,7 @@ sap.ui.define([
129
130
 
130
131
  QUnit.test("Factory Function", function(assert){
131
132
  var oComp = this.oComp;
132
- var oComponent = Component.get(oComp.getId());
133
+ var oComponent = Component.getComponentById(oComp.getId());
133
134
  assert.equal(oComponent, oComp, "Factory function returns the same instance!");
134
135
 
135
136
  return Component.create({
@@ -146,7 +147,7 @@ sap.ui.define([
146
147
  var oCompCont1 = this.oCompCont1;
147
148
  assert.ok(!!oComp.getComponentData(), "Component has component data");
148
149
  assert.equal(oComp.getComponentData().foo, "bar", "Component data is correct");
149
- var oComponent = Component.registry.get(oCompCont1.getComponent());
150
+ var oComponent = ComponentRegistry.get(oCompCont1.getComponent());
150
151
  assert.ok(!!oComponent.getComponentData(), "Component has component data");
151
152
  assert.equal(oComponent.getComponentData().foo, "bar", "Component data is correct");
152
153
  });
@@ -434,7 +435,7 @@ sap.ui.define([
434
435
  // check the nested component having the ID of the parent component
435
436
  var oNestedComponentContainer = this.oComp.byId("ContButton");
436
437
  var sNestedComponentId = oNestedComponentContainer.getComponent();
437
- var oNestedComponent = Component.get(sNestedComponentId);
438
+ var oNestedComponent = Component.getComponentById(sNestedComponentId);
438
439
  assert.equal(sRefComponentId, Component.getOwnerIdFor(oNestedComponent), "The nested component has the correct component context");
439
440
  // check the control in the nested component to have the correct component context
440
441
  var oNestedControl = oNestedComponent.byId("mybutn");
@@ -739,7 +740,7 @@ sap.ui.define([
739
740
  manifest: "anylocation/manifest.json"
740
741
  }).then(function(oComponent) {
741
742
  assert.ok(true, "Component is loaded properly!");
742
- assert.equal(oComponent, Component.get("myTestComp"), "Component.get returns right component");
743
+ assert.equal(oComponent, Component.getComponentById("myTestComp"), "Component.get returns right component");
743
744
  }, function(oError) {
744
745
  assert.ok(false, "Component should be loaded!");
745
746
  });
@@ -1540,6 +1541,29 @@ sap.ui.define([
1540
1541
 
1541
1542
  });
1542
1543
 
1544
+ QUnit.test("Component.create with loaded manifest content", function(assert) {
1545
+ var oProcessI18nSpy = this.spy(Manifest.prototype, "_processI18n");
1546
+ // there's still one sync path where the i18n file is processed synchronously
1547
+ // it's documented in BLI CPOUI5FRAMEWORK-286
1548
+ var iExpectedSyncCallCount = 1;
1549
+ return LoaderExtensions.loadResource(
1550
+ "sap/ui/test/mixed/manifest.json",
1551
+ {async: true}
1552
+ ).then(function(oManifest) {
1553
+ return Component.create({
1554
+ manifest: oManifest
1555
+ });
1556
+ }).then(function(oComponent) {
1557
+ assert.ok(oComponent, "Component instance is created");
1558
+ var iSyncCall = oProcessI18nSpy.getCalls().reduce(function(acc, oCall) {
1559
+ if (oCall.args.length === 0 || !oCall.args[0]) {
1560
+ acc++;
1561
+ }
1562
+ return acc;
1563
+ }, 0);
1564
+ assert.equal(iSyncCall, iExpectedSyncCallCount, "The number of sync loading of i18n file is the same as expectation");
1565
+ });
1566
+ });
1543
1567
 
1544
1568
  QUnit.module("Models", {
1545
1569
  beforeEach : function() {
@@ -1937,14 +1961,14 @@ sap.ui.define([
1937
1961
  var aFilteredComponents = [];
1938
1962
 
1939
1963
  assert.ok(Component.hasOwnProperty("registry"), "Component has static method to access registry");
1940
- assert.equal(Component.registry.size, 3, "Return number of registered component instances");
1941
- assert.deepEqual(Object.keys(Component.registry.all()).sort(), ["A", "B", "C"], "Return all registered component instances");
1942
- assert.ok(Component.registry.get("B") === oFooB, "Return reference of component B from registry by ID");
1964
+ assert.equal(ComponentRegistry.size, 3, "Return number of registered component instances");
1965
+ assert.deepEqual(Object.keys(ComponentRegistry.all()).sort(), ["A", "B", "C"], "Return all registered component instances");
1966
+ assert.ok(ComponentRegistry.get("B") === oFooB, "Return reference of component B from registry by ID");
1943
1967
 
1944
- Component.registry.forEach(fnCallbackSpy);
1968
+ ComponentRegistry.forEach(fnCallbackSpy);
1945
1969
  assert.ok(fnCallbackSpy.calledThrice, "Callback was executed 3 times");
1946
1970
 
1947
- aFilteredComponents = Component.registry.filter(function(oComponent) {
1971
+ aFilteredComponents = ComponentRegistry.filter(function(oComponent) {
1948
1972
  return ["B", "C"].indexOf(oComponent.getId()) > -1;
1949
1973
  });
1950
1974
 
@@ -79,7 +79,7 @@ sap.ui.define([
79
79
  assert.ok(true, "Was not able to create component, componentFailed fired");
80
80
  assert.ok(oReason.message.indexOf("failed to load") === 0, "Error object is passed as reason");
81
81
  Promise.resolve().then(function() {
82
- assert.ok(oLogErrorSpy.calledWith(sinon.match(/^Failed to load component for container/)));
82
+ assert.ok(oLogErrorSpy.calledWith(sinon.match(/Failed to load component for container/)));
83
83
  assert.strictEqual(oLogErrorSpy.callCount, 1, "One error should have been logged");
84
84
  done();
85
85
  });
@@ -356,15 +356,15 @@ sap.ui.define([
356
356
 
357
357
 
358
358
  // Log.error
359
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"type\" for model \"no-model-type\"", "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
360
- sinon.assert.calledWithExactly(this.oLogSpy, sinon.match("Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded."), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
361
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found", "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
362
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest", "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
363
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"", "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
364
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"", "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
365
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
366
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
367
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\".", "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
359
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"type\" for model \"no-model-type\"/), "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
360
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded./), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
361
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found/), "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
362
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest/), "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
363
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"/), "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
364
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"/), "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
365
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
366
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
367
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\"./), "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
368
368
 
369
369
 
370
370
  // check if models are set on component (and save them internally)
@@ -928,17 +928,16 @@ sap.ui.define([
928
928
  uri: 'foo'
929
929
  });
930
930
 
931
-
932
931
  // Log.error
933
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"type\" for model \"no-model-type\"", "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
934
- sinon.assert.calledWithExactly(this.oLogSpy, sinon.match("Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded."), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
935
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found", "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
936
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest", "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
937
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"", "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
938
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"", "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
939
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
940
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
941
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\".", "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
932
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"type\" for model \"no-model-type\"/), "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
933
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded./), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
934
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found/), "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
935
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest/), "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
936
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"/), "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
937
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"/), "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
938
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
939
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
940
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\"./), "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
942
941
 
943
942
 
944
943
  // check if models are set on component (and save them internally)
@@ -1445,15 +1444,15 @@ sap.ui.define([
1445
1444
 
1446
1445
 
1447
1446
  // Log.error
1448
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"type\" for model \"no-model-type\"", "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
1449
- sinon.assert.calledWithExactly(this.oLogSpy, sinon.match("Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded."), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
1450
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found", "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
1451
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest", "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
1452
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"", "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
1453
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"", "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
1454
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
1455
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid", "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
1456
- sinon.assert.calledWithExactly(this.oLogSpy, "Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\".", "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
1447
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"type\" for model \"no-model-type\"/), "[\"sap.ui5\"][\"models\"][\"no-model-type\"]", this.oComponent.getMetadata().getComponentName());
1448
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Class \"sap.ui.not.defined.Model\" for model \"missing-model-class\" could not be loaded./), "[\"sap.ui5\"][\"models\"][\"missing-model-class\"]", this.oComponent.getMetadata().getComponentName());
1449
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Class \"sap.ui.test.v2models.parent.ModelNotDefined\" for model \"model-not-found\" could not be found/), "[\"sap.ui5\"][\"models\"][\"model-not-found\"]", this.oComponent.getMetadata().getComponentName());
1450
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: ODataAnnotation \"undefined\" for dataSource \"odata-invalid-annotations\" could not be found in manifest/), "[\"sap.app\"][\"dataSources\"][\"undefined\"]", this.oComponent.getMetadata().getComponentName());
1451
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Missing \"uri\" for ODataAnnotation \"annotation-without-uri\"/), "[\"sap.app\"][\"dataSources\"][\"annotation-without-uri\"]", this.oComponent.getMetadata().getComponentName());
1452
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"json\" was expected to have type \"ODataAnnotation\" but was \"JSON\"/), "[\"sap.app\"][\"dataSources\"][\"json\"]", this.oComponent.getMetadata().getComponentName());
1453
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"invalid\" for model \"dataSource-invalid\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"invalid\"]", this.oComponent.getMetadata().getComponentName());
1454
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: dataSource \"does-not-exist\" for model \"dataSource-not-found\" not found or invalid/), "[\"sap.app\"][\"dataSources\"][\"does-not-exist\"]", this.oComponent.getMetadata().getComponentName());
1455
+ sinon.assert.calledWithExactly(this.oLogSpy, sinon.match(/Component Manifest: Provided OData version \"3.0\" in dataSource \"unknown-odataVersion\" for model \"v2-ODataModel-unknown-odataVersion\" is unknown. Falling back to default model type \"sap.ui.model.odata.v2.ODataModel\"./), "[\"sap.app\"][\"dataSources\"][\"unknown-odataVersion\"]", this.oComponent.getMetadata().getComponentName());
1457
1456
 
1458
1457
 
1459
1458
  // check if models are set on component (and save them internally)
@@ -1717,7 +1716,7 @@ sap.ui.define([
1717
1716
 
1718
1717
  // check error log for "class-not-loaded" model
1719
1718
  sinon.assert.calledWithExactly(this.oLogErrorSpy,
1720
- sinon.match("Component Manifest: Class \"sap.ui.sample.model.MyModel\" for model \"class-not-loaded\" could not be loaded."),
1719
+ sinon.match(/Component Manifest: Class \"sap.ui.sample.model.MyModel\" for model \"class-not-loaded\" could not be loaded./),
1721
1720
  "[\"sap.ui5\"][\"models\"][\"class-not-loaded\"]",
1722
1721
  this.oComponent.getMetadata().getComponentName());
1723
1722
 
@@ -1837,7 +1836,7 @@ sap.ui.define([
1837
1836
 
1838
1837
  // check error log for "class-not-loaded" model
1839
1838
  sinon.assert.calledWithExactly(this.oLogErrorSpy,
1840
- sinon.match("Component Manifest: Class \"sap.ui.sample.model.MyModel\" for model \"class-not-loaded\" could not be loaded."),
1839
+ sinon.match(/Component Manifest: Class \"sap.ui.sample.model.MyModel\" for model \"class-not-loaded\" could not be loaded./),
1841
1840
  "[\"sap.ui5\"][\"models\"][\"class-not-loaded\"]",
1842
1841
  this.oComponent.getMetadata().getComponentName());
1843
1842
 
@@ -1049,8 +1049,8 @@ sap.ui.define([
1049
1049
  manifest: "json"
1050
1050
  },
1051
1051
  constructor: function() {
1052
- assert.ok(logWarningSpy.calledWith("Cannot load module 'sap/ui/model/odata/ODataModelNotExists'. This will most probably cause an error once the module is used later on."), "Model not found");
1053
- assert.ok(logWarningSpy.calledWith("Cannot load module 'someRouterNotExists'. This will most probably cause an error once the module is used later on."), "Router not found");
1052
+ assert.ok(logWarningSpy.calledWith(sinon.match(/Cannot load module 'sap\/ui\/model\/odata\/ODataModelNotExists'. This will most probably cause an error once the module is used later on./)), "Model not found");
1053
+ assert.ok(logWarningSpy.calledWith(sinon.match(/Cannot load module 'someRouterNotExists'. This will most probably cause an error once the module is used later on./)), "Router not found");
1054
1054
  UIComponent.apply(this, arguments);
1055
1055
  }
1056
1056
  });
@@ -1366,7 +1366,7 @@ sap.ui.define([
1366
1366
  manifest: true
1367
1367
  }).then(function(oComponent){
1368
1368
  assert.equal(oErrorLogSpy.callCount, 1, "error logged");
1369
- assert.equal(oErrorLogSpy.args[0][0], "Mandatory init() not called for UIComponent: 'manifestModules.scenario11'. This is likely caused by a missing super call in the component's init implementation.", "missing init super error logged");
1369
+ assert.ok(oErrorLogSpy.calledWith(sinon.match(/Mandatory init\(\) not called for UIComponent: 'manifestModules.scenario11'. This is likely caused by a missing super call in the component's init implementation./)), "missing init super error logged");
1370
1370
  }).catch(function() {
1371
1371
  assert.ok(false, "Modules could not be loaded and an error occured.");
1372
1372
  });
@@ -7,8 +7,9 @@ sap.ui.define([
7
7
  "sap/ui/test/generic/TestBase",
8
8
  "sap/ui/test/generic/Utils",
9
9
  "sap/ui/core/Element",
10
+ "sap/ui/core/ElementRegistry",
10
11
  "sap/ui/qunit/utils/nextUIUpdate"
11
- ], function(TestBase, Utils, Element, nextUIUpdate) {
12
+ ], function(TestBase, Utils, Element, ElementRegistry, nextUIUpdate) {
12
13
  "use strict";
13
14
 
14
15
  // asserts that both given maps have the same entries
@@ -110,13 +111,13 @@ sap.ui.define([
110
111
  await nextUIUpdate();
111
112
 
112
113
  if (bFinalIteration) {
113
- var mPostElements = Element.registry.all();
114
+ var mPostElements = ElementRegistry.all();
114
115
 
115
116
  // controls left over by second instance are real leaks that will grow proportionally to instance count => ERROR
116
117
  assert.equalElementsInControlList(mPostElements, mPreElements, "Memory leak check in " + sControlName);
117
118
  } else {
118
119
  // Render Control Instance 2 - any new controls leaked?
119
- mPreElements = Element.registry.all();
120
+ mPreElements = ElementRegistry.all();
120
121
  }
121
122
  }.bind(this);
122
123
 
@@ -15,12 +15,12 @@ sap.ui.define([
15
15
  "sap/base/Log",
16
16
  "sap/base/util/ObjectPath",
17
17
  "sap/ui/VersionInfo",
18
- "sap/ui/core/Element",
18
+ "sap/ui/core/ElementRegistry",
19
19
  "sap/ui/core/Lib",
20
20
  "sap/ui/dom/includeStylesheet",
21
21
  "sap/ui/qunit/utils/nextUIUpdate",
22
22
  "require"
23
- ], function (Log, ObjectPath, VersionInfo, Element, Library, includeStylesheet, nextUIUpdate, require) {
23
+ ], function (Log, ObjectPath, VersionInfo, ElementRegistry, Library, includeStylesheet, nextUIUpdate, require) {
24
24
  "use strict";
25
25
 
26
26
  /*global QUnit */
@@ -301,8 +301,7 @@ sap.ui.define([
301
301
  async function checkControl(oControlClass, assert) {
302
302
  var sControlName = oControlClass.getMetadata().getName();
303
303
 
304
- var //mPrePreElements = Element.registry.all(),
305
- oControl1 = new oControlClass(),
304
+ var oControl1 = new oControlClass(),
306
305
  bCanRender = false;
307
306
 
308
307
  // check whether this control can be rendered
@@ -334,7 +333,7 @@ sap.ui.define([
334
333
 
335
334
  // Render Control Instance 2 - any new controls leaked?
336
335
 
337
- var mPreElements = Element.registry.all(),
336
+ var mPreElements = ElementRegistry.all(),
338
337
  oControl2 = new oControlClass();
339
338
 
340
339
  fillControlProperties(oControl2);
@@ -357,7 +356,7 @@ sap.ui.define([
357
356
 
358
357
  oControl2.destroy();
359
358
  await nextUIUpdate();
360
- var mPostElements = Element.registry.all();
359
+ var mPostElements = ElementRegistry.all();
361
360
 
362
361
  // controls left over by second instance are real leaks that will grow proportionally to instance count => ERROR
363
362
  assert.equalElementsInControlList(mPostElements, mPreElements, "Memory leak check in " + sControlName);
@@ -372,7 +371,7 @@ sap.ui.define([
372
371
 
373
372
  QUnit.module("Memory.Controls", {
374
373
  afterEach: function() {
375
- Element.registry.forEach(function(oElement, sId) {
374
+ ElementRegistry.forEach(function(oElement, sId) {
376
375
  oElement.destroy();
377
376
  });
378
377
  }
@@ -11,6 +11,7 @@ sap.ui.define([
11
11
  "sap/ui/VersionInfo",
12
12
  "sap/ui/base/DataType",
13
13
  "sap/ui/core/Element",
14
+ "sap/ui/core/ElementRegistry",
14
15
  "sap/ui/core/Control",
15
16
  "sap/ui/core/Item",
16
17
  "sap/ui/core/Lib",
@@ -19,7 +20,7 @@ sap.ui.define([
19
20
  "sap/ui/dom/includeStylesheet",
20
21
  "sap/ui/qunit/utils/nextUIUpdate",
21
22
  "require"
22
- ], function (Log, ObjectPath, VersionInfo, DataType, Element, Control, Item, Library, CommonsTextField, MobileText, includeStylesheet, nextUIUpdate, require) {
23
+ ], function (Log, ObjectPath, VersionInfo, DataType, Element, ElementRegistry, Control, Item, Library, CommonsTextField, MobileText, includeStylesheet, nextUIUpdate, require) {
23
24
  "use strict";
24
25
 
25
26
  var aKnownLibraries = [
@@ -440,7 +441,7 @@ sap.ui.define([
440
441
 
441
442
  QUnit.module("Duplicate ID issues in Controls", {
442
443
  afterEach: function() {
443
- Element.registry.forEach(function(oElement, sId) {
444
+ ElementRegistry.forEach(function(oElement, sId) {
444
445
  oElement.destroy();
445
446
  });
446
447
  }
@@ -29,6 +29,9 @@ sap.ui.define(function() {
29
29
  ControlMemoryLeaks: {
30
30
  title: "QUnit Page for memory leak detection in UI5 controls"
31
31
  },
32
+ /**
33
+ * @deprecated As of version 1.120
34
+ */
32
35
  ControlRenderer: {
33
36
  title: "QUnit Page for memory leak detection in UI5 controls"
34
37
  },
@@ -1,10 +1,10 @@
1
1
  /*global QUnit, sinon */
2
2
  sap.ui.define([
3
3
  "sap/base/Log",
4
- "sap/ui/core/Configuration",
4
+ "sap/base/i18n/Formatting",
5
5
  "sap/ui/core/date/Islamic",
6
6
  "sap/ui/core/date/UI5Date"
7
- ], function(Log, Configuration, Islamic, UI5Date) {
7
+ ], function(Log, Formatting, Islamic, UI5Date) {
8
8
  "use strict";
9
9
  /* eslint-disable camelcase */
10
10
 
@@ -172,8 +172,8 @@ sap.ui.define([
172
172
  this.oLogMock.expects("error").never();
173
173
  this.oLogMock.expects("warning").never();
174
174
  // set to "1" and it will fall-back to "A"
175
- this.stub(Configuration.getFormatSettings(), "getLegacyDateFormat").returns("1");
176
- this.stub(Configuration.getFormatSettings(), "getLegacyDateCalendarCustomizing")
175
+ this.stub(Formatting, "getABAPDateFormat").returns("1");
176
+ this.stub(Formatting, "getCustomIslamicCalendarData")
177
177
  .returns(customizingInfo);
178
178
  }
179
179
  });