@openui5/sap.ui.core 1.115.1 → 1.117.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 (685) hide show
  1. package/.dtsgenrc +18 -0
  2. package/.eslintrc.json +1 -11
  3. package/.reuse/dep5 +0 -5
  4. package/THIRDPARTY.txt +1 -7
  5. package/package.json +1 -1
  6. package/src/jquery.sap.global.js +1 -1
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.sjax.js +2 -2
  11. package/src/jquery.sap.storage.js +3 -3
  12. package/src/sap/base/Event.js +106 -0
  13. package/src/sap/base/Eventing.js +319 -0
  14. package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
  15. package/src/sap/base/config.js +3 -2
  16. package/src/sap/base/i18n/Formatting.js +989 -0
  17. package/src/sap/base/i18n/LanguageTag.js +189 -0
  18. package/src/sap/base/i18n/Localization.js +710 -0
  19. package/src/sap/base/i18n/ResourceBundle.js +5 -20
  20. package/src/sap/base/i18n/date/CalendarType.js +54 -0
  21. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  22. package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
  23. package/src/sap/base/util/JSTokenizer.js +1 -1
  24. package/src/sap/base/util/fetch.js +4 -4
  25. package/src/sap/base/util/mixedFetch.js +2 -2
  26. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  27. package/src/sap/base/util/restricted/_castArray.js +1 -1
  28. package/src/sap/base/util/restricted/_compact.js +1 -1
  29. package/src/sap/base/util/restricted/_curry.js +1 -1
  30. package/src/sap/base/util/restricted/_debounce.js +1 -1
  31. package/src/sap/base/util/restricted/_difference.js +1 -1
  32. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  33. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  34. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  35. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  36. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  37. package/src/sap/base/util/restricted/_flatten.js +1 -1
  38. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  39. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  40. package/src/sap/base/util/restricted/_intersection.js +1 -1
  41. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  44. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  45. package/src/sap/base/util/restricted/_isNil.js +1 -1
  46. package/src/sap/base/util/restricted/_max.js +1 -1
  47. package/src/sap/base/util/restricted/_merge.js +1 -1
  48. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  49. package/src/sap/base/util/restricted/_min.js +1 -1
  50. package/src/sap/base/util/restricted/_omit.js +1 -1
  51. package/src/sap/base/util/restricted/_pick.js +1 -1
  52. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  53. package/src/sap/base/util/restricted/_throttle.js +1 -1
  54. package/src/sap/base/util/restricted/_toArray.js +1 -1
  55. package/src/sap/base/util/restricted/_union.js +1 -1
  56. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  57. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  58. package/src/sap/base/util/restricted/_uniq.js +1 -1
  59. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  60. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  61. package/src/sap/base/util/restricted/_without.js +1 -1
  62. package/src/sap/base/util/restricted/_xor.js +1 -1
  63. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  64. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  65. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  66. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  67. package/src/sap/base/util/syncFetch.js +2 -2
  68. package/src/sap/ui/Device.js +3 -3
  69. package/src/sap/ui/Global.js +4 -4
  70. package/src/sap/ui/base/Event.js +6 -4
  71. package/src/sap/ui/base/EventProvider.js +4 -12
  72. package/src/sap/ui/base/Interface.js +1 -1
  73. package/src/sap/ui/base/ManagedObject.js +9 -15
  74. package/src/sap/ui/base/ManagedObjectMetadata.js +33 -12
  75. package/src/sap/ui/base/Metadata.js +1 -1
  76. package/src/sap/ui/base/Object.js +1 -1
  77. package/src/sap/ui/base/ObjectPool.js +1 -1
  78. package/src/sap/ui/base/SyncPromise.js +10 -5
  79. package/src/sap/ui/core/.library +3 -3
  80. package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
  81. package/src/sap/ui/core/AnimationMode.js +49 -0
  82. package/src/sap/ui/core/BusyIndicator.js +33 -42
  83. package/src/sap/ui/core/CalendarType.js +11 -37
  84. package/src/sap/ui/core/Component.js +4 -5
  85. package/src/sap/ui/core/ComponentContainer.js +1 -1
  86. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  87. package/src/sap/ui/core/ComponentSupport.js +1 -1
  88. package/src/sap/ui/core/ConfigTest.js +17 -0
  89. package/src/sap/ui/core/Configuration.js +409 -1282
  90. package/src/sap/ui/core/Control.js +7 -12
  91. package/src/sap/ui/core/ControlBehavior.js +157 -0
  92. package/src/sap/ui/core/Core.js +126 -132
  93. package/src/sap/ui/core/CustomData.js +1 -1
  94. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  95. package/src/sap/ui/core/Element.js +14 -3
  96. package/src/sap/ui/core/ElementMetadata.js +2 -4
  97. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  98. package/src/sap/ui/core/EventBus.js +1 -1
  99. package/src/sap/ui/core/Fragment.js +1 -1
  100. package/src/sap/ui/core/HTML.js +1 -1
  101. package/src/sap/ui/core/History.js +1 -1
  102. package/src/sap/ui/core/Icon.js +1 -1
  103. package/src/sap/ui/core/IconPool.js +1 -2
  104. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  105. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  106. package/src/sap/ui/core/InvisibleMessage.js +5 -7
  107. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  108. package/src/sap/ui/core/InvisibleText.js +12 -12
  109. package/src/sap/ui/core/Item.js +1 -1
  110. package/src/sap/ui/core/LabelEnablement.js +1 -1
  111. package/src/sap/ui/core/LayoutData.js +1 -1
  112. package/src/sap/ui/core/Lib.js +126 -38
  113. package/src/sap/ui/core/ListItem.js +1 -1
  114. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  115. package/src/sap/ui/core/Locale.js +154 -430
  116. package/src/sap/ui/core/LocaleData.js +50 -14
  117. package/src/sap/ui/core/Manifest.js +5 -5
  118. package/src/sap/ui/core/Message.js +1 -1
  119. package/src/sap/ui/core/Popup.js +37 -50
  120. package/src/sap/ui/core/RenderManager.js +1 -1
  121. package/src/sap/ui/core/Renderer.js +1 -1
  122. package/src/sap/ui/core/Rendering.js +1 -1
  123. package/src/sap/ui/core/ResizeHandler.js +1 -1
  124. package/src/sap/ui/core/ScrollBar.js +1 -1
  125. package/src/sap/ui/core/SeparatorItem.js +1 -1
  126. package/src/sap/ui/core/Shortcut.js +11 -9
  127. package/src/sap/ui/core/StaticArea.js +31 -17
  128. package/src/sap/ui/core/Theming.js +458 -0
  129. package/src/sap/ui/core/Title.js +1 -1
  130. package/src/sap/ui/core/TooltipBase.js +1 -1
  131. package/src/sap/ui/core/UIArea.js +1 -1
  132. package/src/sap/ui/core/UIComponent.js +1 -1
  133. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  134. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  135. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  136. package/src/sap/ui/core/XMLComposite.js +1 -1
  137. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  138. package/src/sap/ui/core/XMLTemplateProcessor.js +28 -5
  139. package/src/sap/ui/core/_IconRegistry.js +89 -12
  140. package/src/sap/ui/core/boot/_bootConfig.js +137 -0
  141. package/src/sap/ui/core/boot/_runBoot.js +16 -0
  142. package/src/sap/ui/core/boot/initDOM.js +96 -0
  143. package/src/sap/ui/core/boot/loadCalendar.js +50 -0
  144. package/src/sap/ui/core/boot/loadManifest.js +55 -0
  145. package/src/sap/ui/core/boot/loadModules.js +80 -0
  146. package/src/sap/ui/core/boot/manifest.json +11 -0
  147. package/src/sap/ui/core/boot/onInit.js +44 -0
  148. package/src/sap/ui/core/boot.js +107 -0
  149. package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
  150. package/src/sap/ui/core/date/UI5Date.js +10 -4
  151. package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
  152. package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
  153. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  154. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  155. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  156. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  157. package/src/sap/ui/core/format/DateFormat.js +33 -27
  158. package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
  159. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  160. package/src/sap/ui/core/library.js +32 -6
  161. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  162. package/src/sap/ui/core/message/Message.js +1 -1
  163. package/src/sap/ui/core/message/MessageManager.js +1 -1
  164. package/src/sap/ui/core/message/MessageMixin.js +6 -5
  165. package/src/sap/ui/core/message/MessageParser.js +1 -1
  166. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  167. package/src/sap/ui/core/messagebundle_ar.properties +57 -55
  168. package/src/sap/ui/core/messagebundle_bg.properties +57 -55
  169. package/src/sap/ui/core/messagebundle_ca.properties +30 -28
  170. package/src/sap/ui/core/messagebundle_cs.properties +44 -42
  171. package/src/sap/ui/core/messagebundle_cy.properties +59 -57
  172. package/src/sap/ui/core/messagebundle_da.properties +57 -55
  173. package/src/sap/ui/core/messagebundle_de.properties +59 -57
  174. package/src/sap/ui/core/messagebundle_el.properties +48 -46
  175. package/src/sap/ui/core/messagebundle_en.properties +59 -57
  176. package/src/sap/ui/core/messagebundle_en_GB.properties +59 -57
  177. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
  178. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
  179. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
  180. package/src/sap/ui/core/messagebundle_es.properties +48 -46
  181. package/src/sap/ui/core/messagebundle_es_MX.properties +58 -56
  182. package/src/sap/ui/core/messagebundle_et.properties +55 -53
  183. package/src/sap/ui/core/messagebundle_fi.properties +51 -49
  184. package/src/sap/ui/core/messagebundle_fr.properties +36 -34
  185. package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
  186. package/src/sap/ui/core/messagebundle_hi.properties +42 -40
  187. package/src/sap/ui/core/messagebundle_hr.properties +57 -55
  188. package/src/sap/ui/core/messagebundle_hu.properties +58 -56
  189. package/src/sap/ui/core/messagebundle_id.properties +59 -57
  190. package/src/sap/ui/core/messagebundle_it.properties +75 -73
  191. package/src/sap/ui/core/messagebundle_iw.properties +59 -57
  192. package/src/sap/ui/core/messagebundle_ja.properties +50 -48
  193. package/src/sap/ui/core/messagebundle_kk.properties +44 -42
  194. package/src/sap/ui/core/messagebundle_ko.properties +20 -18
  195. package/src/sap/ui/core/messagebundle_lt.properties +59 -57
  196. package/src/sap/ui/core/messagebundle_lv.properties +59 -57
  197. package/src/sap/ui/core/messagebundle_ms.properties +60 -58
  198. package/src/sap/ui/core/messagebundle_nl.properties +58 -56
  199. package/src/sap/ui/core/messagebundle_no.properties +56 -54
  200. package/src/sap/ui/core/messagebundle_pl.properties +56 -54
  201. package/src/sap/ui/core/messagebundle_pt.properties +58 -56
  202. package/src/sap/ui/core/messagebundle_pt_PT.properties +58 -56
  203. package/src/sap/ui/core/messagebundle_ro.properties +59 -57
  204. package/src/sap/ui/core/messagebundle_ru.properties +57 -55
  205. package/src/sap/ui/core/messagebundle_sh.properties +59 -57
  206. package/src/sap/ui/core/messagebundle_sk.properties +57 -55
  207. package/src/sap/ui/core/messagebundle_sl.properties +58 -56
  208. package/src/sap/ui/core/messagebundle_sv.properties +54 -52
  209. package/src/sap/ui/core/messagebundle_th.properties +18 -16
  210. package/src/sap/ui/core/messagebundle_tr.properties +58 -56
  211. package/src/sap/ui/core/messagebundle_uk.properties +59 -57
  212. package/src/sap/ui/core/messagebundle_vi.properties +59 -57
  213. package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
  214. package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
  215. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  216. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  217. package/src/sap/ui/core/mvc/JSView.js +1 -1
  218. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  219. package/src/sap/ui/core/mvc/View.js +1 -1
  220. package/src/sap/ui/core/mvc/XMLView.js +14 -2
  221. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  222. package/src/sap/ui/core/plugin/LessSupport.js +14 -16
  223. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  224. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  225. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  226. package/src/sap/ui/core/routing/HashChanger.js +1 -0
  227. package/src/sap/ui/core/routing/Route.js +1 -0
  228. package/src/sap/ui/core/routing/Router.js +3 -1
  229. package/src/sap/ui/core/rules/Config.support.js +2 -2
  230. package/src/sap/ui/core/rules/Misc.support.js +1 -1
  231. package/src/sap/ui/core/rules/Model.support.js +3 -1
  232. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  233. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  234. package/src/sap/ui/core/service/Service.js +1 -1
  235. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  236. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  237. package/src/sap/ui/core/support/Plugin.js +1 -1
  238. package/src/sap/ui/core/support/Support.js +7 -4
  239. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  240. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  241. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  242. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  243. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  244. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  245. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  246. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  247. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  248. package/src/sap/ui/core/themes/base/Icon.less +2 -2
  249. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
  250. package/src/sap/ui/core/themes/base/base.less +41 -20
  251. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  252. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  253. package/src/sap/ui/core/theming/Parameters.js +6 -10
  254. package/src/sap/ui/core/theming/ThemeManager.js +312 -450
  255. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  256. package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
  257. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  258. package/src/sap/ui/core/tmpl/Template.js +1 -1
  259. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  260. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  261. package/src/sap/ui/core/util/Export.js +1 -1
  262. package/src/sap/ui/core/util/ExportCell.js +1 -1
  263. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  264. package/src/sap/ui/core/util/ExportRow.js +1 -1
  265. package/src/sap/ui/core/util/ExportType.js +1 -1
  266. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  267. package/src/sap/ui/core/util/File.js +1 -1
  268. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  269. package/src/sap/ui/core/util/MockServer.js +4 -5
  270. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  271. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
  272. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  273. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  274. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  275. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  276. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  277. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  278. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  279. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  280. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  281. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  282. package/src/sap/ui/debug/ControlTree.js +1 -1
  283. package/src/sap/ui/debug/DebugEnv.js +1 -1
  284. package/src/sap/ui/debug/PropertyList.js +1 -1
  285. package/src/sap/ui/events/PseudoEvents.js +17 -9
  286. package/src/sap/ui/model/Binding.js +19 -15
  287. package/src/sap/ui/model/ClientModel.js +1 -1
  288. package/src/sap/ui/model/CompositeBinding.js +57 -19
  289. package/src/sap/ui/model/CompositeDataState.js +1 -1
  290. package/src/sap/ui/model/CompositeType.js +1 -1
  291. package/src/sap/ui/model/DataState.js +1 -1
  292. package/src/sap/ui/model/ListBinding.js +42 -1
  293. package/src/sap/ui/model/MetaModel.js +1 -1
  294. package/src/sap/ui/model/Model.js +5 -4
  295. package/src/sap/ui/model/PropertyBinding.js +10 -0
  296. package/src/sap/ui/model/SelectionModel.js +1 -1
  297. package/src/sap/ui/model/SimpleType.js +4 -1
  298. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  299. package/src/sap/ui/model/Type.js +1 -1
  300. package/src/sap/ui/model/analytics/AnalyticalBinding.js +166 -79
  301. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
  302. package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
  303. package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
  304. package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
  305. package/src/sap/ui/model/base/ManagedObjectModel.js +3 -2
  306. package/src/sap/ui/model/json/JSONModel.js +6 -1
  307. package/src/sap/ui/model/message/MessageModel.js +1 -1
  308. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  309. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  310. package/src/sap/ui/model/odata/ODataMetaModel.js +191 -5
  311. package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
  312. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  313. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  314. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  315. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  316. package/src/sap/ui/model/odata/type/Date.js +1 -1
  317. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  318. package/src/sap/ui/model/odata/type/DateTimeBase.js +8 -1
  319. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  320. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  321. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  322. package/src/sap/ui/model/odata/type/Double.js +1 -1
  323. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  324. package/src/sap/ui/model/odata/type/Int.js +1 -1
  325. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  326. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  327. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  328. package/src/sap/ui/model/odata/type/ODataType.js +3 -3
  329. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  330. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  331. package/src/sap/ui/model/odata/type/Single.js +1 -1
  332. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  333. package/src/sap/ui/model/odata/type/String.js +1 -1
  334. package/src/sap/ui/model/odata/type/Time.js +1 -1
  335. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  336. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  337. package/src/sap/ui/model/odata/v2/Context.js +3 -2
  338. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  339. package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
  340. package/src/sap/ui/model/odata/v2/ODataModel.js +46 -32
  341. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  342. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
  343. package/src/sap/ui/model/odata/v4/Context.js +39 -32
  344. package/src/sap/ui/model/odata/v4/ODataBinding.js +85 -52
  345. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +23 -19
  346. package/src/sap/ui/model/odata/v4/ODataListBinding.js +139 -50
  347. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +30 -36
  348. package/src/sap/ui/model/odata/v4/ODataModel.js +49 -44
  349. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +72 -37
  350. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +34 -29
  351. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +95 -9
  352. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
  353. package/src/sap/ui/model/odata/v4/lib/_Cache.js +95 -209
  354. package/src/sap/ui/model/odata/v4/lib/_Helper.js +168 -1
  355. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
  356. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +34 -19
  357. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
  358. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  359. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  360. package/src/sap/ui/model/type/Boolean.js +1 -1
  361. package/src/sap/ui/model/type/Currency.js +1 -1
  362. package/src/sap/ui/model/type/Date.js +1 -1
  363. package/src/sap/ui/model/type/DateInterval.js +1 -1
  364. package/src/sap/ui/model/type/DateTime.js +1 -1
  365. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  366. package/src/sap/ui/model/type/FileSize.js +1 -1
  367. package/src/sap/ui/model/type/Float.js +1 -1
  368. package/src/sap/ui/model/type/Integer.js +1 -1
  369. package/src/sap/ui/model/type/String.js +1 -1
  370. package/src/sap/ui/model/type/Time.js +1 -1
  371. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  372. package/src/sap/ui/model/type/Unit.js +1 -1
  373. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  374. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  375. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  376. package/src/sap/ui/test/Opa5.js +1 -1
  377. package/src/sap/ui/test/TestUtils.js +1 -1
  378. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  379. package/src/sap/ui/test/generic/TestBase.js +1 -1
  380. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
  381. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
  382. package/src/sap/ui/test/matchers/LabelFor.js +1 -0
  383. package/src/sap/ui/test/matchers/_Visitor.js +6 -1
  384. package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
  385. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
  386. package/src/sap/ui/thirdparty/qunit-2.js +9 -3
  387. package/src/sap/ui/util/ActivityDetection.js +7 -1
  388. package/src/sap/ui/util/Mobile.js +21 -14
  389. package/src/sap/ui/util/Storage.js +1 -1
  390. package/src/sap-ui-boot.js +23 -6
  391. package/src/ui5-boot.js +50 -0
  392. package/src/ui5loader-autoconfig.js +150 -75
  393. package/src/ui5loader.js +458 -514
  394. package/test/sap/ui/core/Device.js +1 -1
  395. package/test/sap/ui/core/FormatHelper.js +3 -2
  396. package/test/sap/ui/core/demokit/docuindex.json +6 -0
  397. package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
  398. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
  399. package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
  400. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
  401. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
  402. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
  403. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
  404. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
  405. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
  406. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
  407. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
  408. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
  409. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
  410. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
  411. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
  412. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
  413. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
  414. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
  415. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
  416. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
  417. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +70 -0
  419. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
  420. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
  421. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
  422. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
  423. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
  424. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
  425. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
  426. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
  427. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
  428. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
  429. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
  430. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
  431. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
  432. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
  433. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
  434. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
  435. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
  436. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
  437. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
  438. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
  439. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
  440. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
  441. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
  442. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
  443. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
  444. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
  445. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
  446. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
  447. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
  448. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
  449. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
  450. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
  451. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
  452. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
  453. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
  454. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
  455. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
  456. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
  457. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
  458. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
  459. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
  460. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
  461. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
  462. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
  463. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
  464. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
  465. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
  466. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
  467. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
  468. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
  469. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
  470. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
  471. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
  472. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
  473. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
  474. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
  475. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
  476. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
  477. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
  478. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
  479. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
  480. package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
  481. package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
  482. package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
  483. package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
  484. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
  485. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
  486. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
  487. package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
  488. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
  489. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
  490. package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
  491. package/test/sap/ui/core/qunit/Theming.qunit.js +247 -0
  492. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
  493. package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
  494. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +81 -16
  495. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
  496. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
  497. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
  498. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
  499. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +277 -0
  500. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +282 -0
  501. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
  502. package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
  503. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
  504. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
  505. package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
  506. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
  507. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +451 -281
  508. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
  509. package/test/sap/ui/core/qunit/component/Models.qunit.js +12 -30
  510. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
  511. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
  512. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  513. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
  514. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
  515. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  516. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
  517. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
  518. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  519. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
  520. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
  521. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
  522. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
  523. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
  524. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
  525. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
  526. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
  527. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
  528. package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
  529. package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
  530. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
  531. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
  532. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
  533. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
  534. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
  535. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
  536. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
  537. package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
  538. package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
  539. package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
  540. package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
  541. package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
  542. package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
  543. package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
  544. package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
  545. package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
  546. package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
  547. package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
  548. package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
  549. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
  550. package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
  551. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
  552. package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
  553. package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
  554. package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
  555. package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
  556. package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
  557. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
  558. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
  559. package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
  560. package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
  561. package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
  562. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +49 -14
  563. package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
  564. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +74 -114
  565. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
  566. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
  567. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  568. package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
  569. package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
  570. package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
  571. package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
  572. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
  573. package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
  574. package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
  575. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
  576. package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
  577. package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
  578. package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
  579. package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
  580. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
  581. package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
  582. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
  583. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
  584. package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
  585. package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
  586. package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
  587. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
  588. package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
  589. package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
  590. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
  591. package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
  592. package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
  593. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
  594. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
  595. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
  596. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
  597. package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
  598. package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
  599. package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
  600. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
  601. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
  602. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -9
  603. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
  604. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
  605. package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
  606. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
  607. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +260 -56
  608. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
  609. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
  610. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
  611. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
  612. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
  613. package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
  614. package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
  615. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +55 -22
  616. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +184 -151
  617. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +60 -30
  618. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +305 -69
  619. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +20 -69
  620. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1282 -255
  621. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +90 -61
  622. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
  623. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
  624. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
  625. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
  626. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
  627. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
  628. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +151 -1
  629. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
  630. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +279 -458
  631. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +204 -3
  632. package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
  633. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +145 -26
  634. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
  635. package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
  636. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
  637. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
  638. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
  639. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
  640. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
  641. package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
  642. package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
  643. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
  644. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
  645. package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
  646. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
  647. package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
  648. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
  649. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
  650. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
  651. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
  652. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
  653. package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
  654. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
  655. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
  656. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
  657. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1381 -1570
  658. package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
  659. package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
  660. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
  661. package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
  662. package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
  663. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
  664. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
  665. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
  666. package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
  667. package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
  668. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
  669. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
  670. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
  671. package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
  672. package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
  673. package/test/sap/ui/core/relnotes/changes-1.116.json +71 -0
  674. package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
  675. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  676. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  677. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  678. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  679. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  680. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  681. package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
  682. package/test/testsuite/js/samples.js +2 -0
  683. package/ui5.yaml +166 -1
  684. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
  685. /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
@@ -2,9 +2,12 @@
2
2
  sap.ui.define([
3
3
  'sap/ui/test/matchers/_Busy',
4
4
  'sap/m/Button',
5
+ 'sap/m/Dialog',
5
6
  'sap/m/Toolbar',
6
- 'sap/m/Page'
7
- ], function (_Busy, Button, Toolbar, Page) {
7
+ 'sap/m/Page',
8
+ 'sap/m/VBox',
9
+ "sap/ui/core/mvc/XMLView"
10
+ ], function (_Busy, Button, Dialog, Toolbar, Page, VBox, XMLView) {
8
11
  "use strict";
9
12
 
10
13
  QUnit.module("_Busy", {
@@ -45,4 +48,128 @@ sap.ui.define([
45
48
  assert.ok(!this.oBusyMatcher.isMatching(this.oPage));
46
49
  sinon.assert.notCalled(this.oSpy);
47
50
  });
51
+
52
+ QUnit.module("_Busy in ComponentContainer");
53
+
54
+ QUnit.test("Should match when parent is ComponentContainer", function (assert) {
55
+ // Arrange
56
+ var oButton = new Button({text: "Hello World"}),
57
+ oVBox = new VBox({
58
+ items: [oButton]
59
+ }),
60
+ oBusy = new _Busy(),
61
+ fnDone = assert.async();
62
+
63
+ sap.ui.define("my/Component", [
64
+ "sap/ui/core/UIComponent"
65
+ ], function(UIComponent) {
66
+
67
+ return UIComponent.extend("my.Component", {
68
+
69
+ metadata: {
70
+ manifest: {}
71
+ },
72
+
73
+ createContent: function() {
74
+ return oVBox;
75
+ }
76
+
77
+ });
78
+
79
+ });
80
+
81
+ sap.ui.require([
82
+ "my/Component", "sap/ui/core/ComponentContainer"
83
+ ], function(MyComponent, ComponentContainer) {
84
+
85
+ var oContainer = new ComponentContainer({
86
+ //name: "my"
87
+ component: new MyComponent()
88
+ });
89
+
90
+ oContainer.placeAt("qunit-fixture");
91
+ sap.ui.getCore().applyChanges();
92
+
93
+ // Assert
94
+ assert.strictEqual(oBusy.isMatching(oButton), false, "Button is not busy");
95
+
96
+ // Act
97
+ oContainer.setBusy(true);
98
+
99
+ // Assert
100
+ assert.strictEqual(oBusy.isMatching(oButton), true, "Button is busy");
101
+
102
+ // Clean up
103
+ oContainer.destroy();
104
+ fnDone();
105
+ });
106
+
107
+ QUnit.test("Should not block Dialog, when parent is ComponentContainer, placed in Busy control/view", function (assert) {
108
+ // Arrange
109
+ var oDialog = new Dialog(),
110
+ oVBox = new VBox(),
111
+ oBusy = new _Busy(),
112
+ fnDone = assert.async();
113
+
114
+ var oXmlString = [
115
+ '<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">',
116
+ '</mvc:View>'
117
+ ];
118
+
119
+ XMLView.create({
120
+ id: "comp---view",
121
+ definition: oXmlString
122
+ }).then(function (oView) {
123
+
124
+ sap.ui.define("my2/Component", [
125
+ "sap/ui/core/UIComponent"
126
+ ], function(UIComponent) {
127
+
128
+ return UIComponent.extend("my2.Component", {
129
+
130
+ metadata: {
131
+ manifest: {}
132
+ },
133
+
134
+ createContent: function() {
135
+ return oView;
136
+ }
137
+
138
+ });
139
+ });
140
+
141
+ sap.ui.require([
142
+ "my2/Component", "sap/ui/core/ComponentContainer"
143
+ ], function(MyComponent, ComponentContainer) {
144
+
145
+ var oContainer = new ComponentContainer({
146
+ //name: "my"
147
+ component: new MyComponent()
148
+ });
149
+
150
+ oVBox.addItem(oContainer);
151
+ oVBox.placeAt("qunit-fixture");
152
+ oView.addDependent(oDialog);
153
+ sap.ui.getCore().applyChanges();
154
+
155
+ // Assert
156
+ assert.strictEqual(oBusy.isMatching(oDialog), false, "Button is not busy");
157
+
158
+ // Act
159
+ oVBox.setBusy(true);
160
+ oDialog.open();
161
+
162
+ // Assert
163
+ assert.strictEqual(oBusy.isMatching(oDialog), false, "Button is not busy");
164
+
165
+ // Clean up
166
+ oContainer.destroy();
167
+ fnDone();
168
+ });
169
+
170
+ });
171
+
172
+ });
173
+
174
+ });
48
175
  });
@@ -3,15 +3,19 @@ sap.ui.define([
3
3
  'sap/ui/test/matchers/_Editable',
4
4
  'sap/m/Input',
5
5
  'sap/m/Text',
6
+ 'sap/ui/layout/library',
6
7
  'sap/ui/layout/form/SimpleForm'
7
- ], function (_Editable, Input, Text, SimpleForm) {
8
+ ], function (_Editable, Input, Text, layoutLibrary, SimpleForm) {
8
9
  "use strict";
9
10
 
11
+ var SimpleFormLayout = layoutLibrary.form.SimpleFormLayout;
12
+
10
13
  QUnit.module("_Editable matcher", {
11
14
  beforeEach: function () {
12
15
  this.oInput = new Input("myInput");
13
16
  this.oText = new Text("myText");
14
17
  this.oForm = new SimpleForm("myForm", {
18
+ layout: SimpleFormLayout.ColumnLayout,
15
19
  content: [this.oInput, this.oText]
16
20
  });
17
21
  this.oForm.placeAt("qunit-fixture");
@@ -82,6 +82,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
82
82
  // duration - end_to_end_time
83
83
  return values[4] === "1000";
84
84
  }
85
+ return false;
85
86
  }), "Found the FESR header field values.");
86
87
 
87
88
  assert.ok(oHeaderSpy.args.some(function(args) {
@@ -90,6 +91,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
90
91
  // application_name, step_name, application_name with 70 characters
91
92
  return values[0] === "newAppNameShort" && values[1] === "newStepName" && values[15] === "1" && values[19] === "newAppNameLong";
92
93
  }
94
+ return false;
93
95
  }), "Found the optional FESR header field values.");
94
96
 
95
97
  Interaction.end(true);
@@ -154,6 +156,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
154
156
  // duration - end_to_end_time
155
157
  return values[4] === "1000";
156
158
  }
159
+ return false;
157
160
  }), "Found the FESR header field values.");
158
161
 
159
162
  assert.ok(oHeaderSpy.args.some(function(args) {
@@ -162,6 +165,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
162
165
  // application_name, step_name, application_name with 70 characters
163
166
  return values[0] === "newAppNameShort" && values[1] === "newStepName" && values[15] === "2" && values[19] === "newAppNameLong";
164
167
  }
168
+ return false;
165
169
  }), "Found the optional FESR header field values.");
166
170
 
167
171
  Interaction.end(true);
@@ -203,6 +207,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
203
207
  assert.ok(bEquals, "action string matches");
204
208
  return bEquals && bStepCountAvailable;
205
209
  }
210
+ return false;
206
211
  }), "Found the FESR header field values.");
207
212
 
208
213
  assert.strictEqual(oHeaderSpy.args.filter(function(args) {
@@ -15,10 +15,7 @@ sap.ui.define([
15
15
  "use strict";
16
16
 
17
17
  var sClassname = "sap.ui.model.resource.ResourceModel",
18
- sDefaultLanguage = Configuration.getLanguage(),
19
- oContent = document.createElement("div"); //add divs for control tests
20
- oContent.id = "target1";
21
- document.body.appendChild(oContent);
18
+ sDefaultLanguage = Configuration.getLanguage();
22
19
 
23
20
  var oModel, oLabel, oLabel2,
24
21
  sCustomMessagesProperties
@@ -44,28 +41,22 @@ sap.ui.define([
44
41
  //model created
45
42
  QUnit.test("Model instantiated successful", function(assert) {
46
43
  oLabel = new TestButton("myLabel", {text: "{TEST_TEXT}"});
47
- oLabel.placeAt("target1");
44
+ oLabel.placeAt("qunit-fixture");
48
45
 
49
46
  assert.ok(oModel, "model must exist after creation");
50
47
  assert.ok(oModel instanceof ResourceModel, "model must be instanceof sap.ui.model.resource.ResourceModel");
51
48
  oLabel.destroy();
52
49
  });
53
50
 
54
- //getProperty()
55
- QUnit.test("test model getProperty", function(assert) {
56
- var value = oModel.getProperty("TEST_TEXT");
57
- assert.equal(value, "A text en");
58
- });
59
-
60
51
  //setProperty must not exist!
61
52
  QUnit.test("set Property must have no effect", function(assert) {
62
53
  assert.ok(!oModel.setProperty, "set Property method should not be defined");
63
54
  });
64
55
 
65
56
  //getProperty()/binding
66
- QUnit.test("test model getProperty", function(assert) {
57
+ QUnit.test("test model getProperty and via binding", function(assert) {
67
58
  oLabel = new TestButton("myLabel", {text: "{TEST_TEXT}"});
68
- oLabel.placeAt("target1");
59
+ oLabel.placeAt("qunit-fixture");
69
60
  var value = oModel.getProperty("TEST_TEXT");
70
61
  assert.equal(value, "A text en");
71
62
  assert.equal(oLabel.getText(), "A text en");
@@ -90,28 +81,22 @@ sap.ui.define([
90
81
  //model created
91
82
  QUnit.test("Model instantiated successful", function(assert) {
92
83
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
93
- oLabel.placeAt("target1");
84
+ oLabel.placeAt("qunit-fixture");
94
85
 
95
86
  assert.ok(oModel, "model must exist after creation");
96
87
  assert.ok(oModel instanceof ResourceModel, "model must be instanceof sap.ui.model.resource.ResourceModel");
97
88
  oLabel.destroy();
98
89
  });
99
90
 
100
- //getProperty()
101
- QUnit.test("test model getProperty", function(assert) {
102
- var value = oModel.getProperty("TEST_TEXT");
103
- assert.equal(value, "A text en");
104
- });
105
-
106
91
  //setProperty must not exist!
107
92
  QUnit.test("set Property must have no effect", function(assert) {
108
93
  assert.ok(!oModel.setProperty, "set Property method should not be defined");
109
94
  });
110
95
 
111
96
  //getProperty()/binding
112
- QUnit.test("test model getProperty", function(assert) {
97
+ QUnit.test("test model getProperty and via binding", function(assert) {
113
98
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
114
- oLabel.placeAt("target1");
99
+ oLabel.placeAt("qunit-fixture");
115
100
  var value = oModel.getProperty("TEST_TEXT");
116
101
  assert.equal(value, "A text en");
117
102
  assert.equal(oLabel.getText(), "A text en");
@@ -135,7 +120,7 @@ sap.ui.define([
135
120
  //model created
136
121
  QUnit.test("Model instantiated successful", function(assert) {
137
122
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
138
- oLabel.placeAt("target1");
123
+ oLabel.placeAt("qunit-fixture");
139
124
 
140
125
  assert.ok(oModel, "model must exist after creation");
141
126
  assert.ok(oModel instanceof ResourceModel, "model must be instanceof sap.ui.model.resource.ResourceModel");
@@ -146,19 +131,14 @@ sap.ui.define([
146
131
 
147
132
  oLabel.destroy();
148
133
  });
149
- //getProperty()
150
- QUnit.test("test model getProperty", function(assert) {
151
- var value = oModel.getProperty("TEST_TEXT");
152
- assert.equal(value, "A text en");
153
- });
154
134
  //setProperty must not exist!
155
135
  QUnit.test("set Property must have no effect", function(assert) {
156
136
  assert.ok(!oModel.setProperty, "set Property method should not be defined");
157
137
  });
158
138
  //getProperty()/binding
159
- QUnit.test("test model getProperty", function(assert) {
139
+ QUnit.test("test model getProperty and via binding", function(assert) {
160
140
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
161
- oLabel.placeAt("target1");
141
+ oLabel.placeAt("qunit-fixture");
162
142
  var value = oModel.getProperty("TEST_TEXT");
163
143
  assert.equal(value, "A text en");
164
144
  assert.equal(oLabel.getText(), "A text en");
@@ -167,7 +147,7 @@ sap.ui.define([
167
147
  //CompositeBinding
168
148
  QUnit.test("test composite bindings", function(assert) {
169
149
  oLabel2 = new TestButton("myLabel2", {text: {parts: [{path: "i18n>TEST_TEXT"}, {path: "i18n>TEST_TEXT"}]}});
170
- oLabel2.placeAt("target1");
150
+ oLabel2.placeAt("qunit-fixture");
171
151
 
172
152
  assert.ok(oLabel2, "Label with composite binding must be created");
173
153
  assert.equal(oLabel2.getText(), "A text en A text en", "Text msut be: 'A text en A text en'");
@@ -182,7 +162,7 @@ sap.ui.define([
182
162
  assert.equal(info.key, "TEST_TEXT");
183
163
  });
184
164
 
185
- QUnit.test("Model instantiated successful", function(assert) {
165
+ QUnit.test("Model instantiated successfully, named model", function(assert) {
186
166
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
187
167
  oLabel.setModel(oModel, "i18n");
188
168
  var oClone = oLabel.clone();
@@ -193,7 +173,7 @@ sap.ui.define([
193
173
  oModel.destroy();
194
174
  });
195
175
 
196
- QUnit.test("Model instantiated successful", function(assert) {
176
+ QUnit.test("Model instantiated successfully, cloned before named model is set", function(assert) {
197
177
  oLabel = new TestButton("myLabel", {text: "{i18n>TEST_TEXT}"});
198
178
  var oClone = oLabel.clone();
199
179
  oClone.setModel(oModel, "i18n");
@@ -959,9 +939,9 @@ sap.ui.define([
959
939
  beforeEach: function() {
960
940
  Configuration.setLanguage("en");
961
941
  oLabel = new TestButton("myLabel", {text: "{async>TEST_TEXT}"});
962
- oLabel.placeAt("target1");
942
+ oLabel.placeAt("qunit-fixture");
963
943
  oLabel2 = new TestButton("myLabel2", {text: "{async>TEST_TEXT}"});
964
- oLabel2.placeAt("target1");
944
+ oLabel2.placeAt("qunit-fixture");
965
945
  oModel = new ResourceModel({bundleName: "testdata.messages", async: true});
966
946
  Core.setModel(oModel, "async");
967
947
  },
@@ -1085,7 +1065,7 @@ sap.ui.define([
1085
1065
  var oBtn = new TestButton({
1086
1066
  text: "{async5>TEST_TEXT}"
1087
1067
  });
1088
- oBtn.placeAt("target1");
1068
+ oBtn.placeAt("qunit-fixture");
1089
1069
 
1090
1070
  var oAsyncModel = new ResourceModel({
1091
1071
  bundleName: "testdata.messages",
@@ -1116,7 +1096,7 @@ sap.ui.define([
1116
1096
  var oBtn = new TestButton({
1117
1097
  text: "{sync5>TEST_TEXT}"
1118
1098
  });
1119
- oBtn.placeAt("target1");
1099
+ oBtn.placeAt("qunit-fixture");
1120
1100
 
1121
1101
  var oSyncModel = new ResourceModel({
1122
1102
  bundleName: "testdata.messages",
@@ -4,9 +4,8 @@ sap.ui.define([
4
4
  "sap/ui/core/routing/HashChanger",
5
5
  "sap/ui/core/routing/History",
6
6
  "sap/ui/thirdparty/hasher",
7
- "sap/ui/base/EventProvider",
8
7
  "sap/ui/thirdparty/signals"
9
- ], function (Log, HashChanger, History, hasher, EventProvider) {
8
+ ], function (Log, HashChanger, History, hasher) {
10
9
  "use strict";
11
10
 
12
11
 
@@ -690,9 +689,6 @@ sap.ui.define([
690
689
  QUnit.module("Integration: RouterHashChanger and HashChanger", {
691
690
  beforeEach: function(assert) {
692
691
  hasher.setHash("");
693
- // overwrite the returnObject function of the eventPool in EventProvider
694
- // to make the trace of event parameter easier
695
- this.oReturnObjectStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
696
692
 
697
693
  this.oHashChanger = new HashChanger();
698
694
  this.oRHC = this.oHashChanger.createRouterHashChanger();
@@ -707,7 +703,6 @@ sap.ui.define([
707
703
  afterEach: function(assert) {
708
704
  this.oRHC.destroy();
709
705
  this.oHashChanger.destroy();
710
- this.oReturnObjectStub.restore();
711
706
  }
712
707
  });
713
708
 
@@ -3,9 +3,8 @@ sap.ui.define([
3
3
  "sap/base/Log",
4
4
  "sap/ui/core/routing/HashChanger",
5
5
  "sap/ui/core/routing/RouterHashChanger",
6
- "sap/ui/base/EventProvider",
7
6
  "sap/ui/thirdparty/hasher"
8
- ], function (Log, HashChanger, RouterHashChanger, EventProvider, hasher) {
7
+ ], function (Log, HashChanger, RouterHashChanger, hasher) {
9
8
  "use strict";
10
9
 
11
10
 
@@ -89,16 +88,12 @@ sap.ui.define([
89
88
 
90
89
  QUnit.module("RouterHashChanger API", {
91
90
  beforeEach: function() {
92
- // overwrite the returnObject function of the eventPool in EventProvider
93
- // to make the trace of event parameter easier
94
- this.oReturnObjectStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
95
91
  this.oRHC = new RouterHashChanger({
96
92
  parent: HashChanger.getInstance()
97
93
  });
98
94
  },
99
95
  afterEach: function() {
100
96
  this.oRHC.destroy();
101
- this.oReturnObjectStub.restore();
102
97
  }
103
98
  });
104
99
 
@@ -304,9 +299,6 @@ sap.ui.define([
304
299
  QUnit.module("RouterHashChanger SubHashChanger", {
305
300
  beforeEach: function(assert) {
306
301
  hasher.setHash("");
307
- // overwrite the returnObject function of the eventPool in EventProvider
308
- // to make the trace of event parameter easier
309
- this.oReturnObjectStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
310
302
 
311
303
  this.oRHC = HashChanger.getInstance().createRouterHashChanger();
312
304
  this.oChildRHC1 = this.oRHC.createSubHashChanger("foo");
@@ -355,7 +347,6 @@ sap.ui.define([
355
347
  this.oChildRHC1.destroy();
356
348
  this.oChildRHC2.destroy();
357
349
  this.oRHC.destroy();
358
- this.oReturnObjectStub.restore();
359
350
  }
360
351
  });
361
352
 
@@ -12,10 +12,9 @@ sap.ui.define([
12
12
  "sap/m/NavContainer",
13
13
  "sap/m/Panel",
14
14
  "./AsyncViewModuleHook",
15
- "sap/ui/base/EventProvider",
16
15
  "sap/ui/core/Component",
17
16
  "sap/ui/core/ComponentContainer"
18
- ], function (Log, deepExtend, UIComponent, View, ViewType, HashChanger, Router, Views, App, NavContainer, Panel, ModuleHook, EventProvider, Component, ComponentContainer) {
17
+ ], function (Log, deepExtend, UIComponent, View, ViewType, HashChanger, Router, Views, App, NavContainer, Panel, ModuleHook, Component, ComponentContainer) {
19
18
  "use strict";
20
19
 
21
20
  // This global namespace is used for creating custom component classes.
@@ -1617,7 +1616,6 @@ sap.ui.define([
1617
1616
 
1618
1617
  QUnit.module("titleChanged event", {
1619
1618
  beforeEach: function() {
1620
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
1621
1619
  hasher.setHash("");
1622
1620
  this.oApp = new App();
1623
1621
  this.sPattern = "anything";
@@ -1637,7 +1635,6 @@ sap.ui.define([
1637
1635
  },
1638
1636
  afterEach: function() {
1639
1637
  this.oRouter.destroy();
1640
- this.oEventProviderStub.restore();
1641
1638
  }
1642
1639
  });
1643
1640
 
@@ -1833,11 +1830,7 @@ sap.ui.define([
1833
1830
 
1834
1831
  QUnit.module("titleChanged event with binding information", {
1835
1832
  beforeEach: function(){
1836
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
1837
1833
  hasher.setHash("");
1838
- },
1839
- afterEach: function(){
1840
- this.oEventProviderStub.restore();
1841
1834
  }
1842
1835
  });
1843
1836
 
@@ -1944,7 +1937,6 @@ sap.ui.define([
1944
1937
 
1945
1938
  QUnit.module("targets", {
1946
1939
  beforeEach: function () {
1947
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
1948
1940
  this.oShell = new ShellSubstitute();
1949
1941
  this.oChildShell = new ShellSubstitute();
1950
1942
  this.oSecondShell = new ShellSubstitute();
@@ -1970,7 +1962,6 @@ sap.ui.define([
1970
1962
  }.bind(this));
1971
1963
  },
1972
1964
  afterEach: function () {
1973
- this.oEventProviderStub.restore();
1974
1965
  this.oRouter.destroy();
1975
1966
  this.oShell.destroy();
1976
1967
  this.oChildShell.destroy();
@@ -2574,7 +2565,6 @@ sap.ui.define([
2574
2565
 
2575
2566
  QUnit.module("Router in nested component", {
2576
2567
  beforeEach: function() {
2577
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
2578
2568
  resetBrowserHash();
2579
2569
 
2580
2570
  return Component.create({
@@ -2585,7 +2575,6 @@ sap.ui.define([
2585
2575
  },
2586
2576
  afterEach: function () {
2587
2577
  this.oParentComponent.destroy();
2588
- this.oEventProviderStub.restore();
2589
2578
  }
2590
2579
  });
2591
2580
 
@@ -3149,7 +3138,6 @@ sap.ui.define([
3149
3138
 
3150
3139
  QUnit.module("Router in IAsyncContentCreation with nested component", {
3151
3140
  beforeEach: function() {
3152
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
3153
3141
  resetBrowserHash();
3154
3142
  var that = this;
3155
3143
 
@@ -3161,7 +3149,6 @@ sap.ui.define([
3161
3149
  },
3162
3150
  afterEach: function () {
3163
3151
  this.oParentComponent.destroy();
3164
- this.oEventProviderStub.restore();
3165
3152
  }
3166
3153
  });
3167
3154
 
@@ -3189,13 +3176,11 @@ sap.ui.define([
3189
3176
 
3190
3177
  QUnit.module("navTo with nested components", {
3191
3178
  beforeEach: function() {
3192
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
3193
3179
  hasher.setHash("");
3194
3180
  HashChanger.getInstance().fireHashChanged("");
3195
3181
  },
3196
3182
  afterEach: function() {
3197
3183
  this.oParentComponent.destroy();
3198
- this.oEventProviderStub.restore();
3199
3184
  }
3200
3185
  });
3201
3186
 
@@ -3666,7 +3651,6 @@ sap.ui.define([
3666
3651
 
3667
3652
  QUnit.module("Routing Nested Components", {
3668
3653
  beforeEach: function() {
3669
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
3670
3654
  this.oTitleChangedSpy = sinon.spy();
3671
3655
  hasher.setHash("");
3672
3656
 
@@ -3679,7 +3663,6 @@ sap.ui.define([
3679
3663
  },
3680
3664
  afterEach: function() {
3681
3665
  this.oParentComponent.destroy();
3682
- this.oEventProviderStub.restore();
3683
3666
  this.oTitleChangedSpy.resetHistory();
3684
3667
  }
3685
3668
  });
@@ -3906,11 +3889,7 @@ sap.ui.define([
3906
3889
 
3907
3890
  QUnit.module("Configuration of title propagation", {
3908
3891
  beforeEach: function() {
3909
- this.oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
3910
3892
  hasher.setHash("");
3911
- },
3912
- afterEach: function() {
3913
- this.oEventProviderStub.restore();
3914
3893
  }
3915
3894
  });
3916
3895
 
@@ -1,6 +1,5 @@
1
1
  /*global QUnit, sinon */
2
2
  sap.ui.define([
3
- "sap/ui/base/EventProvider",
4
3
  "sap/base/strings/formatMessage",
5
4
  "sap/ui/core/mvc/XMLView",
6
5
  "sap/ui/core/routing/Target",
@@ -12,7 +11,7 @@ sap.ui.define([
12
11
  "sap/ui/core/UIComponent",
13
12
  "sap/ui/core/ComponentContainer",
14
13
  "sap/ui/thirdparty/hasher"
15
- ], function(EventProvider, formatMessage, XMLView, Target, Views, JSONModel, App, Panel, Component, UIComponent, ComponentContainer, hasher) {
14
+ ], function(formatMessage, XMLView, Target, Views, JSONModel, App, Panel, Component, UIComponent, ComponentContainer, hasher) {
16
15
  "use strict";
17
16
 
18
17
  // use sap.m.Panel as a lightweight drop-in replacement for the ux3.Shell
@@ -445,7 +444,6 @@ sap.ui.define([
445
444
 
446
445
  QUnit.test("pass settings to component container", function(assert) {
447
446
  this.oContainerOptions = undefined;
448
- var oEventProviderStub = sinon.stub(EventProvider.prototype.oEventPool, "returnObject");
449
447
  var oComponentContainerSettingsSpy = this.spy(ComponentContainer.prototype, "applySettings");
450
448
  var oComponent = this.rootComponent;
451
449
  var oRouter = oComponent.getRouter();
@@ -471,7 +469,6 @@ sap.ui.define([
471
469
  assert.equal(oNestedComponent.getId(), "rootComponent---nestedComponent", "Nested component should have the correct id");
472
470
  assert.equal(oComponentContainer.getId(), "rootComponent---nestedComponent-container", "Component container should have its component id as prefix");
473
471
 
474
- oEventProviderStub.restore();
475
472
  oComponent.destroy();
476
473
  });
477
474
  });
@@ -1,6 +1,6 @@
1
1
  <mvc:View xmlns="sap.m" xmlns:form="sap.ui.layout.form" xmlns:mvc="sap.ui.core.mvc">
2
2
  <Image width="150px" height="110px" src="./testdata/images/screw.jpg"></Image>
3
- <form:SimpleForm id="Layout" width="250px">
3
+ <form:SimpleForm id="Layout" width="250px" layout="ColumnLayout">
4
4
  <Label text="Product:"/><Input id="Product" value="Deluxe Screw"/>
5
5
  <Label text="Material:"/><Input id="Material" value="titanium"/>
6
6
  <Label id="More1" text="Diameter:"/><Input id="TFMore1" value="1/4 inch"/>
@@ -1,9 +1,11 @@
1
1
  /*global QUnit */
2
2
 
3
3
  sap.ui.define([
4
+ "sap/base/Log",
4
5
  "sap/m/Button",
5
6
  "sap/m/StandardListItem",
6
7
  "sap/m/Table",
8
+ "sap/m/Text",
7
9
  "sap/m/VBox",
8
10
  "sap/ui/model/json/JSONModel",
9
11
  "sap/ui/model/odata/CountMode",
@@ -12,7 +14,7 @@ sap.ui.define([
12
14
  "sap/ui/support/library",
13
15
  "sap/ui/support/RuleAnalyzer",
14
16
  "sap/ui/test/TestUtils"
15
- ], function(Button, StandardListItem, Table, VBox, JSONModel, CountMode, ODataV2Model, ODataV4Model,
17
+ ], function(Log, Button, StandardListItem, Table, Text, VBox, JSONModel, CountMode, ODataV2Model, ODataV4Model,
16
18
  SupportLib, RuleAnalyzer, TestUtils) {
17
19
  "use strict";
18
20
 
@@ -32,6 +34,10 @@ sap.ui.define([
32
34
  : oEmptyV2Response,
33
35
  "/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/SalesOrderSet('42')"
34
36
  : oEmptyV2Response,
37
+ "/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/SalesOrderSet('42')/firstName"
38
+ : oEmptyV2Response,
39
+ "/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/SalesOrderSet('42')/lastName"
40
+ : oEmptyV2Response,
35
41
  "/sap/opu/odata4/IWBEP/TEA/default/IWBEP/TEA_BUSI/0001/$metadata"
36
42
  : {source : "qunit/odata/v4/data/metadata.xml"},
37
43
  "/sap/opu/odata4/IWBEP/TEA/default/IWBEP/TEA_BUSI/0001/EMPLOYEES?$select=ID&$skip=0&$top=100"
@@ -43,6 +49,10 @@ sap.ui.define([
43
49
  "/sap/opu/odata4/IWBEP/TEA/default/IWBEP/TEA_BUSI/0001/EMPLOYEES('42')"
44
50
  : oEmptyV4Response
45
51
  });
52
+ this.oLogMock = this.mock(Log);
53
+ this.oLogMock.expects("warning").never();
54
+ this.oLogMock.expects("error").never();
55
+ this.oLogMock.expects("fatal").never();
46
56
  }
47
57
  });
48
58
 
@@ -177,6 +187,29 @@ sap.ui.define([
177
187
  });
178
188
  });
179
189
 
190
+ //**********************************************************************************************
191
+ QUnit.test("selectUsedInBoundAggregation: composite binding", function (assert) {
192
+ var oModel = new ODataV2Model({
193
+ defaultCountMode : CountMode.None,
194
+ serviceUrl : "/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/",
195
+ useBatch : false
196
+ });
197
+ var oText = new Text();
198
+
199
+ oText.setModel(oModel);
200
+ oText.placeAt("qunit-fixture");
201
+ oText.bindText({parts: [{path: "/SalesOrderSet('42')/firstName"}, {path: "/SalesOrderSet('42')/lastName"}]});
202
+
203
+ return RuleAnalyzer.analyze({type: "global"},
204
+ [{libName: "sap.ui.core", ruleId: "selectUsedInBoundAggregation"}]).then(function () {
205
+ var aIssues = RuleAnalyzer.getLastAnalysisHistory().issues;
206
+
207
+ assert.strictEqual(aIssues.length, 0, "Correct number of issues");
208
+ oText.destroy();
209
+ oModel.destroy();
210
+ });
211
+ });
212
+
180
213
  //**********************************************************************************************
181
214
  QUnit.test("selectUsedInBoundAggregation: v4: use autoExpandSelect", function (assert) {
182
215
  var oModel,