@openui5/sap.ui.core 1.124.0 → 1.125.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 (647) hide show
  1. package/.reuse/dep5 +5 -0
  2. package/THIRDPARTY.txt +7 -0
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +4 -4
  5. package/src/jquery.sap.properties.js +2 -2
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/jquery.sap.ui.js +6 -2
  10. package/src/sap/base/Event.js +1 -1
  11. package/src/sap/base/Eventing.js +1 -1
  12. package/src/sap/base/config.js +1 -1
  13. package/src/sap/base/i18n/LanguageTag.js +1 -1
  14. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  15. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  16. package/src/sap/base/util/restricted/_castArray.js +1 -1
  17. package/src/sap/base/util/restricted/_compact.js +1 -1
  18. package/src/sap/base/util/restricted/_curry.js +1 -1
  19. package/src/sap/base/util/restricted/_debounce.js +1 -1
  20. package/src/sap/base/util/restricted/_difference.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_flatten.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  29. package/src/sap/base/util/restricted/_intersection.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isNil.js +1 -1
  35. package/src/sap/base/util/restricted/_max.js +1 -1
  36. package/src/sap/base/util/restricted/_merge.js +1 -1
  37. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  38. package/src/sap/base/util/restricted/_min.js +1 -1
  39. package/src/sap/base/util/restricted/_omit.js +1 -1
  40. package/src/sap/base/util/restricted/_pick.js +1 -1
  41. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  42. package/src/sap/base/util/restricted/_throttle.js +1 -1
  43. package/src/sap/base/util/restricted/_toArray.js +1 -1
  44. package/src/sap/base/util/restricted/_union.js +1 -1
  45. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  46. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  47. package/src/sap/base/util/restricted/_uniq.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  50. package/src/sap/base/util/restricted/_without.js +1 -1
  51. package/src/sap/base/util/restricted/_xor.js +1 -1
  52. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  53. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  56. package/src/sap/ui/Device.js +3 -3
  57. package/src/sap/ui/Global.js +4 -4
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/Interface.js +1 -1
  61. package/src/sap/ui/base/ManagedObject.js +1 -1
  62. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  63. package/src/sap/ui/base/Metadata.js +1 -1
  64. package/src/sap/ui/base/Object.js +1 -1
  65. package/src/sap/ui/base/ObjectPool.js +1 -1
  66. package/src/sap/ui/core/.library +3 -3
  67. package/src/sap/ui/core/BusyIndicator.js +1 -1
  68. package/src/sap/ui/core/Component.js +7 -4
  69. package/src/sap/ui/core/ComponentContainer.js +1 -1
  70. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  71. package/src/sap/ui/core/ComponentSupport.js +1 -1
  72. package/src/sap/ui/core/Configuration.js +1 -1
  73. package/src/sap/ui/core/Control.js +1 -1
  74. package/src/sap/ui/core/Core.js +18 -25
  75. package/src/sap/ui/core/CustomData.js +1 -1
  76. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  77. package/src/sap/ui/core/Element.js +1 -1
  78. package/src/sap/ui/core/ElementMetadata.js +4 -3
  79. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  80. package/src/sap/ui/core/EventBus.js +1 -1
  81. package/src/sap/ui/core/ExtensionPoint.js +23 -9
  82. package/src/sap/ui/core/Fragment.js +15 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/History.js +1 -1
  85. package/src/sap/ui/core/Icon.js +84 -50
  86. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  87. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  88. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  89. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  90. package/src/sap/ui/core/InvisibleText.js +1 -1
  91. package/src/sap/ui/core/Item.js +1 -1
  92. package/src/sap/ui/core/LabelEnablement.js +66 -1
  93. package/src/sap/ui/core/LayoutData.js +1 -1
  94. package/src/sap/ui/core/ListItem.js +1 -1
  95. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  96. package/src/sap/ui/core/Locale.js +1 -1
  97. package/src/sap/ui/core/LocaleData.js +1 -1
  98. package/src/sap/ui/core/Manifest.js +1 -1
  99. package/src/sap/ui/core/Message.js +1 -1
  100. package/src/sap/ui/core/RenderManager.js +1 -1
  101. package/src/sap/ui/core/Renderer.js +1 -1
  102. package/src/sap/ui/core/ResizeHandler.js +1 -1
  103. package/src/sap/ui/core/ScrollBar.js +1 -1
  104. package/src/sap/ui/core/SeparatorItem.js +1 -1
  105. package/src/sap/ui/core/Title.js +1 -1
  106. package/src/sap/ui/core/TooltipBase.js +1 -1
  107. package/src/sap/ui/core/UIArea.js +5 -5
  108. package/src/sap/ui/core/UIComponent.js +24 -17
  109. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  110. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  111. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  112. package/src/sap/ui/core/XMLComposite.js +1 -1
  113. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  114. package/src/sap/ui/core/XMLTemplateProcessor.js +110 -74
  115. package/src/sap/ui/core/cldr/zh_TW.json +20 -20
  116. package/src/sap/ui/core/date/UI5Date.js +1 -1
  117. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  118. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  119. package/src/sap/ui/core/dnd/DragAndDrop.js +29 -23
  120. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  122. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DropInfo.js +6 -3
  124. package/src/sap/ui/core/format/DateFormat.js +3 -3
  125. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  126. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  127. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +3 -3
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +1 -1
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/mvc/Controller.js +77 -77
  136. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  137. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  138. package/src/sap/ui/core/mvc/JSView.js +1 -1
  139. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  140. package/src/sap/ui/core/mvc/View.js +10 -2
  141. package/src/sap/ui/core/mvc/XMLProcessingMode.js +4 -1
  142. package/src/sap/ui/core/mvc/XMLView.js +33 -5
  143. package/src/sap/ui/core/mvc/XMLViewRenderer.js +40 -7
  144. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  145. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  146. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  147. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  148. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  149. package/src/sap/ui/core/routing/async/TargetCache.js +12 -1
  150. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  151. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  152. package/src/sap/ui/core/service/Service.js +1 -1
  153. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  154. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  155. package/src/sap/ui/core/support/Plugin.js +1 -1
  156. package/src/sap/ui/core/support/Support.js +1 -1
  157. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  158. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  159. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  160. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  161. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  162. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  163. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  164. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  165. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  166. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  167. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  168. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  169. package/src/sap/ui/core/tmpl/Template.js +1 -1
  170. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  171. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  172. package/src/sap/ui/core/util/Export.js +1 -1
  173. package/src/sap/ui/core/util/ExportCell.js +1 -1
  174. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  175. package/src/sap/ui/core/util/ExportRow.js +1 -1
  176. package/src/sap/ui/core/util/ExportType.js +1 -1
  177. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  178. package/src/sap/ui/core/util/File.js +1 -1
  179. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  180. package/src/sap/ui/core/util/MockServer.js +1 -1
  181. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  182. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  183. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  184. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  187. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  189. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  190. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  191. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  192. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  193. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  194. package/src/sap/ui/debug/ControlTree.js +1 -1
  195. package/src/sap/ui/debug/DebugEnv.js +1 -1
  196. package/src/sap/ui/debug/PropertyList.js +1 -1
  197. package/src/sap/ui/dom/jquery/control.js +6 -3
  198. package/src/sap/ui/model/Binding.js +10 -0
  199. package/src/sap/ui/model/ClientModel.js +1 -1
  200. package/src/sap/ui/model/CompositeDataState.js +1 -1
  201. package/src/sap/ui/model/CompositeType.js +1 -1
  202. package/src/sap/ui/model/DataState.js +1 -1
  203. package/src/sap/ui/model/FieldHelp.js +362 -0
  204. package/src/sap/ui/model/MetaModel.js +1 -1
  205. package/src/sap/ui/model/Model.js +1 -1
  206. package/src/sap/ui/model/SelectionModel.js +1 -1
  207. package/src/sap/ui/model/SimpleType.js +1 -1
  208. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  209. package/src/sap/ui/model/Type.js +1 -1
  210. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -12
  211. package/src/sap/ui/model/json/JSONModel.js +6 -5
  212. package/src/sap/ui/model/message/MessageModel.js +1 -1
  213. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  214. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  215. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  216. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  217. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  218. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  219. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  220. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  221. package/src/sap/ui/model/odata/type/Date.js +1 -1
  222. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  223. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  224. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  225. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  226. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  227. package/src/sap/ui/model/odata/type/Double.js +1 -1
  228. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  229. package/src/sap/ui/model/odata/type/Int.js +1 -1
  230. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  231. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  232. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  233. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  234. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  235. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  236. package/src/sap/ui/model/odata/type/Single.js +1 -1
  237. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  238. package/src/sap/ui/model/odata/type/String.js +1 -1
  239. package/src/sap/ui/model/odata/type/Time.js +1 -1
  240. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  241. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  242. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  243. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  244. package/src/sap/ui/model/odata/v2/ODataModel.js +50 -6
  245. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  246. package/src/sap/ui/model/odata/v4/Context.js +46 -32
  247. package/src/sap/ui/model/odata/v4/ODataBinding.js +47 -57
  248. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +70 -82
  249. package/src/sap/ui/model/odata/v4/ODataListBinding.js +285 -213
  250. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +41 -39
  251. package/src/sap/ui/model/odata/v4/ODataModel.js +236 -209
  252. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +202 -203
  253. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -17
  254. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +94 -22
  255. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
  256. package/src/sap/ui/model/odata/v4/lib/_Cache.js +41 -61
  257. package/src/sap/ui/model/odata/v4/lib/_Helper.js +111 -68
  258. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +78 -78
  259. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
  260. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +20 -20
  261. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +60 -60
  262. package/src/sap/ui/model/resource/ResourceModel.js +7 -2
  263. package/src/sap/ui/model/type/Boolean.js +1 -1
  264. package/src/sap/ui/model/type/Currency.js +6 -3
  265. package/src/sap/ui/model/type/Date.js +1 -1
  266. package/src/sap/ui/model/type/DateInterval.js +1 -1
  267. package/src/sap/ui/model/type/DateTime.js +1 -1
  268. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  269. package/src/sap/ui/model/type/FileSize.js +1 -1
  270. package/src/sap/ui/model/type/Float.js +1 -1
  271. package/src/sap/ui/model/type/Integer.js +1 -1
  272. package/src/sap/ui/model/type/String.js +1 -1
  273. package/src/sap/ui/model/type/Time.js +1 -1
  274. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  275. package/src/sap/ui/model/type/Unit.js +6 -3
  276. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  277. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
  278. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  279. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  280. package/src/sap/ui/test/OpaPlugin.js +36 -12
  281. package/src/sap/ui/test/generic/TestBase.js +1 -1
  282. package/src/sap/ui/util/Storage.js +1 -1
  283. package/test/sap/ui/core/BindableResponseHeaders.html +4 -4
  284. package/test/sap/ui/core/ComponentCleanup.html +46 -46
  285. package/test/sap/ui/core/ComponentManifestFirst.html +26 -20
  286. package/test/sap/ui/core/ContextMenuSupport.html +9 -10
  287. package/test/sap/ui/core/DesigntimeOverview.html +1 -1
  288. package/test/sap/ui/core/EventBroadcaster.html +2 -2
  289. package/test/sap/ui/core/FieldGroup.html +70 -61
  290. package/test/sap/ui/core/GenericEventBinding.html +26 -23
  291. package/test/sap/ui/core/HTMLControl.html +46 -38
  292. package/test/sap/ui/core/HTMLSanitizer.html +70 -45
  293. package/test/sap/ui/core/IntervalTrigger.html +22 -21
  294. package/test/sap/ui/core/InvisibleControls.html +72 -72
  295. package/test/sap/ui/core/InvisibleText.html +2 -2
  296. package/test/sap/ui/core/LRUPersistentCache.html +19 -18
  297. package/test/sap/ui/core/LabelEnablement.html +18 -29
  298. package/test/sap/ui/core/Localization.html +40 -65
  299. package/test/sap/ui/core/Localization_HeapUsage.html +11 -12
  300. package/test/sap/ui/core/ManagedObjectModel.html +6 -7
  301. package/test/sap/ui/core/ODataAnnotationsPerformance.html +592 -602
  302. package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -8
  303. package/test/sap/ui/core/ODataV2Messages.html +1 -1
  304. package/test/sap/ui/core/ODataV2MessagesPerf.html +131 -132
  305. package/test/sap/ui/core/Popup.html +18 -14
  306. package/test/sap/ui/core/PopupWithUserSelection.html +4 -4
  307. package/test/sap/ui/core/StashedControlSupport.html +1 -1
  308. package/test/sap/ui/core/ThemeParameters.html +32 -20
  309. package/test/sap/ui/core/ValidateURL.html +109 -75
  310. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  311. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +1 -4
  312. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.controller.js +0 -1
  313. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Main.controller.js +0 -1
  314. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.html +0 -1
  315. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/Component.js +1 -5
  316. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -10
  317. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Component.js +4 -1
  318. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/manifest.json +37 -0
  319. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Component.js +5 -1
  320. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/manifest.json +42 -0
  321. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +6 -3
  322. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Main.view.xml +4 -1
  323. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/manifest.json +49 -0
  324. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  325. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  326. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  327. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  328. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/Component.js +1 -0
  329. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/manifest.json +1 -2
  330. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/Component.js +1 -0
  331. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -2
  332. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Component.js +1 -0
  333. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/manifest.json +1 -2
  334. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Component.js +1 -0
  335. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -2
  336. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/Component.js +1 -0
  337. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/manifest.json +1 -2
  338. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/Component.js +1 -0
  339. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -2
  340. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Component.js +1 -0
  341. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +35 -31
  342. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/manifest.json +1 -10
  343. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Component.js +1 -0
  344. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/manifest.json +2 -11
  345. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Component.js +1 -0
  346. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +71 -68
  347. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.html +0 -1
  348. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/manifest.json +3 -11
  349. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +1 -0
  350. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +0 -1
  351. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +7 -16
  352. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Component.js +1 -0
  353. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Main.controller.js +3 -3
  354. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.html +0 -1
  355. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/manifest.json +1 -10
  356. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Component.js +1 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/FieldGroups.view.xml +0 -1
  358. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.html +0 -1
  359. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/manifest.json +3 -11
  360. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +1 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +46 -43
  362. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +12 -10
  363. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/manifest.json +3 -11
  364. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Component.js +1 -0
  365. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +21 -18
  366. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.html +0 -1
  367. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/manifest.json +4 -7
  368. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/Component.js +1 -0
  369. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/manifest.json +1 -10
  370. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +1 -0
  371. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +21 -18
  372. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -10
  373. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Component.js +1 -0
  374. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +25 -22
  375. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.html +0 -1
  376. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +5 -4
  377. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.html +0 -1
  378. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/manifest.json +3 -7
  379. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Component.js +1 -0
  380. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.html +0 -1
  381. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/manifest.json +3 -11
  382. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +1 -0
  383. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.html +0 -1
  384. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/manifest.json +2 -10
  385. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Component.js +1 -0
  386. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +60 -57
  387. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.html +0 -1
  388. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/manifest.json +4 -6
  389. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/Component.js +1 -0
  390. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/manifest.json +3 -11
  391. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Component.js +1 -0
  392. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.view.xml +0 -1
  393. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.html +0 -1
  394. package/test/sap/ui/core/demokit/sample/odata/v4/Products/manifest.json +3 -10
  395. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Component.js +1 -0
  396. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.html +0 -1
  397. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +81 -69
  398. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +44 -9
  399. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +49 -0
  400. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +14 -0
  401. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/manifest.json +1 -10
  402. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Component.js +1 -0
  403. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.html +0 -1
  404. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +2 -11
  405. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Component.js +1 -0
  406. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.html +0 -1
  407. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +2 -11
  408. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +1 -2
  409. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.html +0 -1
  410. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/manifest.json +3 -10
  411. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Component.js +1 -0
  412. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.html +0 -1
  413. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +6 -5
  414. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Component.js +1 -0
  415. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.html +0 -1
  416. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/manifest.json +2 -10
  417. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Component.js +1 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.html +0 -1
  419. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/manifest.json +3 -10
  420. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.html +0 -1
  421. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/manifest.json +3 -11
  422. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  423. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  424. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  425. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  426. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  428. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  429. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  430. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  431. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  432. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  433. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  434. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  435. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  436. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  437. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  438. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  439. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  440. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  441. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  442. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  443. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  444. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  445. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  446. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  447. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  448. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  449. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  450. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  451. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  452. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  453. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  454. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  455. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  456. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  457. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  458. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +1 -0
  459. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  460. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/Component.js +1 -0
  461. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/index.html +0 -1
  462. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/manifest.json +2 -13
  463. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +1 -0
  464. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  465. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/Component.js +1 -0
  466. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/index.html +0 -1
  467. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/manifest.json +2 -13
  468. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +1 -0
  469. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  470. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/Component.js +1 -0
  471. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/index.html +0 -1
  472. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/manifest.json +2 -13
  473. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +1 -0
  474. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  475. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/Component.js +1 -0
  476. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/index.html +0 -1
  477. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/manifest.json +2 -13
  478. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +1 -0
  479. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  480. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/Component.js +1 -0
  481. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/index.html +0 -1
  482. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/manifest.json +2 -13
  483. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +1 -0
  484. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/Component.js +1 -0
  486. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/index.html +0 -1
  487. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/manifest.json +2 -13
  488. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +1 -0
  489. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  490. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/Component.js +1 -0
  491. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/index.html +0 -1
  492. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/manifest.json +2 -13
  493. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +1 -0
  494. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  495. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/Component.js +1 -0
  496. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/index.html +0 -1
  497. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/manifest.json +2 -13
  498. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.html +0 -1
  499. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +1 -0
  500. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  501. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/Component.js +1 -0
  502. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/index.html +0 -1
  503. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/manifest.json +2 -11
  504. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +1 -0
  505. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/Component.js +1 -0
  507. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/index.html +0 -1
  508. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/manifest.json +2 -11
  509. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +1 -0
  510. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  511. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/Component.js +1 -0
  512. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/index.html +0 -1
  513. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/manifest.json +2 -11
  514. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.html +0 -1
  515. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  516. package/test/sap/ui/core/getComputedStyle.html +2 -1
  517. package/test/sap/ui/core/getComputedStyleFF.html +1 -1
  518. package/test/sap/ui/core/internal/samples/client/MusicCollection/Component.js +5 -8
  519. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.controller.js +6 -2
  520. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.view.xml +7 -3
  521. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -3
  522. package/test/sap/ui/core/internal/samples/client/MusicCollection/manifest.json +1 -13
  523. package/test/sap/ui/core/internal/samples/odata/twoFields/Component.js +3 -45
  524. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +37 -1
  525. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.view.xml +5 -5
  526. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -3
  527. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -3
  528. package/test/sap/ui/core/internal/samples/odata/twoFields/manifest.json +1 -11
  529. package/test/sap/ui/core/internal/samples/odata/v2/Products/Component.js +3 -22
  530. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.controller.js +16 -22
  531. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +3 -2
  532. package/test/sap/ui/core/internal/samples/odata/v2/Products/SandboxModel.js +1 -1
  533. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -3
  534. package/test/sap/ui/core/internal/samples/odata/v2/Products/manifest.json +2 -13
  535. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +1 -0
  536. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +49 -41
  537. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -4
  538. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/manifest.json +3 -12
  539. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +1 -0
  540. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +2 -2
  541. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +4 -3
  542. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -3
  543. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/manifest.json +1 -11
  544. package/test/sap/ui/core/qunit/Fragment.qunit.js +20 -20
  545. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +4 -4
  546. package/test/sap/ui/core/qunit/Icon.qunit.js +217 -1
  547. package/test/sap/ui/core/qunit/RenderManager.qunit.js +18 -5
  548. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +15 -18
  549. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +5 -13
  550. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +2 -2
  551. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +36 -1
  552. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +475 -290
  553. package/test/sap/ui/core/qunit/component/Models.qunit.js +97 -70
  554. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +86 -0
  555. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +86 -1
  556. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Cell_Found.fragment.xml +5 -0
  557. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Column.fragment.xml +5 -0
  558. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EPinNestedView.view.xml +51 -0
  559. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/ExtensionPointProvider.js +27 -4
  560. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Main.view.xml +5 -0
  561. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Main.view.xml +0 -1
  562. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Sub2.view.xml +1 -3
  563. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +16 -0
  564. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +102 -0
  565. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +72 -2
  566. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +14 -2
  567. package/test/sap/ui/core/qunit/generic/ControlRenderer.qunit.js +4 -1
  568. package/test/sap/ui/core/qunit/generic/legacy/ControlRenderer.qunit.js +4 -0
  569. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  570. package/test/sap/ui/core/qunit/loader/amd/base_tag/_launchTest.js +2 -4
  571. package/test/sap/ui/core/qunit/loader/amd/config_paths/_launchTest.js +2 -4
  572. package/test/sap/ui/core/qunit/loader/amd/config_paths_relative/_launchTest.js +2 -4
  573. package/test/sap/ui/core/qunit/loader/amdAPIs.qunit.js +3 -0
  574. package/test/sap/ui/core/qunit/model/Binding.qunit.js +13 -0
  575. package/test/sap/ui/core/qunit/model/FieldHelp.qunit.js +864 -0
  576. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +2 -2
  577. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +8 -6
  578. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +7 -7
  579. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +131 -22
  580. package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -2
  581. package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -3
  582. package/test/sap/ui/core/qunit/mvc/testdata/cache.view.xml +1 -1
  583. package/test/sap/ui/core/qunit/mvc/testdata/legacy/test.view.xml +32 -0
  584. package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +2 -15
  585. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +159 -8
  586. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +55 -6
  587. package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +14 -0
  588. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +48 -21
  589. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +17 -70
  590. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
  591. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +290 -20
  592. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +613 -25
  593. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
  594. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +0 -1
  595. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -49
  596. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -8
  597. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +20 -0
  598. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +46 -46
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +91 -13
  600. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +17 -14
  601. package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
  602. package/test/sap/ui/core/qunit/test/starter/find/main.js +6 -4
  603. package/test/sap/ui/core/qunit/testdata/routing/HistoryIFrame.html +2 -1
  604. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
  605. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +51 -22
  606. package/test/sap/ui/core/qunit/types/Types.qunit.js +35 -6
  607. package/test/sap/ui/core/qunit/ui/Device.qunit.js +24 -0
  608. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +47 -1
  609. package/test/sap/ui/core/relnotes/changes-1.124.json +1 -1
  610. package/test/sap/ui/core/relnotes/changes-1.125.json +37 -0
  611. package/test/sap/ui/core/samples/ResponsiveDemo.html +97 -103
  612. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
  613. package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
  614. package/test/sap/ui/core/samples/mvc/Product.html +1 -7
  615. package/test/sap/ui/core/samples/mvc/ViewPreprocessor.html +20 -12
  616. package/test/sap/ui/core/samples/mvc/XMLView.html +77 -24
  617. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +13 -19
  618. package/test/sap/ui/core/samples/mvc/controller/Async.controller.js +0 -1
  619. package/test/sap/ui/core/samples/mvc/controller/Product.controller.js +0 -1
  620. package/test/sap/ui/core/samples/mvc/views/Async.view.xml +16 -57
  621. package/test/sap/ui/core/samples/mvc/views/Dummy.fragment.xml +2 -2
  622. package/test/sap/ui/core/samples/mvc/views/Dummy.view.xml +2 -2
  623. package/test/sap/ui/core/samples/mvc/views/Product.view.xml +16 -57
  624. package/test/sap/ui/core/util/PasteHelper.html +148 -147
  625. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  626. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  627. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  628. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  629. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  630. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  631. package/test/testsuite/js/settings.js +5 -4
  632. package/test/testsuite/styles/main.css +5 -0
  633. package/test/sap/ui/core/ResourceRoots.html +0 -28
  634. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/component.json +0 -17
  635. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/component.json +0 -18
  636. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/component.json +0 -30
  637. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +0 -52
  638. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Component.js +0 -30
  639. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Sandbox.js +0 -51
  640. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L0_top5.json +0 -32
  641. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_A_skip8.json +0 -138
  642. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_B.json +0 -17
  643. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_C.json +0 -17
  644. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_top8.json +0 -93
  645. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/metadata.xml +0 -2322
  646. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/i18n/i18n.properties +0 -3
  647. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/manifest.json +0 -69
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_version" : "1.37.0",
3
3
  "sap.app" : {
4
- "ach" : "CA-UI5-COR-MOD",
4
+ "ach" : "CA-UI5-COR",
5
5
  "applicationVersion" : {
6
6
  "version" : "${version}"
7
7
  },
@@ -20,18 +20,9 @@
20
20
  "type" : "application"
21
21
  },
22
22
  "sap.ui" : {
23
- "deviceTypes" : {
24
- "desktop" : true,
25
- "phone" : true,
26
- "tablet" : true
27
- },
28
23
  "technology" : "UI5"
29
24
  },
30
25
  "sap.ui5" : {
31
- "contentDensities" : {
32
- "compact" : true,
33
- "cozy" : true
34
- },
35
26
  "dependencies" : {
36
27
  "minUI5Version" : "1.99",
37
28
  "libs" : {
@@ -58,7 +49,6 @@
58
49
  }
59
50
  },
60
51
  "rootView" : {
61
- "async" : true,
62
52
  "id" : "TreeTableMain",
63
53
  "type" : "XML",
64
54
  "viewName" : "sap.ui.core.internal.samples.odata.v2.TreeTable.Main"
@@ -702,27 +702,27 @@ sap.ui.define([
702
702
  }.bind(this));
703
703
  });
704
704
 
705
- QUnit.test("Load XML Fragment from file with nested fragments and a nested async view containing fragments of type 'JS' and 'XML'", function (assert) {
706
- assert.expect(9);
707
- return Fragment.load({
705
+ QUnit.test("Load XML Fragment from file with nested fragments and a nested async view containing fragments of type 'JS' and 'XML'", async function (assert) {
706
+ assert.expect(8);
707
+ const oView = await Fragment.load({
708
708
  name: "testdata.fragments.nested.XMLFragment_Level0"
709
- }).then(function (oView) {
710
- assert.ok(oView, "Deepest nested View in Fragment chain should be created");
711
- assert.equal(this.loadTemplatePromiseSpy.callCount, 3, "XMLTemplateProcessor.loadTemplatePromise should be called three times");
712
-
713
- return oView.loaded();
714
- }.bind(this)).then(function(oView) {
715
- // expectations of template processor calls
716
- assert.equal(this.parseTemplatePromiseSpy.callCount, 6, "XMLTemplateProcessor.loadTemplatePromise should be called six times");
717
- assert.ok(this.parseTemplatePromiseSpy.getCall(0).args[2], "First call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
718
- assert.ok(this.parseTemplatePromiseSpy.getCall(1).args[2], "Second call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
719
- assert.ok(this.parseTemplatePromiseSpy.getCall(2).args[2], "Third call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
720
- assert.ok(this.parseTemplatePromiseSpy.getCall(3).args[2], "Fourth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
721
- assert.ok(this.parseTemplatePromiseSpy.getCall(4).args[2], "Fifth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
722
- assert.ok(this.parseTemplatePromiseSpy.getCall(5).args[2], "Sixth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
723
-
724
- oView.destroy();
725
- }.bind(this));
709
+ });
710
+
711
+ assert.ok(oView, "Deepest nested View in Fragment chain should be created");
712
+
713
+ // wait for nested view to finish
714
+ await oView.loaded();
715
+
716
+ // expectations of template processor calls
717
+ assert.equal(this.parseTemplatePromiseSpy.callCount, 6, "XMLTemplateProcessor.loadTemplatePromise should be called six times");
718
+ assert.ok(this.parseTemplatePromiseSpy.getCall(0).args[2], "First call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
719
+ assert.ok(this.parseTemplatePromiseSpy.getCall(1).args[2], "Second call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
720
+ assert.ok(this.parseTemplatePromiseSpy.getCall(2).args[2], "Third call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
721
+ assert.ok(this.parseTemplatePromiseSpy.getCall(3).args[2], "Fourth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
722
+ assert.ok(this.parseTemplatePromiseSpy.getCall(4).args[2], "Fifth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
723
+ assert.ok(this.parseTemplatePromiseSpy.getCall(5).args[2], "Sixth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
724
+
725
+ oView.destroy();
726
726
  });
727
727
 
728
728
  QUnit.test("Load XML View from file with nested fragments of type 'JS' and 'XML'", function (assert) {
@@ -950,14 +950,14 @@ sap.ui.define([
950
950
  name: "testdata.fragments_legacyAPIs.nested.XMLFragment_Level0"
951
951
  }).then(function (oFragment) {
952
952
  assert.ok(oFragment, "Fragment should be loaded");
953
- assert.equal(this.loadTemplatePromiseSpy.callCount, 3, "XMLTemplateProcessor.loadTemplatePromise should be called three times");
953
+ assert.equal(this.loadTemplatePromiseSpy.callCount, 5, "XMLTemplateProcessor.loadTemplatePromise should be called three times");
954
954
  assert.equal(this.parseTemplatePromiseSpy.callCount, 6, "XMLTemplateProcessor.loadTemplatePromise should be called six times");
955
955
  assert.ok(this.parseTemplatePromiseSpy.getCall(0).args[2], "First call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
956
956
  assert.ok(this.parseTemplatePromiseSpy.getCall(1).args[2], "Second call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
957
957
  assert.ok(this.parseTemplatePromiseSpy.getCall(2).args[2], "Third call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
958
- assert.notOk(this.parseTemplatePromiseSpy.getCall(3).args[2], "Fourth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=false");
959
- assert.notOk(this.parseTemplatePromiseSpy.getCall(4).args[2], "Fifth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=false");
960
- assert.notOk(this.parseTemplatePromiseSpy.getCall(5).args[2], "Sixth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=false");
958
+ assert.ok(this.parseTemplatePromiseSpy.getCall(3).args[2], "Fourth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
959
+ assert.ok(this.parseTemplatePromiseSpy.getCall(4).args[2], "Fifth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
960
+ assert.ok(this.parseTemplatePromiseSpy.getCall(5).args[2], "Sixth call of XMLTemplateProcessor.parseTemplatePromise should be called with async=true");
961
961
 
962
962
  oFragment.destroy();
963
963
  }.bind(this));
@@ -7,10 +7,11 @@ sap.ui.define([
7
7
  "sap/ui/Device",
8
8
  "sap/ui/core/Lib",
9
9
  "sap/ui/core/library",
10
+ "sap/ui/events/KeyCodes",
10
11
  "sap/ui/thirdparty/jquery",
11
12
  "sap/ui/qunit/QUnitUtils",
12
13
  "sap/ui/qunit/utils/nextUIUpdate"
13
- ], function(Icon, IconPool, _IconRegistry, Log, Device, Library, library, jQuery, qutils, nextUIUpdate) {
14
+ ], function(Icon, IconPool, _IconRegistry, Log, Device, Library, library, KeyCodes, jQuery, qutils, nextUIUpdate) {
14
15
  "use strict";
15
16
 
16
17
  // shortcut for type from sap.ui.core
@@ -668,4 +669,219 @@ sap.ui.define([
668
669
  assert.strictEqual(this.oIcon.$().css("font-family").replace(/"|'/g, ""), "SAP-icons-TNT", "Icon font family has been set properly after the font is loaded");
669
670
  });
670
671
 
672
+ QUnit.module("Keyboard Support");
673
+
674
+ QUnit.test("Pressing 'Enter' key should fire 'press' on keydown", async function(assert) {
675
+ // System under Test
676
+ const pressSpy = this.spy(),
677
+ oIcon = new Icon({
678
+ press: pressSpy
679
+ }).placeAt("qunit-fixture");
680
+
681
+ await nextUIUpdate();
682
+
683
+ // Action
684
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.ENTER);
685
+
686
+ // Assert
687
+ assert.equal(pressSpy.callCount, 1, "Press event should be fired once");
688
+
689
+ pressSpy.resetHistory();
690
+
691
+ // Action
692
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.ENTER, false, false, true);
693
+
694
+ // Assert
695
+ assert.equal(pressSpy.callCount, 0, "Press event was not fired for Ctrl+ENTER");
696
+
697
+ // Cleanup
698
+ oIcon.destroy();
699
+ });
700
+
701
+ QUnit.test("Pressing 'Enter' key should not fire 'press' on keyup", async function(assert) {
702
+ // System under Test
703
+ const pressSpy = this.spy(),
704
+ oIcon = new Icon({
705
+ press: pressSpy
706
+ }).placeAt("qunit-fixture");
707
+
708
+ await nextUIUpdate();
709
+
710
+ // Action
711
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.ENTER);
712
+
713
+ // Assert
714
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
715
+
716
+ // Cleanup
717
+ oIcon.destroy();
718
+ });
719
+
720
+ QUnit.test("Pressing 'Space' key should not fire 'press' on keydown", async function(assert) {
721
+ // System under Test
722
+ const pressSpy = this.spy(),
723
+ oIcon = new Icon({
724
+ press: pressSpy
725
+ }).placeAt("qunit-fixture");
726
+
727
+ await nextUIUpdate();
728
+
729
+ // Action
730
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
731
+
732
+ // Assert
733
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
734
+
735
+ // Cleanup
736
+ oIcon.destroy();
737
+ });
738
+
739
+ QUnit.test("Pressing 'Space' key should fire 'press' on keyup", async function(assert) {
740
+ // System under Test
741
+ const pressSpy = this.spy(),
742
+ oIcon = new Icon({
743
+ press: pressSpy
744
+ }).placeAt("qunit-fixture");
745
+
746
+ await nextUIUpdate();
747
+
748
+ // Action
749
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SPACE);
750
+
751
+ // Assert
752
+ assert.equal(pressSpy.callCount, 1, "Press event should be fired once");
753
+
754
+ // Cleanup
755
+ oIcon.destroy();
756
+ });
757
+
758
+ QUnit.test("Pressing 'Space' key should not fire 'press' if 'ESCAPE' key is pressed and released after the Space is released", async function(assert) {
759
+ // System under Test
760
+ const pressSpy = this.spy(),
761
+ oIcon = new Icon({
762
+ press: pressSpy
763
+ }).placeAt("qunit-fixture");
764
+
765
+ await nextUIUpdate();
766
+
767
+ // Action
768
+ // first keydown on SPACE, keydown on ESCAPE, release SPACE then release ESCAPE
769
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
770
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.ESCAPE);
771
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SPACE);
772
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.ESCAPE);
773
+
774
+ // Assert
775
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
776
+
777
+ // Cleanup
778
+ oIcon.destroy();
779
+ });
780
+
781
+ QUnit.test("Pressing 'Space' key should not fire 'press' if 'ESCAPE' key is pressed then 'Space' key is released and then Escape is released", async function(assert) {
782
+ // System under Test
783
+ const pressSpy = this.spy(),
784
+ oIcon = new Icon({
785
+ press: pressSpy
786
+ }).placeAt("qunit-fixture");
787
+
788
+ await nextUIUpdate();
789
+
790
+ // Action
791
+ // first keydown on SPACE, keydown on ESCAPE, release ESCAPE then release SPACE
792
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
793
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.ESCAPE);
794
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.ESCAPE);
795
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SPACE);
796
+
797
+ // Assert
798
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
799
+
800
+ // Cleanup
801
+ oIcon.destroy();
802
+ });
803
+
804
+ QUnit.test("_bPressedSpace is reset on pressing 'Escape' key", async function(assert) {
805
+ // System under Test
806
+ const oIcon = (new Icon()).placeAt("qunit-fixture");
807
+
808
+ await nextUIUpdate();
809
+
810
+ // Action
811
+ // first keydown on SPACE, keydown on ESCAPE, release ESCAPE then the flag should be set to false
812
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
813
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.ESCAPE);
814
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.ESCAPE);
815
+
816
+ // Assert
817
+ assert.ok(!oIcon._bPressedSpace, "_bPressedSpace is set to false once the escape is released");
818
+
819
+ // Cleanup
820
+ oIcon.destroy();
821
+ });
822
+
823
+ QUnit.test("Pressing 'Space' key should not fire 'press' if 'SHIFT' key is pressed and released after the 'Space' key is released", async function(assert) {
824
+ // System under Test
825
+ const pressSpy = this.spy(),
826
+ oIcon = new Icon({
827
+ press: pressSpy
828
+ }).placeAt("qunit-fixture");
829
+
830
+ await nextUIUpdate();
831
+
832
+ // Action
833
+ // first keydown on SPACE, keydown on SHIFT, release SPACE then release SHIFT
834
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
835
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SHIFT);
836
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SPACE);
837
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SHIFT);
838
+
839
+ // Assert
840
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
841
+
842
+ // Cleanup
843
+ oIcon.destroy();
844
+ });
845
+
846
+ QUnit.test("Pressing 'Space' key should not fire 'press' if 'SHIFT' key is pressed then 'Space' key is released and then 'SHIFT' key is released", async function(assert) {
847
+ // System under Test
848
+ const pressSpy = this.spy(),
849
+ oIcon = new Icon({
850
+ press: pressSpy
851
+ }).placeAt("qunit-fixture");
852
+
853
+ await nextUIUpdate();
854
+
855
+ // Action
856
+ // first keydown on SPACE, keydown on SHIFT, release ESCAPE then release SHIFT
857
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
858
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SHIFT);
859
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SHIFT);
860
+ qutils.triggerKeyup(oIcon.getDomRef(), KeyCodes.SPACE);
861
+
862
+ // Assert
863
+ assert.equal(pressSpy.callCount, 0, "Press event should not be fired");
864
+
865
+ // Cleanup
866
+ oIcon.destroy();
867
+ });
868
+
869
+ QUnit.test("All keys should be ignored when 'Space' key is pressed", async function(assert) {
870
+ // System under Test
871
+ var oEvent = { preventDefault: this.spy() },
872
+ oIcon = new Icon().placeAt("qunit-fixture");
873
+
874
+ await nextUIUpdate(this.clock);
875
+
876
+ // Action
877
+ // first keydown on SPACE, keydown on ESCAPE, release ESCAPE then release SPACE
878
+ qutils.triggerKeydown(oIcon.getDomRef(), KeyCodes.SPACE);
879
+ oIcon.onkeydown(oEvent);
880
+
881
+ // Assert
882
+ assert.equal(oEvent.preventDefault.callCount, 1, "PreventDefault is called");
883
+
884
+ // Cleanup
885
+ oIcon.destroy();
886
+ });
671
887
  });
@@ -8,7 +8,6 @@ sap.ui.define([
8
8
  "sap/ui/core/Element",
9
9
  "sap/ui/core/HTML",
10
10
  "sap/ui/core/IconPool",
11
- "sap/ui/core/mvc/XMLView",
12
11
  "sap/ui/core/UIArea",
13
12
  "sap/ui/thirdparty/jquery",
14
13
  "sap/base/security/encodeXML",
@@ -16,7 +15,22 @@ sap.ui.define([
16
15
  "sap/ui/qunit/utils/nextUIUpdate",
17
16
  "sap/base/Log",
18
17
  "sap/ui/core/Configuration"
19
- ], function(Device, Control, Core, RenderManager, Element, HTML, IconPool, XMLView, UIArea, jQuery, encodeXML, createAndAppendDiv, nextUIUpdate, Log, Configuration) {
18
+ ], function(
19
+ Device,
20
+ Control,
21
+ Core,
22
+ RenderManager,
23
+ Element,
24
+ HTML,
25
+ IconPool,
26
+ UIArea,
27
+ jQuery,
28
+ encodeXML,
29
+ createAndAppendDiv,
30
+ nextUIUpdate,
31
+ Log,
32
+ Configuration
33
+ ) {
20
34
  "use strict";
21
35
 
22
36
  // prepare DOM
@@ -1810,9 +1824,8 @@ sap.ui.define([
1810
1824
 
1811
1825
  QUnit.module("cleanupControlWithoutRendering and DOM preservation", {
1812
1826
  beforeEach: function() {
1813
- var sViewXML = '<mvc:View xmlns:mvc="sap.ui.core.mvc"/>';
1814
- this.oView1 = new XMLView({viewContent: sViewXML});
1815
- this.oView2 = new XMLView({viewContent: sViewXML});
1827
+ this.oView1 = new HTML({ content: "<span>view1</span>" });
1828
+ this.oView2 = new HTML({ content: "<span>view2</span>" });
1816
1829
  this.oContainer = new TestContainer({
1817
1830
  theLuckyOne: 0,
1818
1831
  content: [ this.oView1, this.oView2 ]
@@ -53,24 +53,24 @@ sap.ui.define([
53
53
  assert.equal(this.oVSB.getVertical(), true, "This is vertical scrollbar");
54
54
  });
55
55
 
56
- QUnit.test("Scroll Position", async function(assert) {
56
+ QUnit.skip("Scroll Position", async function(assert) {
57
57
  assert.equal(jQuery("#horiSB-sb").scrollLeft(), 50, "Initial scroll position is 50");
58
58
  this.oVSB.setScrollPosition(5); // steps
59
59
  this.oHSB.setScrollPosition(38); // pixels
60
60
  assert.equal(jQuery("#horiSB-sb").scrollLeft(), 38, "scroll position is 38");
61
61
 
62
- assert.equal(this.oVSB.getScrollPosition(), 5, "1scroll position should be 5");
63
- assert.equal(this.oHSB.getScrollPosition(), 38, "1scroll position is 38");
62
+ assert.equal(this.oVSB.getScrollPosition(), 5, "1st scroll position should be 5");
63
+ assert.equal(this.oHSB.getScrollPosition(), 38, "1st scroll position is 38");
64
64
  this.oVSB.invalidate();
65
65
  this.oHSB.invalidate();
66
66
  await nextUIUpdate();
67
67
 
68
68
  var done = assert.async();
69
- window.setTimeout(function(){
70
- assert.equal(this.oVSB.getScrollPosition(), 5, "2scroll position should be 5");
71
- assert.equal(this.oHSB.getScrollPosition(), 38, "2scroll position is 38");
69
+ window.setTimeout(() => {
70
+ assert.equal(this.oVSB.getScrollPosition(), 5, "2nd scroll position should be 5");
71
+ assert.equal(this.oHSB.getScrollPosition(), 38, "2nd scroll position is 38");
72
72
  done();
73
- }.bind(this), 100);
73
+ }, 0);
74
74
  });
75
75
 
76
76
  QUnit.test("Size", function(assert) {
@@ -95,24 +95,21 @@ sap.ui.define([
95
95
  }
96
96
  });
97
97
 
98
- QUnit.test("Scroll Event", function(assert) {
99
- assert.expect(3);
100
- var done = assert.async();
98
+ QUnit.test("Scroll Event", async function(assert) {
99
+ const scrollEvent = new Promise((fnResolve) => {
100
+ this.oHSB.attachScroll(fnResolve);
101
+ });
101
102
 
102
- var bScrolled = false;
103
- this.oHSB.attachScroll(function() {bScrolled = true;});
104
- assert.notEqual(bScrolled, true, "Scroll event was not fired yet");
105
103
  if ( Localization.getRTL() && Device.browser.firefox){
106
104
  jQuery('#' + this.oHSB.getId() + ' > div').scrollLeft(-15);
107
105
  } else {
108
106
  jQuery('#' + this.oHSB.getId() + ' > div').scrollLeft(15);
109
107
  }
110
108
 
111
- setTimeout(function() {
112
- assert.equal(bScrolled, true, "Scroll event was fired");
113
- assert.equal(jQuery("#horiSB-sb").scrollLeft(), 15, "New scroll position of horizontal scrollbar is 15 px");
114
- done();
115
- }, 100);
109
+ await scrollEvent;
110
+
111
+ assert.ok(true, "Scroll event was fired");
112
+ assert.equal(jQuery("#horiSB-sb").scrollLeft(), 15, "New scroll position of horizontal scrollbar is 15 px");
116
113
  });
117
114
 
118
115
  QUnit.test("Scroll Scrollbars", function(assert) {
@@ -2483,20 +2483,12 @@ sap.ui.define([
2483
2483
 
2484
2484
  //*********************************************************************************************
2485
2485
  QUnit.test("constructor: unsupported model", function (assert) {
2486
- /** @deprecated As of version 1.120, because sap.ui.model.odata.Filter is deprecated since 1.22 */
2487
- this.mock(AnalyticalBinding.prototype).expects("_convertDeprecatedFilterObjects").withExactArgs(undefined);
2488
- const oModel = {createCustomParams() {}};
2489
- this.mock(oModel).expects("createCustomParams").withExactArgs({custom: undefined});
2490
- this.mock(AnalyticalBinding).expects("_getModelVersion").withExactArgs(sinon.match.same(oModel)).returns(null);
2491
- this.oLogMock.expects("error").withExactArgs("The AnalyticalBinding does not support the given model");
2486
+ this.mock(AnalyticalBinding).expects("_getModelVersion").withExactArgs("~oModel").returns(null);
2492
2487
 
2493
- // code under test
2494
- const oBinding = new AnalyticalBinding(oModel, "path",/*oContext*/undefined, /*aSorter*/undefined,
2495
- /*aFilters*/undefined, /*mParameters*/{});
2496
-
2497
- assert.strictEqual(oBinding.aAllDimensionSortedByName, undefined);
2498
- assert.strictEqual(oBinding.aInitialAnalyticalInfo, undefined);
2499
- assert.strictEqual(oBinding.aAllDimensionSortedByName, undefined);
2488
+ assert.throws(() => {
2489
+ // code under test
2490
+ new AnalyticalBinding("~oModel", "~path"); // eslint-disable-line no-new
2491
+ }, new Error("The AnalyticalBinding does not support the given model"));
2500
2492
  });
2501
2493
 
2502
2494
  //*********************************************************************************************
@@ -89,8 +89,8 @@ sap.ui.define([
89
89
  assert.ok(document.getElementById("theComponent---mainView--sub2View--customSubSubView1"), "XMLView Extension should be rendered");
90
90
  assert.ok(document.getElementById("theComponent---mainView--sub2View--customSubSubView1--customFrag1Btn"), "Button of XMLView Extension should be rendered");
91
91
 
92
- // extension within html Control
93
- assert.ok(document.getElementById("theComponent---mainView--sub2View--customFrag21Btn"), "Button of XMLView Extension inside html Control should be rendered");
92
+ // extension within child Control
93
+ assert.ok(document.getElementById("theComponent---mainView--sub2View--customFrag21Btn"), "Button of XMLView Extension in child control should be rendered");
94
94
  });
95
95
 
96
96
 
@@ -53,6 +53,9 @@ sap.ui.define([
53
53
  })
54
54
  .then(function(oRootView) {
55
55
  assert.equal(this.oXMLTPSpy.callCount, 5, "3 async XMLViews and 2 XML Fragment processed.");
56
+ /**
57
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
58
+ */
56
59
  assert.equal(oRootView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
57
60
 
58
61
  var aViewContent = oRootView.getContent();
@@ -70,6 +73,9 @@ sap.ui.define([
70
73
  return oExtPoint1View.loaded();
71
74
  }.bind(this))
72
75
  .then(function(oExtensionView) {
76
+ /**
77
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
78
+ */
73
79
  assert.equal(oExtensionView._sProcessingMode, XMLProcessingMode.Sequential, "ExtPoint1View should be processed 'Sequential'");
74
80
 
75
81
  var aExtPoint1Content = oExtensionView.getContent();
@@ -83,6 +89,9 @@ sap.ui.define([
83
89
 
84
90
  })
85
91
  .then(function(oExtPoint3View) {
92
+ /**
93
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
94
+ */
86
95
  assert.equal(oExtPoint3View._sProcessingMode, XMLProcessingMode.Sequential, "ExtPoint3View should be processed 'Sequential'");
87
96
 
88
97
  var aExtPoint3Content = oExtPoint3View.getContent();
@@ -122,6 +131,9 @@ sap.ui.define([
122
131
  assert.equal(this.oXMLTPSpy.callCount, 2, "Two async XMLViews processed.");
123
132
 
124
133
  var oView = oComponent.getRootControl();
134
+ /**
135
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
136
+ */
125
137
  assert.equal(oView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
126
138
 
127
139
  var aViewContent = oView.getContent();
@@ -129,6 +141,9 @@ sap.ui.define([
129
141
  assert.equal(aViewContent[0], oView.byId("xmlView1"), "Nested XMLView should be available.");
130
142
 
131
143
  var oNestedView = oView.byId("xmlView1");
144
+ /**
145
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
146
+ */
132
147
  assert.equal(oNestedView._sProcessingMode, XMLProcessingMode.Sequential, "Nested view should be processed 'Sequential'");
133
148
 
134
149
  var aNestedViewContent = oNestedView.getContent();
@@ -155,6 +170,9 @@ sap.ui.define([
155
170
  assert.equal(this.oXMLTPSpy.callCount, 2, "Two async XMLViews processed.");
156
171
 
157
172
  var oView = oComponent.getRootControl();
173
+ /**
174
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
175
+ */
158
176
  assert.equal(oView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
159
177
 
160
178
  var aViewContent = oView.getContent();
@@ -166,6 +184,9 @@ sap.ui.define([
166
184
  assert.equal(aViewContent[4], oView.byId("outerView_button_after"), "Button after ExtensionPoint is at the correct position.");
167
185
 
168
186
  var oNestedView = oView.byId("innerView");
187
+ /**
188
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
189
+ */
169
190
  assert.equal(oNestedView._sProcessingMode, XMLProcessingMode.Sequential, "Nested view should be processed 'Sequential'");
170
191
 
171
192
  var aNestedViewContent = oNestedView.getContent();
@@ -192,6 +213,9 @@ sap.ui.define([
192
213
  assert.equal(this.oXMLTPSpy.callCount, 3, "2 async XMLViews and 1 XML Fragment processed.");
193
214
 
194
215
  var oView = oComponent.getRootControl();
216
+ /**
217
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
218
+ */
195
219
  assert.equal(oView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
196
220
 
197
221
  var aViewContent = oView.getContent();
@@ -204,6 +228,9 @@ sap.ui.define([
204
228
  assert.equal(aViewContent[4], oView.byId("outerView_button_after"), "Button after ExtensionPoint is at the correct position.");
205
229
 
206
230
  var oExtPoint1View = oView.byId("extPoint1View");
231
+ /**
232
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
233
+ */
207
234
  assert.equal(oExtPoint1View._sProcessingMode, XMLProcessingMode.Sequential, "ExtPoint1View should be processed 'Sequential'");
208
235
 
209
236
  var aExtPoint1Content = oExtPoint1View.getContent();
@@ -241,10 +268,15 @@ sap.ui.define([
241
268
  .then(async function(oRootView) {
242
269
  await nextUIUpdate();
243
270
  return new Promise(function(res, rej) {
244
-
271
+ /**
272
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
273
+ */
245
274
  assert.equal(oRootView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
246
275
 
247
276
  var oNestedView = oRootView.byId("xmlView1");
277
+ /**
278
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
279
+ */
248
280
  assert.equal(oRootView._sProcessingMode, XMLProcessingMode.Sequential, "Nested view should be processed 'Sequential'");
249
281
 
250
282
  var oButton = oNestedView.byId("buttonXMLView1");
@@ -276,6 +308,9 @@ sap.ui.define([
276
308
  assert.equal(this.oXMLTPSpy.callCount, 3, "2 async XMLViews and 1 XML Fragment processed.");
277
309
 
278
310
  var oRootView = oComponent.getRootControl();
311
+ /**
312
+ * @deprecated because 'Sequential' will be the only mode that is supported in the next major release
313
+ */
279
314
  assert.equal(oRootView._sProcessingMode, XMLProcessingMode.Sequential, "Root view should be processed 'Sequential'");
280
315
 
281
316
  var aRootViewContent = oRootView.getContent();