@openui5/sap.ui.core 1.112.2 → 1.114.0

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 (400) hide show
  1. package/.dtsgenrc +102 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +10 -4
  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 +7 -7
  9. package/src/jquery.sap.trace.js +14 -14
  10. package/src/sap/base/Log.js +92 -8
  11. package/src/sap/base/assert.js +1 -1
  12. package/src/sap/base/config/MemoryConfigurationProvider.js +22 -0
  13. package/src/sap/base/config.js +54 -0
  14. package/src/sap/base/security/URLWhitelist.js +1 -1
  15. package/src/sap/base/util/Deferred.js +3 -2
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  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 +8 -3
  58. package/src/sap/ui/Global.js +4 -4
  59. package/src/sap/ui/base/BindingParser.js +79 -18
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -1
  62. package/src/sap/ui/base/ExpressionParser.js +15 -5
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +16 -13
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +35 -35
  66. package/src/sap/ui/base/Metadata.js +23 -12
  67. package/src/sap/ui/base/Object.js +1 -1
  68. package/src/sap/ui/base/ObjectPool.js +1 -1
  69. package/src/sap/ui/core/.library +1 -1
  70. package/src/sap/ui/core/BusyIndicator.js +4 -4
  71. package/src/sap/ui/core/Component.js +10 -7
  72. package/src/sap/ui/core/ComponentContainer.js +1 -1
  73. package/src/sap/ui/core/ComponentMetadata.js +3 -1
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +104 -45
  76. package/src/sap/ui/core/Control.js +23 -6
  77. package/src/sap/ui/core/Core.js +36 -15
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomStyleClassSupport.js +5 -2
  80. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +19 -4
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +4 -4
  85. package/src/sap/ui/core/Fragment.js +1 -1
  86. package/src/sap/ui/core/HTML.js +1 -1
  87. package/src/sap/ui/core/History.js +1 -1
  88. package/src/sap/ui/core/Icon.js +1 -1
  89. package/src/sap/ui/core/IconPool.js +17 -2
  90. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  91. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  92. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  93. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  94. package/src/sap/ui/core/InvisibleText.js +1 -1
  95. package/src/sap/ui/core/Item.js +1 -1
  96. package/src/sap/ui/core/LabelEnablement.js +10 -2
  97. package/src/sap/ui/core/LayoutData.js +1 -1
  98. package/src/sap/ui/core/Lib.js +28 -2
  99. package/src/sap/ui/core/ListItem.js +1 -1
  100. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  101. package/src/sap/ui/core/Locale.js +2 -2
  102. package/src/sap/ui/core/LocaleData.js +87 -19
  103. package/src/sap/ui/core/Manifest.js +5 -5
  104. package/src/sap/ui/core/Message.js +1 -1
  105. package/src/sap/ui/core/Popup.js +34 -36
  106. package/src/sap/ui/core/RenderManager.js +8 -2
  107. package/src/sap/ui/core/Renderer.js +1 -1
  108. package/src/sap/ui/core/Rendering.js +2 -3
  109. package/src/sap/ui/core/ResizeHandler.js +2 -2
  110. package/src/sap/ui/core/ScrollBar.js +1 -1
  111. package/src/sap/ui/core/SeparatorItem.js +1 -1
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +1 -1
  114. package/src/sap/ui/core/UIArea.js +9 -2
  115. package/src/sap/ui/core/UIComponent.js +16 -13
  116. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/XMLTemplateProcessor.js +30 -6
  122. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  123. package/src/sap/ui/core/cache/LRUPersistentCache.js +1 -1
  124. package/src/sap/ui/core/date/CalendarUtils.js +14 -26
  125. package/src/sap/ui/core/date/CalendarWeekNumbering.js +32 -0
  126. package/src/sap/ui/core/date/UI5Date.js +14 -8
  127. package/src/sap/ui/core/date/UniversalDate.js +15 -53
  128. package/src/sap/ui/core/date/UniversalDateUtils.js +4 -4
  129. package/src/sap/ui/core/date/_Calendars.js +1 -1
  130. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  131. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  132. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  133. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  134. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  135. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  136. package/src/sap/ui/core/format/DateFormat.js +166 -59
  137. package/src/sap/ui/core/format/NumberFormat.js +40 -5
  138. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  140. package/src/sap/ui/core/library.js +3 -3
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  142. package/src/sap/ui/core/message/Message.js +1 -1
  143. package/src/sap/ui/core/message/MessageManager.js +1 -1
  144. package/src/sap/ui/core/message/MessageParser.js +1 -1
  145. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  146. package/src/sap/ui/core/messagebundle.properties +2 -0
  147. package/src/sap/ui/core/messagebundle_ar.properties +2 -1
  148. package/src/sap/ui/core/messagebundle_bg.properties +1 -0
  149. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  150. package/src/sap/ui/core/messagebundle_cs.properties +2 -1
  151. package/src/sap/ui/core/messagebundle_cy.properties +2 -1
  152. package/src/sap/ui/core/messagebundle_da.properties +2 -1
  153. package/src/sap/ui/core/messagebundle_de.properties +2 -1
  154. package/src/sap/ui/core/messagebundle_el.properties +2 -1
  155. package/src/sap/ui/core/messagebundle_en.properties +2 -1
  156. package/src/sap/ui/core/messagebundle_en_GB.properties +2 -1
  157. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_es.properties +5 -4
  160. package/src/sap/ui/core/messagebundle_es_MX.properties +2 -1
  161. package/src/sap/ui/core/messagebundle_et.properties +2 -1
  162. package/src/sap/ui/core/messagebundle_fi.properties +2 -1
  163. package/src/sap/ui/core/messagebundle_fr.properties +2 -1
  164. package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -1
  165. package/src/sap/ui/core/messagebundle_hi.properties +2 -1
  166. package/src/sap/ui/core/messagebundle_hr.properties +2 -1
  167. package/src/sap/ui/core/messagebundle_hu.properties +2 -1
  168. package/src/sap/ui/core/messagebundle_id.properties +2 -1
  169. package/src/sap/ui/core/messagebundle_it.properties +2 -1
  170. package/src/sap/ui/core/messagebundle_iw.properties +2 -1
  171. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_kk.properties +2 -1
  173. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  174. package/src/sap/ui/core/messagebundle_lt.properties +2 -1
  175. package/src/sap/ui/core/messagebundle_lv.properties +2 -1
  176. package/src/sap/ui/core/messagebundle_ms.properties +2 -1
  177. package/src/sap/ui/core/messagebundle_nl.properties +2 -1
  178. package/src/sap/ui/core/messagebundle_no.properties +2 -1
  179. package/src/sap/ui/core/messagebundle_pl.properties +2 -1
  180. package/src/sap/ui/core/messagebundle_pt.properties +2 -1
  181. package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -1
  182. package/src/sap/ui/core/messagebundle_ro.properties +2 -1
  183. package/src/sap/ui/core/messagebundle_ru.properties +3 -2
  184. package/src/sap/ui/core/messagebundle_sh.properties +2 -1
  185. package/src/sap/ui/core/messagebundle_sk.properties +2 -1
  186. package/src/sap/ui/core/messagebundle_sl.properties +2 -1
  187. package/src/sap/ui/core/messagebundle_sv.properties +2 -1
  188. package/src/sap/ui/core/messagebundle_th.properties +2 -1
  189. package/src/sap/ui/core/messagebundle_tr.properties +2 -1
  190. package/src/sap/ui/core/messagebundle_uk.properties +2 -1
  191. package/src/sap/ui/core/messagebundle_vi.properties +2 -1
  192. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -1
  193. package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -1
  194. package/src/sap/ui/core/mvc/Controller.js +2 -3
  195. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  196. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  197. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  198. package/src/sap/ui/core/mvc/JSView.js +1 -1
  199. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  200. package/src/sap/ui/core/mvc/View.js +24 -17
  201. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  202. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  203. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  204. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  205. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  206. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  207. package/src/sap/ui/core/routing/Route.js +30 -22
  208. package/src/sap/ui/core/routing/Router.js +5 -3
  209. package/src/sap/ui/core/routing/Target.js +170 -3
  210. package/src/sap/ui/core/routing/Targets.js +5 -214
  211. package/src/sap/ui/core/routing/Views.js +1 -1
  212. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  213. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  214. package/src/sap/ui/core/service/Service.js +1 -1
  215. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  216. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  217. package/src/sap/ui/core/support/Plugin.js +1 -1
  218. package/src/sap/ui/core/support/Support.js +1 -1
  219. package/src/sap/ui/core/support/controls/InteractionTree.js +5 -3
  220. package/src/sap/ui/core/support/plugins/Breakpoint.js +2 -2
  221. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  222. package/src/sap/ui/core/support/plugins/Interaction.js +6 -4
  223. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  224. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  225. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  226. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  227. package/src/sap/ui/core/support/plugins/Trace.js +4 -3
  228. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  229. package/src/sap/ui/core/themes/base/base.less +4358 -78
  230. package/src/sap/ui/core/themes/base/global.less +114 -8
  231. package/src/sap/ui/core/themes/sap_hcb/global.less +114 -8
  232. package/src/sap/ui/core/theming/Parameters.js +10 -2
  233. package/src/sap/ui/core/theming/ThemeManager.js +16 -12
  234. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  235. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  236. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  237. package/src/sap/ui/core/tmpl/Template.js +1 -1
  238. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  239. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  240. package/src/sap/ui/core/util/Export.js +1 -1
  241. package/src/sap/ui/core/util/ExportCell.js +1 -1
  242. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  243. package/src/sap/ui/core/util/ExportRow.js +1 -1
  244. package/src/sap/ui/core/util/ExportType.js +1 -1
  245. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  246. package/src/sap/ui/core/util/File.js +1 -1
  247. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  248. package/src/sap/ui/core/util/MockServer.js +1 -1
  249. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  250. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  251. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  252. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  253. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  254. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  255. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  256. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  257. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  258. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  259. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  260. package/src/sap/ui/debug/ControlTree.js +1 -1
  261. package/src/sap/ui/debug/DebugEnv.js +1 -1
  262. package/src/sap/ui/debug/PropertyList.js +1 -1
  263. package/src/sap/ui/dom/includeScript.js +3 -3
  264. package/src/sap/ui/dom/includeStylesheet.js +3 -3
  265. package/src/sap/ui/events/ControlEvents.js +2 -2
  266. package/src/sap/ui/events/PseudoEvents.js +4 -2
  267. package/src/sap/ui/model/ClientModel.js +1 -1
  268. package/src/sap/ui/model/CompositeBinding.js +1 -1
  269. package/src/sap/ui/model/CompositeDataState.js +1 -1
  270. package/src/sap/ui/model/CompositeType.js +1 -1
  271. package/src/sap/ui/model/DataState.js +1 -1
  272. package/src/sap/ui/model/ManagedObjectBindingSupport.js +19 -2
  273. package/src/sap/ui/model/MetaModel.js +1 -1
  274. package/src/sap/ui/model/Model.js +1 -1
  275. package/src/sap/ui/model/SelectionModel.js +1 -1
  276. package/src/sap/ui/model/SimpleType.js +7 -3
  277. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  278. package/src/sap/ui/model/Type.js +1 -1
  279. package/src/sap/ui/model/base/ManagedObjectModel.js +12 -4
  280. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +2 -0
  281. package/src/sap/ui/model/json/JSONModel.js +1 -1
  282. package/src/sap/ui/model/message/MessageModel.js +1 -1
  283. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  285. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  286. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  287. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  288. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  289. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  290. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  291. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  292. package/src/sap/ui/model/odata/type/Date.js +67 -21
  293. package/src/sap/ui/model/odata/type/DateTime.js +51 -8
  294. package/src/sap/ui/model/odata/type/DateTimeBase.js +55 -26
  295. package/src/sap/ui/model/odata/type/DateTimeOffset.js +42 -1
  296. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +37 -21
  297. package/src/sap/ui/model/odata/type/Decimal.js +28 -33
  298. package/src/sap/ui/model/odata/type/Double.js +21 -26
  299. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int.js +15 -20
  301. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  302. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  303. package/src/sap/ui/model/odata/type/Int64.js +16 -21
  304. package/src/sap/ui/model/odata/type/ODataType.js +33 -6
  305. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  306. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  307. package/src/sap/ui/model/odata/type/Single.js +20 -25
  308. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  309. package/src/sap/ui/model/odata/type/String.js +1 -1
  310. package/src/sap/ui/model/odata/type/Time.js +91 -21
  311. package/src/sap/ui/model/odata/type/TimeOfDay.js +70 -24
  312. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  313. package/src/sap/ui/model/odata/v2/Context.js +72 -28
  314. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +5 -4
  315. package/src/sap/ui/model/odata/v2/ODataListBinding.js +29 -10
  316. package/src/sap/ui/model/odata/v2/ODataModel.js +92 -36
  317. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +8 -1
  318. package/src/sap/ui/model/odata/v4/Context.js +36 -21
  319. package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -21
  320. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +7 -25
  321. package/src/sap/ui/model/odata/v4/ODataListBinding.js +208 -74
  322. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +4 -1
  323. package/src/sap/ui/model/odata/v4/ODataModel.js +4 -3
  324. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +42 -28
  325. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  326. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +100 -21
  327. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +1 -1
  328. package/src/sap/ui/model/odata/v4/lib/_Cache.js +99 -64
  329. package/src/sap/ui/model/odata/v4/lib/_Helper.js +75 -2
  330. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -0
  331. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +3 -0
  332. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  333. package/src/sap/ui/model/type/Boolean.js +1 -1
  334. package/src/sap/ui/model/type/Currency.js +1 -1
  335. package/src/sap/ui/model/type/Date.js +15 -1
  336. package/src/sap/ui/model/type/DateInterval.js +15 -1
  337. package/src/sap/ui/model/type/DateTime.js +1 -1
  338. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/FileSize.js +1 -1
  340. package/src/sap/ui/model/type/Float.js +1 -1
  341. package/src/sap/ui/model/type/Integer.js +1 -1
  342. package/src/sap/ui/model/type/String.js +1 -1
  343. package/src/sap/ui/model/type/Time.js +1 -1
  344. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  345. package/src/sap/ui/model/type/Unit.js +1 -1
  346. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  347. package/src/sap/ui/performance/Measurement.js +9 -9
  348. package/src/sap/ui/performance/trace/Interaction.js +50 -4
  349. package/src/sap/ui/performance/trace/initTraces.js +20 -14
  350. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +180 -0
  351. package/src/sap/ui/qunit/qunit-coverage.js +9 -4
  352. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  353. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  354. package/src/sap/ui/test/Opa.js +54 -21
  355. package/src/sap/ui/test/Opa5.js +181 -131
  356. package/src/sap/ui/test/OpaBuilder.js +106 -73
  357. package/src/sap/ui/test/OpaPlugin.js +27 -28
  358. package/src/sap/ui/test/PageObjectFactory.js +17 -7
  359. package/src/sap/ui/test/RecordReplay.js +7 -3
  360. package/src/sap/ui/test/_ParameterValidator.js +3 -3
  361. package/src/sap/ui/test/_UsageReport.js +3 -3
  362. package/src/sap/ui/test/_ValidationParameters.js +8 -10
  363. package/src/sap/ui/test/actions/Action.js +3 -3
  364. package/src/sap/ui/test/actions/EnterText.js +3 -2
  365. package/src/sap/ui/test/actions/Press.js +4 -4
  366. package/src/sap/ui/test/autowaiter/WaiterBase.js +5 -3
  367. package/src/sap/ui/test/autowaiter/_autoWaiter.js +6 -3
  368. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +3 -3
  369. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +3 -3
  370. package/src/sap/ui/test/autowaiter/_fetchWaiter.js +73 -0
  371. package/src/sap/ui/test/autowaiter/_moduleWaiter.js +2 -2
  372. package/src/sap/ui/test/autowaiter/_promiseWaiter.js +4 -4
  373. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +2 -2
  374. package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +4 -4
  375. package/src/sap/ui/test/generic/TestBase.js +1 -1
  376. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +3 -1
  377. package/src/sap/ui/test/gherkin/GherkinTestGenerator.js +424 -423
  378. package/src/sap/ui/test/gherkin/StepDefinitions.js +160 -158
  379. package/src/sap/ui/test/gherkin/dataTableUtils.js +387 -385
  380. package/src/sap/ui/test/gherkin/opa5TestHarness.js +188 -189
  381. package/src/sap/ui/test/gherkin/qUnitTestHarness.js +74 -71
  382. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +195 -193
  383. package/src/sap/ui/test/launchers/componentLauncher.js +11 -9
  384. package/src/sap/ui/test/launchers/iFrameLauncher.js +34 -20
  385. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  386. package/src/sap/ui/test/matchers/Interactable.js +2 -2
  387. package/src/sap/ui/test/matchers/LabelFor.js +2 -2
  388. package/src/sap/ui/test/matchers/MatcherFactory.js +10 -9
  389. package/src/sap/ui/test/matchers/Properties.js +5 -4
  390. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  391. package/src/sap/ui/test/matchers/matchers.js +35 -3
  392. package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -2
  393. package/src/sap/ui/test/qunitPause.js +3 -2
  394. package/src/sap/ui/test/starter/_configureLoader.js +7 -5
  395. package/src/sap/ui/test/starter/_setupAndStart.js +113 -27
  396. package/src/sap/ui/test/starter/_utils.js +4 -1
  397. package/src/sap/ui/util/Mobile.js +8 -1
  398. package/src/sap/ui/util/Storage.js +1 -1
  399. package/src/ui5loader-autoconfig.js +661 -49
  400. package/src/ui5loader.js +18 -5
@@ -4,197 +4,199 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(["jquery.sap.sjax"], function(jQuery) {
8
- "use strict";
9
-
10
- /**
11
- * Parses Gherkin files to enable automated integration testing. This is a simple parser only meant to parse
12
- * correctly formed Gherkin.
13
- *
14
- * @author Rodrigo Jordao
15
- * @author Jonathan Benn
16
- * @alias sap.ui.test.gherkin.simpleGherkinParser
17
- * @namespace
18
- * @static
19
- * @since 1.40
20
- * @private
21
- */
22
- var simpleGherkinParser = {
23
-
24
- /**
25
- * Parses correctly formed Gherkin. The parsed return object (a Gherkin feature!) looks like this:
26
- *
27
- * <pre>
28
- * {
29
- * tags : ["@wip", "@integration"],
30
- * name : "Serve coffee",
31
- * background : {
32
- * name : "<background>",
33
- * steps : [
34
- * { text : "there are 1 coffees left in the machine", keyword : "Given" }
35
- * ]
36
- * },
37
- * scenarios : [
38
- * {
39
- * tags : ["@wip", "@integration", "@happy"],
40
- * name : "Buy last coffee",
41
- * steps : [
42
- * { text : "I have deposited 1$", keyword : "When" },
43
- * { text : "I press the coffee button", keyword : "And" },
44
- * { text : "I should be served a coffee", keyword : "Then" }
45
- * ],
46
- * examples : [
47
- * {
48
- * tags : ["@wip", "@integration", "@happy"],
49
- * name : "Coffee Types",
50
- * data : ["Java", "Capuccino"]
51
- * }
52
- * ]
53
- * }
54
- * ]
55
- * }
56
- * </pre>
57
- *
58
- * @param {string} sText - Gherkin text to parse
59
- * @returns {object} parsed representation of the Gherkin feature
60
- * @public
61
- * @function
62
- * @static
63
- */
64
- parse: function(sText) {
65
-
66
- if (typeof sText !== "string" && !(sText instanceof String)) {
67
- throw new Error("simpleGherkinParser.parse: parameter 'sText' must be a valid string");
68
- }
69
-
70
- var aLines =
71
- sText.split("\n"). // get lines
72
- map(function(s){return s.replace(/^\s*#.*/,"").trim();}); // remove comment lines and trim every line
73
-
74
- var oFeature = null, oScenario = null, oStep = null, aTags = [], aFeatureTags = [], aScenarioTags = [];
75
- for (var i = 0; i < aLines.length; ++i) {
76
- var sLine = aLines[i];
77
-
78
- var bTagsMatch = !!sLine.match(/^(?:@[^ @]+)(?:\s+@[^ @]+)*$/);
79
- if (bTagsMatch) {
80
- aTags = sLine.split(/\s+/);
81
- continue;
82
- }
83
-
84
- var aFeatureMatch = sLine.match(/^Feature:(.+)$/);
85
- if (aFeatureMatch) {
86
- aFeatureTags = aTags;
87
- oFeature = {tags: aFeatureTags, name: aFeatureMatch[1].trim(), scenarios: []};
88
- aTags = [];
89
- continue;
90
- }
91
-
92
- var bBackgroundMatch = !!sLine.match(/^Background:/);
93
- if (bBackgroundMatch) {
94
- oScenario = oFeature.background = {name: "<background>", steps: []};
95
- continue;
96
- }
97
-
98
- var aScenarioOutlineMatch = sLine.match(/^Scenario Outline:(.+)/);
99
- var aScenarioMatch = sLine.match(/^Scenario:(.+)/) || aScenarioOutlineMatch;
100
- if (aScenarioMatch) {
101
- aScenarioTags = aFeatureTags.concat(aTags);
102
- oScenario = {tags: aScenarioTags, name: aScenarioMatch[1].trim(), steps: []};
103
- if (aScenarioOutlineMatch) {
104
- oScenario.examples = [];
105
- }
106
- oFeature.scenarios.push(oScenario);
107
- aTags = [];
108
- continue;
109
- }
110
-
111
- var aStepMatch = sLine.match(/^(Given|When|Then|And|But|\*)\s+(.+)$/);
112
- if (aStepMatch) {
113
- oStep = {text: aStepMatch[2].trim(), keyword: aStepMatch[1].trim()};
114
- oScenario.steps.push(oStep);
115
- continue;
116
- }
117
-
118
- var aExamplesMatch = sLine.match(/^Examples:(.+)?/);
119
- if (aExamplesMatch) {
120
- oScenario.examples.push({
121
- tags: aScenarioTags.concat(aTags),
122
- name: (aExamplesMatch[1]) ? aExamplesMatch[1].trim() : "",
123
- data: []
124
- });
125
- aTags = [];
126
- continue;
127
- }
128
-
129
- // Parse a data table
130
- var aRowMatch = sLine.match(/^\|(.*)\|$/);
131
- if (aRowMatch) {
132
- var vData = aRowMatch[1].split("|").map(function(s){return s.trim();});
133
-
134
- // if there is only one column in the row
135
- if (vData.length === 1) {
136
- // then don't create a matrix for nothing
137
- vData = vData[0];
138
- }
139
-
140
- if (oScenario.examples) {
141
- oScenario.examples[oScenario.examples.length - 1].data.push(vData);
142
- continue;
143
- }
144
- oStep.data = oStep.data || [];
145
- oStep.data.push(vData);
146
- }
147
-
148
- }
149
-
150
- // Convert any one-row tables into 1D arrays
151
- oFeature.scenarios.forEach(function(oScenario) {
152
- oScenario.steps.forEach(function(oStep) {
153
- // if the data table has only one row
154
- if (Array.isArray(oStep.data) && (oStep.data.length === 1) && Array.isArray(oStep.data[0])) {
155
- // then convert into a 1D array
156
- oStep.data = oStep.data[0];
157
- }
158
- });
159
- });
160
-
161
- return oFeature;
162
- },
163
-
164
- /**
165
- * Convenience function that loads the feature file at the given path and executes {@link #parse} on it, returning
166
- * the result.
167
- *
168
- * @param {string} sPath - the path to the feature file to load, as an SAPUI5 module path. The ".feature" extension is
169
- * assumed and should not be included.
170
- * @returns {object} the parsed Gherkin feature object
171
- * @see {@link #parse}
172
- * @see {@link jQuery.sap.registerModulePath}
173
- * @public
174
- * @function
175
- * @static
176
- */
177
- parseFile: function(sPath) {
178
-
179
- if (typeof sPath !== "string" && !(sPath instanceof String)) {
180
- throw new Error("simpleGherkinParser.parseFile: parameter 'sPath' must be a valid string");
181
- }
182
-
183
- // Interpret the path as a standard SAPUI5 module path
184
- sPath = sap.ui.require.toUrl((sPath).replace(/\./g, "/")) + ".feature";
185
-
186
- var oResult = jQuery.sap.sjax({
187
- url: sPath,
188
- dataType: "text"
189
- });
190
-
191
- if (!oResult.success) {
192
- throw new Error("simpleGherkinParser.parseFile: error loading URL: " + sPath);
193
- }
194
-
195
- return this.parse(oResult.data);
196
- }
197
- };
198
-
199
- return simpleGherkinParser;
7
+ sap.ui.define([
8
+ "jquery.sap.sjax"
9
+ ], function(jQuery) {
10
+ "use strict";
11
+
12
+ /**
13
+ * Parses Gherkin files to enable automated integration testing. This is a simple parser only meant to parse
14
+ * correctly formed Gherkin.
15
+ *
16
+ * @author Rodrigo Jordao
17
+ * @author Jonathan Benn
18
+ * @alias sap.ui.test.gherkin.simpleGherkinParser
19
+ * @namespace
20
+ * @static
21
+ * @since 1.40
22
+ * @private
23
+ */
24
+ var simpleGherkinParser = {
25
+
26
+ /**
27
+ * Parses correctly formed Gherkin. The parsed return object (a Gherkin feature!) looks like this:
28
+ *
29
+ * <pre>
30
+ * {
31
+ * tags : ["@wip", "@integration"],
32
+ * name : "Serve coffee",
33
+ * background : {
34
+ * name : "<background>",
35
+ * steps : [
36
+ * { text : "there are 1 coffees left in the machine", keyword : "Given" }
37
+ * ]
38
+ * },
39
+ * scenarios : [
40
+ * {
41
+ * tags : ["@wip", "@integration", "@happy"],
42
+ * name : "Buy last coffee",
43
+ * steps : [
44
+ * { text : "I have deposited 1$", keyword : "When" },
45
+ * { text : "I press the coffee button", keyword : "And" },
46
+ * { text : "I should be served a coffee", keyword : "Then" }
47
+ * ],
48
+ * examples : [
49
+ * {
50
+ * tags : ["@wip", "@integration", "@happy"],
51
+ * name : "Coffee Types",
52
+ * data : ["Java", "Capuccino"]
53
+ * }
54
+ * ]
55
+ * }
56
+ * ]
57
+ * }
58
+ * </pre>
59
+ *
60
+ * @param {string} sText - Gherkin text to parse
61
+ * @returns {object} parsed representation of the Gherkin feature
62
+ * @public
63
+ * @function
64
+ * @static
65
+ */
66
+ parse: function(sText) {
67
+
68
+ if (typeof sText !== "string" && !(sText instanceof String)) {
69
+ throw new Error("simpleGherkinParser.parse: parameter 'sText' must be a valid string");
70
+ }
71
+
72
+ var aLines =
73
+ sText.split("\n"). // get lines
74
+ map(function(s){return s.replace(/^\s*#.*/,"").trim();}); // remove comment lines and trim every line
75
+
76
+ var oFeature = null, oScenario = null, oStep = null, aTags = [], aFeatureTags = [], aScenarioTags = [];
77
+ for (var i = 0; i < aLines.length; ++i) {
78
+ var sLine = aLines[i];
79
+
80
+ var bTagsMatch = !!sLine.match(/^(?:@[^ @]+)(?:\s+@[^ @]+)*$/);
81
+ if (bTagsMatch) {
82
+ aTags = sLine.split(/\s+/);
83
+ continue;
84
+ }
85
+
86
+ var aFeatureMatch = sLine.match(/^Feature:(.+)$/);
87
+ if (aFeatureMatch) {
88
+ aFeatureTags = aTags;
89
+ oFeature = {tags: aFeatureTags, name: aFeatureMatch[1].trim(), scenarios: []};
90
+ aTags = [];
91
+ continue;
92
+ }
93
+
94
+ var bBackgroundMatch = !!sLine.match(/^Background:/);
95
+ if (bBackgroundMatch) {
96
+ oScenario = oFeature.background = {name: "<background>", steps: []};
97
+ continue;
98
+ }
99
+
100
+ var aScenarioOutlineMatch = sLine.match(/^Scenario Outline:(.+)/);
101
+ var aScenarioMatch = sLine.match(/^Scenario:(.+)/) || aScenarioOutlineMatch;
102
+ if (aScenarioMatch) {
103
+ aScenarioTags = aFeatureTags.concat(aTags);
104
+ oScenario = {tags: aScenarioTags, name: aScenarioMatch[1].trim(), steps: []};
105
+ if (aScenarioOutlineMatch) {
106
+ oScenario.examples = [];
107
+ }
108
+ oFeature.scenarios.push(oScenario);
109
+ aTags = [];
110
+ continue;
111
+ }
112
+
113
+ var aStepMatch = sLine.match(/^(Given|When|Then|And|But|\*)\s+(.+)$/);
114
+ if (aStepMatch) {
115
+ oStep = {text: aStepMatch[2].trim(), keyword: aStepMatch[1].trim()};
116
+ oScenario.steps.push(oStep);
117
+ continue;
118
+ }
119
+
120
+ var aExamplesMatch = sLine.match(/^Examples:(.+)?/);
121
+ if (aExamplesMatch) {
122
+ oScenario.examples.push({
123
+ tags: aScenarioTags.concat(aTags),
124
+ name: (aExamplesMatch[1]) ? aExamplesMatch[1].trim() : "",
125
+ data: []
126
+ });
127
+ aTags = [];
128
+ continue;
129
+ }
130
+
131
+ // Parse a data table
132
+ var aRowMatch = sLine.match(/^\|(.*)\|$/);
133
+ if (aRowMatch) {
134
+ var vData = aRowMatch[1].split("|").map(function(s){return s.trim();});
135
+
136
+ // if there is only one column in the row
137
+ if (vData.length === 1) {
138
+ // then don't create a matrix for nothing
139
+ vData = vData[0];
140
+ }
141
+
142
+ if (oScenario.examples) {
143
+ oScenario.examples[oScenario.examples.length - 1].data.push(vData);
144
+ continue;
145
+ }
146
+ oStep.data = oStep.data || [];
147
+ oStep.data.push(vData);
148
+ }
149
+
150
+ }
151
+
152
+ // Convert any one-row tables into 1D arrays
153
+ oFeature.scenarios.forEach(function(oScenario) {
154
+ oScenario.steps.forEach(function(oStep) {
155
+ // if the data table has only one row
156
+ if (Array.isArray(oStep.data) && (oStep.data.length === 1) && Array.isArray(oStep.data[0])) {
157
+ // then convert into a 1D array
158
+ oStep.data = oStep.data[0];
159
+ }
160
+ });
161
+ });
162
+
163
+ return oFeature;
164
+ },
165
+
166
+ /**
167
+ * Convenience function that loads the feature file at the given path and executes {@link #parse} on it, returning
168
+ * the result.
169
+ *
170
+ * @param {string} sPath - the path to the feature file to load, as an SAPUI5 module path. The ".feature" extension is
171
+ * assumed and should not be included.
172
+ * @returns {object} the parsed Gherkin feature object
173
+ * @see {@link #parse}
174
+ * @see {@link sap.ui.loader.config}
175
+ * @public
176
+ * @function
177
+ * @static
178
+ */
179
+ parseFile: function(sPath) {
180
+
181
+ if (typeof sPath !== "string" && !(sPath instanceof String)) {
182
+ throw new Error("simpleGherkinParser.parseFile: parameter 'sPath' must be a valid string");
183
+ }
184
+
185
+ // Interpret the path as a standard SAPUI5 module path
186
+ sPath = sap.ui.require.toUrl((sPath).replace(/\./g, "/")) + ".feature";
187
+
188
+ var oResult = jQuery.sap.sjax({
189
+ url: sPath,
190
+ dataType: "text"
191
+ });
192
+
193
+ if (!oResult.success) {
194
+ throw new Error("simpleGherkinParser.parseFile: error loading URL: " + sPath);
195
+ }
196
+
197
+ return this.parse(oResult.data);
198
+ }
199
+ };
200
+
201
+ return simpleGherkinParser;
200
202
  }, /* bExport= */ true);
@@ -4,16 +4,15 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- 'sap/ui/core/ComponentContainer', // sap.ui.component
8
7
  "sap/base/util/uid",
9
- "sap/ui/thirdparty/jquery",
10
- 'sap/ui/core/Component'
11
- ], function(ComponentContainer, uid, jQueryDOM, Component) {
8
+ "sap/ui/core/Component",
9
+ "sap/ui/core/ComponentContainer"
10
+ ], function(uid, Component, ComponentContainer) {
12
11
  "use strict";
13
12
 
14
13
  var _loadingStarted = false,
15
14
  _oComponentContainer = null,
16
- _$Component = null;
15
+ _oComponentDOM = null;
17
16
 
18
17
  /**
19
18
  * By using start launcher will instantiate and place the component into html.
@@ -39,8 +38,11 @@ sap.ui.define([
39
38
  var sId = uid();
40
39
 
41
40
  // create and add div to html
42
- _$Component = jQueryDOM('<div id="' + sId + '" class="sapUiOpaComponent"></div>');
43
- jQueryDOM("body").append(_$Component).addClass("sapUiOpaBodyComponent");
41
+ _oComponentDOM = document.createElement("div");
42
+ _oComponentDOM.id = sId;
43
+ _oComponentDOM.className = "sapUiOpaComponent";
44
+ document.body.appendChild(_oComponentDOM);
45
+ document.body.classList.add("sapUiOpaBodyComponent");
44
46
 
45
47
  // create and place the component into html
46
48
  _oComponentContainer = new ComponentContainer({
@@ -64,9 +66,9 @@ sap.ui.define([
64
66
  throw new Error("sap.ui.test.launchers.componentLauncher: Teardown was called before start. No component was started.");
65
67
  }
66
68
  _oComponentContainer.destroy();
67
- _$Component.remove();
69
+ _oComponentDOM.remove();
68
70
  _loadingStarted = false;
69
- jQueryDOM("body").removeClass("sapUiOpaBodyComponent");
71
+ document.body.classList.remove("sapUiOpaBodyComponent");
70
72
  }
71
73
  };
72
74
 
@@ -4,13 +4,12 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- 'sap/ui/thirdparty/URI',
7
+ "sap/base/Log",
8
+ "sap/base/util/ObjectPath",
8
9
  'sap/ui/Device',
9
10
  'sap/ui/test/_LogCollector',
10
- "sap/base/Log",
11
- "sap/ui/thirdparty/jquery",
12
- 'sap/base/util/ObjectPath'
13
- ], function (URI, Device, _LogCollector, Log, jQueryDOM, ObjectPath) {
11
+ "sap/ui/thirdparty/jquery"
12
+ ], function (Log, ObjectPath, Device, _LogCollector, jQuery) {
14
13
  "use strict";
15
14
 
16
15
  /*global CollectGarbage */
@@ -136,10 +135,10 @@ sap.ui.define([
136
135
  }
137
136
  }
138
137
 
139
- function afterModulesLoaded () {
138
+ function afterModulesLoaded (oFrameLog) {
140
139
  // forward OPA log messages from the inner iframe to the Log listener of the outer frame
141
140
  // the listener should already be created and started by OPA
142
- oFrameJQuery.sap.log.addLogListener(_LogCollector.getInstance()._oListener);
141
+ oFrameLog.addLogListener(_LogCollector.getInstance()._oListener);
143
142
 
144
143
  bUi5Loaded = true;
145
144
  }
@@ -265,6 +264,7 @@ sap.ui.define([
265
264
 
266
265
  function loadFrameModules() {
267
266
  oFrameWindow.sap.ui.require([
267
+ "sap/base/Log",
268
268
  "sap/ui/test/OpaPlugin",
269
269
  "sap/ui/test/autowaiter/_autoWaiter",
270
270
  "sap/ui/test/_OpaLogger",
@@ -273,6 +273,7 @@ sap.ui.define([
273
273
  "sap/ui/core/routing/History",
274
274
  "sap/ui/core/routing/HashChanger"
275
275
  ], function (
276
+ Log,
276
277
  OpaPlugin,
277
278
  _autoWaiter,
278
279
  _OpaLogger,
@@ -289,25 +290,38 @@ sap.ui.define([
289
290
  modifyIFrameNavigation(hasher, History, HashChanger);
290
291
  }
291
292
  FrameHashChanger = HashChanger;
292
- afterModulesLoaded();
293
+ afterModulesLoaded(Log);
293
294
  });
294
295
  }
295
296
 
297
+ function getAbsolutePath(sResource) {
298
+ var sResourceURL = sap.ui.require.toUrl(sResource);
299
+ var oURL = new URL(sResourceURL, document.baseURI);
300
+ oURL.search = oURL.hash = "";
301
+ return oURL.href;
302
+ }
303
+
296
304
  function registerAbsoluteResourcePathInIframe(sResource) {
297
- var sOpaLocation = sap.ui.require.toUrl(sResource);
298
- var sAbsoluteOpaPath = new URI(sOpaLocation).absoluteTo(document.baseURI).search("").toString();
299
- var fnConfig = ObjectPath.get("sap.ui._ui5loader.config", oFrameWindow) || ObjectPath.get("sap.ui.loader.config", oFrameWindow);
305
+ var sAbsoluteOpaPath = getAbsolutePath(sResource);
306
+ var fnConfig = ObjectPath.get("sap.ui.loader.config", oFrameWindow);
300
307
  if (fnConfig) {
301
308
  var paths = {};
302
309
  paths[sResource] = sAbsoluteOpaPath;
303
310
  fnConfig({
304
311
  paths: paths
305
312
  });
306
- } else if (oFrameJQuery && oFrameJQuery.sap && oFrameJQuery.sap.registerResourcePath) {
313
+ return;
314
+ }
315
+
316
+ /**
317
+ * @deprecated since 1.58 as jQuery.sap.registerResourcePath has been deprecated.
318
+ */
319
+ if (oFrameJQuery && oFrameJQuery.sap && oFrameJQuery.sap.registerResourcePath) {
307
320
  oFrameJQuery.sap.registerResourcePath(sResource, sAbsoluteOpaPath);
308
- } else {
309
- throw new Error("iFrameLauncher.js: UI5 module system not found.");
321
+ return;
310
322
  }
323
+
324
+ throw new Error("iFrameLauncher.js: UI5 module system not found.");
311
325
  }
312
326
 
313
327
  function destroyFrame () {
@@ -315,7 +329,7 @@ sap.ui.define([
315
329
  throw new Error("sap.ui.test.launchers.iFrameLauncher: Teardown was called before launch. No iFrame was loaded.");
316
330
  }
317
331
  // Workaround for IE - there are errors even after removing the frame so setting the onerror to noop again seems to be fine
318
- oFrameWindow.onerror = jQueryDOM.noop;
332
+ oFrameWindow.onerror = jQuery.noop;
319
333
  for (var i = 0; i < $Frame.length; i++) {
320
334
  $Frame[0].src = "about:blank";
321
335
  $Frame[0].contentWindow.document.write('');
@@ -349,19 +363,19 @@ sap.ui.define([
349
363
  }
350
364
 
351
365
  //invalidate the cache
352
- $Frame = jQueryDOM("#" + options.frameId);
366
+ $Frame = jQuery("#" + options.frameId);
353
367
 
354
368
  if ($Frame.length) {
355
- $FrameContainer = jQueryDOM(".opaFrameContainer");
369
+ $FrameContainer = jQuery(".opaFrameContainer");
356
370
  } else {
357
371
  if (!options.source) {
358
372
  Log.error("No source was given to launch the IFrame", this);
359
373
  }
360
374
  //invalidate other caches
361
- $FrameContainer = jQueryDOM("<div class='opaFrameContainer'></div>");
362
- $Frame = jQueryDOM('<IFrame id="' + options.frameId + '" class="opaFrame" src="' + options.source + '"></IFrame>');
375
+ $FrameContainer = jQuery("<div class='opaFrameContainer'></div>");
376
+ $Frame = jQuery('<IFrame id="' + options.frameId + '" class="opaFrame" src="' + options.source + '"></IFrame>');
363
377
  $FrameContainer.append($Frame);
364
- jQueryDOM("body").append($FrameContainer);
378
+ jQuery("body").append($FrameContainer);
365
379
  setFrameSize(options.width, options.height);
366
380
  }
367
381
 
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  var oDescendantControl;
43
43
  if (typeof vDescendantControl === "string") {
44
44
  var oAppWindow = oVisitor._getApplicationWindow();
45
- oDescendantControl = oAppWindow.sap.ui.getCore().byId(vDescendantControl);
45
+ oDescendantControl = oAppWindow.sap.ui.require("sap/ui/core/Core").byId(vDescendantControl);
46
46
  } else {
47
47
  oDescendantControl = vDescendantControl;
48
48
  }
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  }
72
72
 
73
73
  var bInAreaForRerendering = oVisitor.isMatching(oControl, function (oControl) {
74
- return oControl.getMetadata().getName() === "sap.ui.core.UIArea" && oControl.bNeedsRerendering;
74
+ return oControl.isA("sap.ui.core.UIArea") && oControl.bNeedsRerendering;
75
75
  });
76
76
 
77
77
  if (bInAreaForRerendering) {
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  }
81
81
 
82
82
  var oAppWindowJQuery = this._getApplicationWindow().jQuery;
83
- var oStaticArea = this._getApplicationWindow().sap.ui.getCore().getStaticAreaRef();
83
+ var oStaticArea = this._getApplicationWindow().sap.ui.require("sap/ui/core/Core").getStaticAreaRef();
84
84
  var bControlIsInStaticArea = oAppWindowJQuery.contains(oStaticArea, oControl.getDomRef());
85
85
  var bOpenStaticBlockingLayer = oAppWindowJQuery("#sap-ui-blocklayer-popup").is(":visible");
86
86
 
@@ -154,8 +154,8 @@ sap.ui.define([
154
154
  return false;
155
155
  }
156
156
 
157
- var fnLabelType = this._getApplicationWindow().jQuery.sap.getObject("sap.m.Label");
158
- var aLabelsInPage = this._getApplicationWindow().sap.ui.core.Element.registry.filter(function (oElement) {
157
+ var fnLabelType = this._getApplicationWindow().sap.ui.require("sap/m/Label");
158
+ var aLabelsInPage = this._getApplicationWindow().sap.ui.require("sap/ui/core/Element").registry.filter(function (oElement) {
159
159
  return oElement instanceof fnLabelType;
160
160
  });
161
161