@openui5/sap.ui.core 1.118.0 → 1.119.1

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 (673) hide show
  1. package/.eslintrc.json +9 -0
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/Localization.js +16 -1
  14. package/src/sap/base/i18n/ResourceBundle.js +5 -0
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/UriParameters.js +26 -19
  17. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  18. package/src/sap/base/util/restricted/_castArray.js +1 -1
  19. package/src/sap/base/util/restricted/_compact.js +1 -1
  20. package/src/sap/base/util/restricted/_curry.js +1 -1
  21. package/src/sap/base/util/restricted/_debounce.js +1 -1
  22. package/src/sap/base/util/restricted/_difference.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_flatten.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_intersection.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isNil.js +1 -1
  37. package/src/sap/base/util/restricted/_max.js +1 -1
  38. package/src/sap/base/util/restricted/_merge.js +1 -1
  39. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  40. package/src/sap/base/util/restricted/_min.js +1 -1
  41. package/src/sap/base/util/restricted/_omit.js +1 -1
  42. package/src/sap/base/util/restricted/_pick.js +1 -1
  43. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  44. package/src/sap/base/util/restricted/_throttle.js +1 -1
  45. package/src/sap/base/util/restricted/_toArray.js +1 -1
  46. package/src/sap/base/util/restricted/_union.js +1 -1
  47. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  48. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  49. package/src/sap/base/util/restricted/_uniq.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  52. package/src/sap/base/util/restricted/_without.js +1 -1
  53. package/src/sap/base/util/restricted/_xor.js +1 -1
  54. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  55. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  58. package/src/sap/ui/Device.js +3 -3
  59. package/src/sap/ui/Global.js +4 -4
  60. package/src/sap/ui/base/BindingInfo.js +25 -3
  61. package/src/sap/ui/base/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/Interface.js +1 -1
  64. package/src/sap/ui/base/ManagedObject.js +2 -2
  65. package/src/sap/ui/base/ManagedObjectMetadata.js +4 -3
  66. package/src/sap/ui/base/Metadata.js +3 -3
  67. package/src/sap/ui/base/Object.js +1 -1
  68. package/src/sap/ui/base/ObjectPool.js +1 -1
  69. package/src/sap/ui/core/.library +1 -1
  70. package/src/sap/ui/core/AccessKeysEnablement.js +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +68 -51
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +15 -167
  77. package/src/sap/ui/core/Control.js +2 -2
  78. package/src/sap/ui/core/Core.js +162 -93
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/CustomStyleClassSupport.js +3 -3
  81. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  82. package/src/sap/ui/core/Element.js +40 -4
  83. package/src/sap/ui/core/ElementMetadata.js +1 -1
  84. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  85. package/src/sap/ui/core/EventBus.js +19 -2
  86. package/src/sap/ui/core/FocusHandler.js +3 -24
  87. package/src/sap/ui/core/Fragment.js +2 -2
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/History.js +1 -1
  90. package/src/sap/ui/core/Icon.js +1 -1
  91. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  92. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  93. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  94. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  95. package/src/sap/ui/core/InvisibleText.js +2 -2
  96. package/src/sap/ui/core/Item.js +1 -1
  97. package/src/sap/ui/core/LabelEnablement.js +11 -4
  98. package/src/sap/ui/core/LayoutData.js +1 -1
  99. package/src/sap/ui/core/Lib.js +42 -42
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +1 -1
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +1 -1
  105. package/src/sap/ui/core/Message.js +4 -4
  106. package/src/sap/ui/core/Messaging.js +4 -5
  107. package/src/sap/ui/core/Popup.js +3 -3
  108. package/src/sap/ui/core/RenderManager.js +15 -10
  109. package/src/sap/ui/core/Renderer.js +1 -1
  110. package/src/sap/ui/core/Rendering.js +1 -0
  111. package/src/sap/ui/core/ResizeHandler.js +15 -20
  112. package/src/sap/ui/core/ScrollBar.js +1 -1
  113. package/src/sap/ui/core/SeparatorItem.js +1 -1
  114. package/src/sap/ui/core/ShortcutHintsMixin.js +5 -5
  115. package/src/sap/ui/core/StashedControlSupport.js +4 -4
  116. package/src/sap/ui/core/StaticArea.js +66 -74
  117. package/src/sap/ui/core/Theming.js +71 -8
  118. package/src/sap/ui/core/Title.js +1 -1
  119. package/src/sap/ui/core/TooltipBase.js +1 -1
  120. package/src/sap/ui/core/UIArea.js +10 -9
  121. package/src/sap/ui/core/UIComponent.js +2 -2
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +4 -2
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/_IconRegistry.js +2 -0
  128. package/src/sap/ui/core/cache/CacheManager.js +22 -16
  129. package/src/sap/ui/core/cache/LRUPersistentCache.js +13 -7
  130. package/src/sap/ui/core/date/UI5Date.js +1 -1
  131. package/src/sap/ui/core/delegate/ItemNavigation.js +3 -3
  132. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  133. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  134. package/src/sap/ui/core/dnd/DragDropInfo.js +6 -6
  135. package/src/sap/ui/core/dnd/DragInfo.js +4 -4
  136. package/src/sap/ui/core/dnd/DropInfo.js +6 -6
  137. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  138. package/src/sap/ui/core/getCompatibilityVersion.js +64 -0
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  140. package/src/sap/ui/core/library.js +14 -9
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +4 -4
  142. package/src/sap/ui/core/message/Message.js +14 -13
  143. package/src/sap/ui/core/message/MessageManager.js +12 -13
  144. package/src/sap/ui/core/message/MessageMixin.js +2 -2
  145. package/src/sap/ui/core/message/MessageParser.js +1 -1
  146. package/src/sap/ui/core/message/MessageProcessor.js +2 -2
  147. package/src/sap/ui/core/message/MessageType.js +4 -4
  148. package/src/sap/ui/core/messagebundle_ar.properties +2 -2
  149. package/src/sap/ui/core/messagebundle_bg.properties +3 -3
  150. package/src/sap/ui/core/messagebundle_ca.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_cs.properties +4 -4
  152. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_da.properties +3 -3
  154. package/src/sap/ui/core/messagebundle_de.properties +2 -2
  155. package/src/sap/ui/core/messagebundle_el.properties +10 -10
  156. package/src/sap/ui/core/messagebundle_en.properties +4 -4
  157. package/src/sap/ui/core/messagebundle_es.properties +17 -17
  158. package/src/sap/ui/core/messagebundle_fi.properties +1 -1
  159. package/src/sap/ui/core/messagebundle_fr.properties +21 -21
  160. package/src/sap/ui/core/messagebundle_hi.properties +2 -2
  161. package/src/sap/ui/core/messagebundle_hr.properties +6 -6
  162. package/src/sap/ui/core/messagebundle_hu.properties +10 -10
  163. package/src/sap/ui/core/messagebundle_id.properties +5 -5
  164. package/src/sap/ui/core/messagebundle_it.properties +57 -57
  165. package/src/sap/ui/core/messagebundle_iw.properties +5 -5
  166. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_ko.properties +6 -6
  168. package/src/sap/ui/core/messagebundle_lv.properties +5 -5
  169. package/src/sap/ui/core/messagebundle_ms.properties +5 -5
  170. package/src/sap/ui/core/messagebundle_nl.properties +12 -12
  171. package/src/sap/ui/core/messagebundle_no.properties +8 -8
  172. package/src/sap/ui/core/messagebundle_pl.properties +2 -2
  173. package/src/sap/ui/core/messagebundle_pt.properties +8 -8
  174. package/src/sap/ui/core/messagebundle_ro.properties +2 -2
  175. package/src/sap/ui/core/messagebundle_ru.properties +7 -7
  176. package/src/sap/ui/core/messagebundle_sk.properties +2 -2
  177. package/src/sap/ui/core/messagebundle_sl.properties +9 -9
  178. package/src/sap/ui/core/messagebundle_sv.properties +8 -8
  179. package/src/sap/ui/core/messagebundle_th.properties +18 -18
  180. package/src/sap/ui/core/messagebundle_tr.properties +5 -5
  181. package/src/sap/ui/core/messagebundle_uk.properties +8 -8
  182. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  183. package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -2
  184. package/src/sap/ui/core/messagebundle_zh_TW.properties +24 -24
  185. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  186. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  187. package/src/sap/ui/core/mvc/JSView.js +1 -1
  188. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  189. package/src/sap/ui/core/mvc/View.js +3 -3
  190. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  191. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  192. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  193. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  194. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  195. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  196. package/src/sap/ui/core/routing/async/Target.js +5 -4
  197. package/src/sap/ui/core/routing/sync/Target.js +3 -3
  198. package/src/sap/ui/core/rules/App.support.js +30 -1
  199. package/src/sap/ui/core/rules/Config.support.js +4 -0
  200. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  201. package/src/sap/ui/core/rules/Theming.support.js +4 -0
  202. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  203. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  204. package/src/sap/ui/core/service/Service.js +1 -1
  205. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  206. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  207. package/src/sap/ui/core/support/Plugin.js +1 -1
  208. package/src/sap/ui/core/support/Support.js +5 -3
  209. package/src/sap/ui/core/support/ToolsAPI.js +8 -4
  210. package/src/sap/ui/core/support/plugins/Breakpoint.js +4 -4
  211. package/src/sap/ui/core/support/plugins/ControlTree.js +31 -13
  212. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  213. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  214. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  215. package/src/sap/ui/core/support/plugins/Selector.js +2 -2
  216. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  217. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  218. package/src/sap/ui/core/support/plugins/ViewInfo.js +6 -4
  219. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -2
  220. package/src/sap/ui/core/support/usage/EventBroadcaster.js +1 -1
  221. package/src/sap/ui/core/themes/base/base.less +275 -269
  222. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  223. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  224. package/src/sap/ui/core/themes/base/global.less +8 -8
  225. package/src/sap/ui/core/theming/Parameters.js +4 -5
  226. package/src/sap/ui/core/theming/ThemeHelper.js +0 -1
  227. package/src/sap/ui/core/theming/ThemeManager.js +15 -14
  228. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  229. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  230. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  231. package/src/sap/ui/core/tmpl/Template.js +1 -1
  232. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -2
  233. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  234. package/src/sap/ui/core/util/Export.js +1 -1
  235. package/src/sap/ui/core/util/ExportCell.js +1 -1
  236. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  237. package/src/sap/ui/core/util/ExportRow.js +1 -1
  238. package/src/sap/ui/core/util/ExportType.js +1 -1
  239. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  240. package/src/sap/ui/core/util/File.js +1 -1
  241. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  242. package/src/sap/ui/core/util/MockServer.js +1 -1
  243. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  244. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +27 -4
  245. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +55 -30
  246. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +54 -48
  247. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -2
  248. package/src/sap/ui/core/util/serializer/Serializer.js +3 -3
  249. package/src/sap/ui/core/util/serializer/ViewSerializer.js +27 -10
  250. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +2 -2
  251. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  252. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  253. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  254. package/src/sap/ui/core/webc/WebComponent.js +3 -3
  255. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  256. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  257. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  258. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  259. package/src/sap/ui/debug/ControlTree.js +5 -5
  260. package/src/sap/ui/debug/DebugEnv.js +15 -6
  261. package/src/sap/ui/debug/PropertyList.js +3 -3
  262. package/src/sap/ui/dom/jquery/control.js +3 -4
  263. package/src/sap/ui/events/F6Navigation.js +2 -1
  264. package/src/sap/ui/model/ClientModel.js +33 -1
  265. package/src/sap/ui/model/ClientPropertyBinding.js +17 -1
  266. package/src/sap/ui/model/CompositeDataState.js +1 -1
  267. package/src/sap/ui/model/CompositeType.js +1 -1
  268. package/src/sap/ui/model/DataState.js +1 -1
  269. package/src/sap/ui/model/Filter.js +1 -1
  270. package/src/sap/ui/model/MetaModel.js +1 -1
  271. package/src/sap/ui/model/Model.js +1 -1
  272. package/src/sap/ui/model/SelectionModel.js +1 -1
  273. package/src/sap/ui/model/SimpleType.js +1 -1
  274. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  275. package/src/sap/ui/model/Type.js +1 -1
  276. package/src/sap/ui/model/json/JSONModel.js +2 -3
  277. package/src/sap/ui/model/message/MessageModel.js +3 -7
  278. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  279. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  280. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  282. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  283. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  284. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  285. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  286. package/src/sap/ui/model/odata/type/Date.js +1 -1
  287. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  288. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  289. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  290. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  291. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  292. package/src/sap/ui/model/odata/type/Double.js +1 -1
  293. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  294. package/src/sap/ui/model/odata/type/Int.js +1 -1
  295. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  296. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  297. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  298. package/src/sap/ui/model/odata/type/ODataType.js +2 -3
  299. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  300. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  301. package/src/sap/ui/model/odata/type/Single.js +1 -1
  302. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  303. package/src/sap/ui/model/odata/type/String.js +1 -1
  304. package/src/sap/ui/model/odata/type/Time.js +1 -1
  305. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  306. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  307. package/src/sap/ui/model/odata/v2/Context.js +13 -5
  308. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  309. package/src/sap/ui/model/odata/v2/ODataListBinding.js +85 -56
  310. package/src/sap/ui/model/odata/v2/ODataModel.js +20 -15
  311. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  312. package/src/sap/ui/model/odata/v4/Context.js +60 -10
  313. package/src/sap/ui/model/odata/v4/ODataBinding.js +13 -4
  314. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +159 -34
  315. package/src/sap/ui/model/odata/v4/ODataListBinding.js +94 -24
  316. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  317. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -10
  318. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -2
  319. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +10 -13
  320. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +105 -25
  321. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +3 -5
  322. package/src/sap/ui/model/odata/v4/lib/_Cache.js +83 -24
  323. package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -20
  324. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -3
  325. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  326. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  327. package/src/sap/ui/model/type/Boolean.js +1 -1
  328. package/src/sap/ui/model/type/Currency.js +1 -1
  329. package/src/sap/ui/model/type/Date.js +1 -2
  330. package/src/sap/ui/model/type/DateInterval.js +1 -2
  331. package/src/sap/ui/model/type/DateTime.js +1 -1
  332. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  333. package/src/sap/ui/model/type/FileSize.js +1 -1
  334. package/src/sap/ui/model/type/Float.js +1 -1
  335. package/src/sap/ui/model/type/Integer.js +1 -1
  336. package/src/sap/ui/model/type/String.js +1 -1
  337. package/src/sap/ui/model/type/Time.js +1 -1
  338. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  339. package/src/sap/ui/model/type/Unit.js +1 -1
  340. package/src/sap/ui/model/xml/XMLModel.js +2 -2
  341. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -2
  342. package/src/sap/ui/performance/BeaconRequest.js +8 -10
  343. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +60 -6
  344. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  345. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  346. package/src/sap/ui/qunit/utils/waitForThemeApplied.js +16 -14
  347. package/src/sap/ui/test/BlanketReporterUI.view.xml +5 -2
  348. package/src/sap/ui/test/OpaPlugin.js +3 -3
  349. package/src/sap/ui/test/TestUtils.js +3 -3
  350. package/src/sap/ui/test/generic/TestBase.js +1 -1
  351. package/src/sap/ui/test/matchers/Descendant.js +1 -1
  352. package/src/sap/ui/test/matchers/Sibling.js +1 -1
  353. package/src/sap/ui/test/selectors/_LabelFor.js +3 -2
  354. package/src/sap/ui/test/starter/_setupAndStart.js +35 -11
  355. package/src/sap/ui/util/Storage.js +1 -1
  356. package/test/sap/ui/core/HTMLControl.html +94 -93
  357. package/test/sap/ui/core/HyphenationPlayground.html +10 -9
  358. package/test/sap/ui/core/Strings.view.xml +5 -1
  359. package/test/sap/ui/core/ThemeParameters.html +31 -30
  360. package/test/sap/ui/core/ValidateURL.html +10 -10
  361. package/test/sap/ui/core/demokit/sample/BusyIndicator/manifest.json +2 -1
  362. package/test/sap/ui/core/demokit/sample/Commands/manifest.json +2 -2
  363. package/test/sap/ui/core/demokit/sample/ControlBusyIndicator/manifest.json +2 -1
  364. package/test/sap/ui/core/demokit/sample/ControllerExtension/manifest.json +1 -0
  365. package/test/sap/ui/core/demokit/sample/FieldGroup/manifest.json +1 -0
  366. package/test/sap/ui/core/demokit/sample/Html/manifest.json +1 -0
  367. package/test/sap/ui/core/demokit/sample/Html/preserveDOM/manifest.json +1 -0
  368. package/test/sap/ui/core/demokit/sample/Html/static/manifest.json +1 -0
  369. package/test/sap/ui/core/demokit/sample/HyphenationAPI/C.controller.js +3 -3
  370. package/test/sap/ui/core/demokit/sample/Icon/manifest.json +2 -1
  371. package/test/sap/ui/core/demokit/sample/InvisibleMessage/InvisibleMessage.controller.js +4 -4
  372. package/test/sap/ui/core/demokit/sample/InvisibleMessage/manifest.json +2 -1
  373. package/test/sap/ui/core/demokit/sample/InvisibleText/manifest.json +2 -1
  374. package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/manifest.json +1 -0
  375. package/test/sap/ui/core/demokit/sample/OpaAction/manifest.json +1 -0
  376. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.js +1 -1
  377. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/manifest.json +2 -2
  378. package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/manifest.json +2 -1
  379. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/applicationUnderTest/manifest.json +2 -2
  380. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/manifest.json +2 -1
  381. package/test/sap/ui/core/demokit/sample/OpaById/applicationUnderTest/manifest.json +2 -2
  382. package/test/sap/ui/core/demokit/sample/OpaById/manifest.json +2 -1
  383. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/applicationUnderTest/manifest.json +2 -2
  384. package/test/sap/ui/core/demokit/sample/OpaDynamicWait/manifest.json +2 -1
  385. package/test/sap/ui/core/demokit/sample/OpaGetStarted/manifest.json +2 -1
  386. package/test/sap/ui/core/demokit/sample/OpaMatchers/applicationUnderTest/manifest.json +2 -2
  387. package/test/sap/ui/core/demokit/sample/OpaMatchers/manifest.json +2 -1
  388. package/test/sap/ui/core/demokit/sample/OpaPageObject/applicationUnderTest/manifest.json +2 -2
  389. package/test/sap/ui/core/demokit/sample/OpaPageObject/manifest.json +2 -1
  390. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/applicationUnderTest/manifest.json +2 -2
  391. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/manifest.json +2 -1
  392. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/applicationUnderTest/manifest.json +2 -2
  393. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyUIComponent/manifest.json +2 -1
  394. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/applicationUnderTest/manifest.json +2 -2
  395. package/test/sap/ui/core/demokit/sample/OpaStaticAreaControls/manifest.json +2 -1
  396. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/applicationUnderTest/manifest.json +2 -2
  397. package/test/sap/ui/core/demokit/sample/OpaTestLibrary/manifest.json +2 -1
  398. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/applicationUnderTest/manifest.json +2 -2
  399. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyAppInAFrameWithURLParameters/manifest.json +2 -1
  400. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/applicationUnderTest/manifest.json +2 -2
  401. package/test/sap/ui/core/demokit/sample/OpaURLParameters/iStartMyUIComponentWithURLParameters/manifest.json +2 -1
  402. package/test/sap/ui/core/demokit/sample/OpaWithSupportAssistant/manifest.json +2 -1
  403. package/test/sap/ui/core/demokit/sample/PatternMatching/manifest.json +2 -1
  404. package/test/sap/ui/core/demokit/sample/PatternMatching/patternApp/manifest.json +2 -2
  405. package/test/sap/ui/core/demokit/sample/RoutingFullscreen/manifest.json +2 -1
  406. package/test/sap/ui/core/demokit/sample/RoutingMasterDetail/manifest.json +2 -1
  407. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/manifest.json +2 -2
  408. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/manifest.json +2 -1
  409. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/manifest.json +2 -1
  410. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/manifest.json +2 -1
  411. package/test/sap/ui/core/demokit/sample/TargetsStandalone/manifest.json +2 -1
  412. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/ThemeCustomClasses.controller.js +3 -3
  413. package/test/sap/ui/core/demokit/sample/ThemeCustomClasses/manifest.json +1 -0
  414. package/test/sap/ui/core/demokit/sample/TypeCurrency/manifest.json +1 -0
  415. package/test/sap/ui/core/demokit/sample/TypeDateAsDate/manifest.json +1 -0
  416. package/test/sap/ui/core/demokit/sample/TypeDateAsString/manifest.json +1 -0
  417. package/test/sap/ui/core/demokit/sample/TypeDateTime/manifest.json +1 -0
  418. package/test/sap/ui/core/demokit/sample/TypeFileSize/manifest.json +1 -0
  419. package/test/sap/ui/core/demokit/sample/TypeFloat/manifest.json +1 -0
  420. package/test/sap/ui/core/demokit/sample/TypeInteger/manifest.json +1 -0
  421. package/test/sap/ui/core/demokit/sample/TypeTimeAsTime/manifest.json +1 -0
  422. package/test/sap/ui/core/demokit/sample/View/async/manifest.json +2 -1
  423. package/test/sap/ui/core/demokit/sample/View/preprocessor/manifest.json +2 -1
  424. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -1
  425. package/test/sap/ui/core/demokit/sample/XMLComposite/02/manifest.json +1 -0
  426. package/test/sap/ui/core/demokit/sample/common/Controller.js +3 -2
  427. package/test/sap/ui/core/demokit/sample/common/Helper.js +15 -2
  428. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +3 -0
  429. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/applicationUnderTest/manifest.json +1 -0
  430. package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/manifest.json +2 -1
  431. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +2 -1
  432. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/webapp/manifest.json +2 -2
  433. package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +2 -1
  434. package/test/sap/ui/core/demokit/sample/matcher/Descendant/webapp/manifest.json +2 -2
  435. package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +2 -1
  436. package/test/sap/ui/core/demokit/sample/matcher/I18NText/webapp/manifest.json +2 -2
  437. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +2 -1
  438. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/webapp/manifest.json +2 -2
  439. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -0
  440. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -0
  441. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -0
  442. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +6 -2
  443. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +7 -3
  444. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -2
  445. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +7 -4
  446. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/expandPageCollapse.js +1 -1
  447. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +1 -1
  448. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +1 -1
  449. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +3 -5
  450. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +4 -2
  451. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +6 -4
  452. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +6 -2
  453. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +9 -16
  454. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +6 -2
  455. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +7 -3
  456. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +1 -1
  457. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +1 -1
  458. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +5 -2
  459. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +4 -2
  460. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +1 -1
  461. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +29 -4
  462. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +30 -5
  463. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +33 -6
  464. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/createEdit.js +1 -1
  465. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/tests/pageExpandCollapse.js +1 -1
  466. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +1 -1
  467. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +1 -1
  468. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +9 -8
  469. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/ChangeContext.js +1 -1
  470. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +1 -1
  471. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateMultiple.js +1 -1
  472. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -1
  473. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +1 -1
  474. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/TypeDeterminationAndDelete.js +8 -9
  475. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/WriteNonDeferredGroup.js +1 -1
  476. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/additionalTargets.js +1 -1
  477. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/tests/AdaptSalesOrdersTable.js +1 -1
  478. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +1 -1
  479. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +5 -2
  480. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -2
  481. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/mockserver/01/webapp/manifest.json +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/mockserver/02/webapp/manifest.json +1 -1
  484. package/test/sap/ui/core/demokit/tutorial/mockserver/03/webapp/manifest.json +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/mockserver/04/webapp/manifest.json +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/webapp/manifest.json +1 -1
  487. package/test/sap/ui/core/internal/samples/composite/xmlcomposite/exTableWrapperOuterBinding/Test.controller.js +3 -2
  488. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +1 -1
  489. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -3
  490. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +1 -1
  491. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +40 -20
  492. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  493. package/test/sap/ui/core/qunit/Core.qunit.js +5 -4
  494. package/test/sap/ui/core/qunit/Core_libraryTerminologies_integration.qunit.js +12 -11
  495. package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +119 -117
  496. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +5 -17
  497. package/test/sap/ui/core/qunit/Declarative.qunit.js +37 -37
  498. package/test/sap/ui/core/qunit/Element_base.qunit.js +1 -1
  499. package/test/sap/ui/core/qunit/EventBus.qunit.js +4 -3
  500. package/test/sap/ui/core/qunit/FastNavigation.qunit.js +3 -2
  501. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +9 -8
  502. package/test/sap/ui/core/qunit/FocusHandler.qunit.js +5 -4
  503. package/test/sap/ui/core/qunit/Fragment.qunit.js +12 -12
  504. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +13 -12
  505. package/test/sap/ui/core/qunit/HTML.qunit.js +35 -35
  506. package/test/sap/ui/core/qunit/IconPool.qunit.js +6 -6
  507. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +5 -4
  508. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +3 -3
  509. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +2 -2
  510. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +3 -3
  511. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +9 -9
  512. package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +5 -4
  513. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +47 -79
  514. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +40 -372
  515. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +686 -0
  516. package/test/sap/ui/core/qunit/TooltipBase.qunit.js +3 -2
  517. package/test/sap/ui/core/qunit/UIArea.qunit.js +10 -10
  518. package/test/sap/ui/core/qunit/analytics/testsuite4analytics.qunit.html +3 -3
  519. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +4 -3
  520. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +13 -3
  521. package/test/sap/ui/core/qunit/base/util/UriParameters.qunit.js +27 -1
  522. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  523. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +22 -21
  524. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +4 -9
  525. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTaskAndPreload.qunit.js +19 -4
  526. package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +3 -2
  527. package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +4 -3
  528. package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +4 -3
  529. package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +4 -3
  530. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +2 -198
  531. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +210 -0
  532. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +33 -30
  533. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +6 -0
  534. package/test/sap/ui/core/qunit/component/Component.qunit.js +12 -0
  535. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +6 -5
  536. package/test/sap/ui/core/qunit/component/Component_dependencyLoading.qunit.js +15 -9
  537. package/test/sap/ui/core/qunit/component/Component_dependencyLoading_unavoidablySync.qunit.js +10 -6
  538. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +8 -7
  539. package/test/sap/ui/core/qunit/component/Customizing_disabled.qunit.js +6 -5
  540. package/test/sap/ui/core/qunit/component/Customizing_legacyAPIs.qunit.js +8 -7
  541. package/test/sap/ui/core/qunit/component/Customizing_multi.qunit.js +7 -6
  542. package/test/sap/ui/core/qunit/component/Customizing_unavoidablySync.qunit.js +5 -4
  543. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +3 -3
  544. package/test/sap/ui/core/qunit/component/Models.qunit.js +103 -44
  545. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +20 -4
  546. package/test/sap/ui/core/qunit/component/UIComponent_unavoidablySync.qunit.js +5 -4
  547. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component1/manifest.json +2 -1
  548. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component2/manifest.json +1 -0
  549. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component3/manifest.json +2 -1
  550. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component4/manifest.json +1 -0
  551. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component5/manifest.json +1 -1
  552. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/component6/manifest.json +1 -0
  553. package/test/sap/ui/core/qunit/component/testdata/dependencyLoading/componentVariant/manifest.json +1 -0
  554. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/manifest.json +1 -1
  555. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +1 -1
  556. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +5 -5
  557. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +4 -5
  558. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  559. package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +4 -4
  560. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +19 -9
  561. package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +2 -4
  562. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +5 -4
  563. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -9
  564. package/test/sap/ui/core/qunit/messages/Messaging.qunit.js +10 -5
  565. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +6 -0
  566. package/test/sap/ui/core/qunit/messages/messagesGeneral_legacyAPIs.qunit.js +158 -0
  567. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +5 -4
  568. package/test/sap/ui/core/qunit/messages/testsuite.messaging.base.qunit.js +7 -0
  569. package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +47 -0
  570. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -3
  571. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -3
  572. package/test/sap/ui/core/qunit/mvc/View.qunit.js +5 -1
  573. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +6 -5
  574. package/test/sap/ui/core/qunit/mvc/testdata/TypedViewWithRendererRenderer.js +2 -2
  575. package/test/sap/ui/core/qunit/mvc/testdata/stashed/manifest.json +2 -1
  576. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +4 -3
  577. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing_legacyAPIs.qunit.js +4 -3
  578. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -3
  579. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +6 -5
  580. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +11 -7
  581. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +35 -0
  582. package/test/sap/ui/core/qunit/odata/_AnnotationHelperBasics.qunit.js +10 -4
  583. package/test/sap/ui/core/qunit/odata/data/ODataModelFakeService.js +1 -1
  584. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +5 -0
  585. package/test/sap/ui/core/qunit/odata/type/ODataType.qunit.js +9 -0
  586. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +12 -0
  587. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +422 -9
  588. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +483 -33
  589. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +121 -2
  590. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +95 -8
  591. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +59 -13
  592. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +355 -75
  593. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +152 -19
  594. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1253 -130
  595. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +19 -9
  596. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +6 -27
  597. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +3 -1
  598. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +2 -2
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +172 -17
  600. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +7 -8
  601. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +185 -84
  602. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +2 -22
  603. package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +6 -4
  604. package/test/sap/ui/core/qunit/opa/selectors/_Selector.js +3 -2
  605. package/test/sap/ui/core/qunit/opa/selectors/_TableRowItem.js +4 -3
  606. package/test/sap/ui/core/qunit/rule/app/deprecatedJSViewUsage.qunit.js +4 -0
  607. package/test/sap/ui/core/qunit/rule/app/globalApiUsage.qunit.js +4 -0
  608. package/test/sap/ui/core/qunit/rule/app/jquerySapUsage.qunit.js +4 -0
  609. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +4 -0
  610. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrap.qunit.js +4 -0
  611. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebug.qunit.js +4 -0
  612. package/test/sap/ui/core/qunit/rule/app/syncXHRBootstrapDebugBeforeBootstrap.js +4 -0
  613. package/test/sap/ui/core/qunit/rule/config/asynchronousXMLViews.qunit.js +4 -1
  614. package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +8 -7
  615. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +11 -2
  616. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +18 -0
  617. package/test/sap/ui/core/qunit/test/starter/find/main.js +11 -8
  618. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +6 -0
  619. package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +7 -1
  620. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +21 -2
  621. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +26 -4
  622. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +5 -5
  623. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +30 -13
  624. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +40 -16
  625. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +11 -10
  626. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +69 -8
  627. package/test/sap/ui/core/relnotes/changes-1.118.json +1 -34
  628. package/test/sap/ui/core/relnotes/changes-1.119.json +217 -0
  629. package/test/sap/ui/core/resources/fastnav.js +3 -2
  630. package/test/sap/ui/core/samples/ResponsiveDemo.html +3 -3
  631. package/test/sap/ui/core/samples/components/commands/manifest.json +2 -2
  632. package/test/sap/ui/core/samples/components/sample/manifest.json +2 -1
  633. package/test/sap/ui/core/samples/databinding/DatabindingMessages.html +1 -1
  634. package/test/sap/ui/core/samples/databinding/ODatabindingMessages.html +3 -3
  635. package/test/sap/ui/core/samples/databinding/UnitTable.view.xml +9 -2
  636. package/test/sap/ui/core/samples/formatting/manifest.json +2 -2
  637. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +62 -61
  638. package/test/sap/ui/core/samples/routing_legacyAPIs/AsyncViews.html +124 -123
  639. package/test/sap/ui/core/terminologies/App.controller.js +3 -2
  640. package/test/sap/ui/core/terminologies/App.view.xml +64 -64
  641. package/test/sap/ui/core/tmpl_legacyAPIs/TemplateSimple.html +38 -37
  642. package/test/sap/ui/core/util/PasteHelper.html +5 -4
  643. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  644. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  645. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  646. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  647. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  648. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  649. package/test/sap/ui/core/samples/databinding/DataBinding.html +0 -135
  650. package/test/sap/ui/core/samples/databinding/DataBindingCalculatedFields.html +0 -229
  651. package/test/sap/ui/core/samples/databinding/DataBindingCompositeTypes.html +0 -273
  652. package/test/sap/ui/core/samples/databinding/DataBindingFormat.html +0 -294
  653. package/test/sap/ui/core/samples/databinding/DataBindingList.html +0 -290
  654. package/test/sap/ui/core/samples/databinding/DataBindingListNamedModel.html +0 -290
  655. package/test/sap/ui/core/samples/databinding/DataBindingListXML.html +0 -280
  656. package/test/sap/ui/core/samples/databinding/DataBindingMasterDetail.html +0 -117
  657. package/test/sap/ui/core/samples/databinding/DataBindingMultiModel.html +0 -154
  658. package/test/sap/ui/core/samples/databinding/DataBindingResourceModel.html +0 -119
  659. package/test/sap/ui/core/samples/databinding/DataBindingSortingFiltering.html +0 -103
  660. package/test/sap/ui/core/samples/databinding/DataBindingTree.html +0 -166
  661. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilter.html +0 -117
  662. package/test/sap/ui/core/samples/databinding/DataBindingTreeFilterXML.html +0 -103
  663. package/test/sap/ui/core/samples/databinding/DataBindingTreeLarge.html +0 -128
  664. package/test/sap/ui/core/samples/databinding/DataBindingTreeWithArrays.html +0 -132
  665. package/test/sap/ui/core/samples/databinding/DataBindingTwoWay.html +0 -158
  666. package/test/sap/ui/core/samples/databinding/DataBindingTwoWayTable.html +0 -141
  667. package/test/sap/ui/core/samples/databinding/DataBindingTypes.html +0 -265
  668. package/test/sap/ui/core/samples/databinding/DataBindingValidation.html +0 -195
  669. package/test/sap/ui/core/samples/databinding/DataBindingXML.html +0 -148
  670. package/test/sap/ui/core/samples/databinding/DataBindingXMLView.html +0 -53
  671. package/test/sap/ui/core/samples/databinding/testdata/ListBinding.view.xml +0 -9
  672. package/test/sap/ui/core/samples/databinding/testdata/test.view.json +0 -15
  673. package/test/sap/ui/core/samples/databinding/testdata/test.view.xml +0 -8
@@ -2,12 +2,14 @@
2
2
  // load Parameters API to test ThemeScopingChanged event
3
3
  sap.ui.define([
4
4
  "sap/ui/core/Control",
5
+ "sap/ui/core/Theming",
5
6
  "sap/ui/core/theming/Parameters",
6
7
  "sap/ui/qunit/utils/createAndAppendDiv",
7
8
  "sap/ui/qunit/utils/nextUIUpdate"
8
- ], function(Control, Parameters, createAndAppendDiv, nextUIUpdate) {
9
+ ], function(Control, Theming, Parameters, createAndAppendDiv, nextUIUpdate) {
9
10
  "use strict";
10
11
 
12
+ var oMyControl, aCurrentDOMClasses, aCurrentAPIClasses;
11
13
  createAndAppendDiv("content");
12
14
 
13
15
  // trigger parameter loading to enable event
@@ -36,29 +38,29 @@ sap.ui.define([
36
38
 
37
39
  QUnit.module("CustomStyleClassSupport", {
38
40
  onThemeScopingChanged: function() {
39
- var oDomRef = this.myControl.getDomRef();
40
- this.aCurrentDOMClasses = oDomRef ? Array.prototype.slice.call(oDomRef.classList) : [];
41
- this.aCurrentAPIClasses = this.myControl.aCustomStyleClasses;
41
+ var oDomRef = oMyControl.getDomRef();
42
+ aCurrentDOMClasses = oDomRef ? Array.prototype.slice.call(oDomRef.classList) : [];
43
+ aCurrentAPIClasses = oMyControl.aCustomStyleClasses;
42
44
  },
43
45
  beforeEach: function(assert) {
44
46
 
45
- sap.ui.getCore().attachThemeScopingChanged(this.onThemeScopingChanged, this);
47
+ Theming.attachThemeScopingChanged(this.onThemeScopingChanged);
46
48
 
47
- this.fireThemeScopingChangedSpy = sinon.spy(sap.ui.getCore(), "fireThemeScopingChanged");
49
+ this.fireThemeScopingChangedSpy = sinon.spy(Theming, "fireThemeScopingChanged");
48
50
 
49
- this.myControl = new MyControlClass("myControl", assert);
51
+ oMyControl = new MyControlClass("myControl", assert);
50
52
 
51
- this.myControl.placeAt("content");
53
+ oMyControl.placeAt("content");
52
54
  return nextUIUpdate();
53
55
  },
54
56
  afterEach: function() {
55
57
 
56
- sap.ui.getCore().detachThemeScopingChanged(this.onThemeScopingChanged, this);
58
+ Theming.detachThemeScopingChanged(this.onThemeScopingChanged);
57
59
 
58
60
  this.fireThemeScopingChangedSpy.restore();
59
61
  this.fireThemeScopingChangedSpy = null;
60
62
 
61
- this.myControl.destroy();
63
+ oMyControl.destroy();
62
64
  }
63
65
  });
64
66
 
@@ -67,30 +69,30 @@ sap.ui.define([
67
69
 
68
70
  assert.expect(4); // control shouldn't rerender itself
69
71
 
70
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class");
71
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
72
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class");
73
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
72
74
 
73
75
  // ThemeScopingChanged Event should not be fired
74
76
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
75
77
  });
76
78
 
77
79
  QUnit.test("call hasStyleClass with whitespace", function(assert) {
78
- assert.equal(this.myControl.hasStyleClass(" "), false, "white space should be ignored");
80
+ assert.equal(oMyControl.hasStyleClass(" "), false, "white space should be ignored");
79
81
 
80
82
  // ThemeScopingChanged Event should not be fired
81
83
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
82
84
  });
83
85
 
84
86
  QUnit.test("call addStyleClass with whitespaces and check with hasStyleClass", function(assert) {
85
- this.myControl.addStyleClass("\r \n \t \f ");
87
+ oMyControl.addStyleClass("\r \n \t \f ");
86
88
 
87
- assert.equal(this.myControl.$()[0].className, "", "class in HTML shouldn't be changed");
88
- assert.equal(this.myControl.hasStyleClass(" "), false, "White space(s) class name should be ignored");
89
- assert.equal(this.myControl.hasStyleClass("\r"), false, "White space(s) class name should be ignored");
90
- assert.equal(this.myControl.hasStyleClass("\n"), false, "White space(s) class name should be ignored");
91
- assert.equal(this.myControl.hasStyleClass("\t"), false, "White space(s) class name should be ignored");
92
- assert.equal(this.myControl.hasStyleClass("\f"), false, "White space(s) class name should be ignored");
93
- assert.equal(this.myControl.hasStyleClass("\r \n \t \f "), false, "White space(s) class name should be ignored");
89
+ assert.equal(oMyControl.$()[0].className, "", "class in HTML shouldn't be changed");
90
+ assert.equal(oMyControl.hasStyleClass(" "), false, "White space(s) class name should be ignored");
91
+ assert.equal(oMyControl.hasStyleClass("\r"), false, "White space(s) class name should be ignored");
92
+ assert.equal(oMyControl.hasStyleClass("\n"), false, "White space(s) class name should be ignored");
93
+ assert.equal(oMyControl.hasStyleClass("\t"), false, "White space(s) class name should be ignored");
94
+ assert.equal(oMyControl.hasStyleClass("\f"), false, "White space(s) class name should be ignored");
95
+ assert.equal(oMyControl.hasStyleClass("\r \n \t \f "), false, "White space(s) class name should be ignored");
94
96
 
95
97
  // ThemeScopingChanged Event should not be fired
96
98
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -101,11 +103,11 @@ sap.ui.define([
101
103
 
102
104
  assert.expect(5); // this also verifies there is no rerendering
103
105
 
104
- this.myControl.addStyleClass(sMyClass);
106
+ oMyControl.addStyleClass(sMyClass);
105
107
 
106
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should now have the class");
107
- assert.equal(this.myControl.hasStyleClass(" "), false, "white space class should be ignored");
108
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should now be in HTML");
108
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should now have the class");
109
+ assert.equal(oMyControl.hasStyleClass(" "), false, "white space class should be ignored");
110
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should now be in HTML");
109
111
 
110
112
  // ThemeScopingChanged Event should not be fired
111
113
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -114,19 +116,19 @@ sap.ui.define([
114
116
  QUnit.test("remove an added class", function(assert) {
115
117
  var sMyClass = "abc";
116
118
 
117
- this.myControl.addStyleClass(sMyClass);
119
+ oMyControl.addStyleClass(sMyClass);
118
120
 
119
121
  assert.expect(4); // this also verifies there is no rerendering
120
122
 
121
- this.myControl.removeStyleClass(sMyClass);
123
+ oMyControl.removeStyleClass(sMyClass);
122
124
 
123
125
  // remove white space class shouldn't have any effect
124
- this.myControl.removeStyleClass(" ");
126
+ oMyControl.removeStyleClass(" ");
125
127
 
126
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class");
127
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
128
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class");
129
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
128
130
 
129
- this.myControl.removeStyleClass(sMyClass); // should not cause an error or rendering
131
+ oMyControl.removeStyleClass(sMyClass); // should not cause an error or rendering
130
132
 
131
133
  // ThemeScopingChanged Event should not be fired
132
134
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -137,15 +139,15 @@ sap.ui.define([
137
139
 
138
140
  assert.expect(6); // this also verifies there is no rerendering
139
141
 
140
- this.myControl.toggleStyleClass(sMyClass);
142
+ oMyControl.toggleStyleClass(sMyClass);
141
143
 
142
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should now have the class");
143
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should now be in HTML");
144
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should now have the class");
145
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should now be in HTML");
144
146
 
145
- this.myControl.toggleStyleClass(sMyClass);
147
+ oMyControl.toggleStyleClass(sMyClass);
146
148
 
147
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class");
148
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
149
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class");
150
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
149
151
 
150
152
  // ThemeScopingChanged Event should not be fired
151
153
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -156,15 +158,15 @@ sap.ui.define([
156
158
 
157
159
  assert.expect(6); // this also verifies there is no rerendering
158
160
 
159
- this.myControl.toggleStyleClass(sMyClass, true);
161
+ oMyControl.toggleStyleClass(sMyClass, true);
160
162
 
161
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should now have the class");
162
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should now be in HTML");
163
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should now have the class");
164
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should now be in HTML");
163
165
 
164
- this.myControl.toggleStyleClass(sMyClass, false);
166
+ oMyControl.toggleStyleClass(sMyClass, false);
165
167
 
166
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class");
167
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
168
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class");
169
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
168
170
 
169
171
  // ThemeScopingChanged Event should not be fired
170
172
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -175,15 +177,15 @@ sap.ui.define([
175
177
 
176
178
  assert.expect(5); // this also verifies there is no rerendering
177
179
 
178
- this.myControl.addStyleClass(sMyClass);
179
- this.myControl.addStyleClass(sMyClass);
180
+ oMyControl.addStyleClass(sMyClass);
181
+ oMyControl.addStyleClass(sMyClass);
180
182
 
181
- assert.equal(this.myControl.$()[0].className, "abc", "class should be in HTML only once");
183
+ assert.equal(oMyControl.$()[0].className, "abc", "class should be in HTML only once");
182
184
 
183
- this.myControl.removeStyleClass(sMyClass);
185
+ oMyControl.removeStyleClass(sMyClass);
184
186
 
185
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class");
186
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
187
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class");
188
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
187
189
 
188
190
  // ThemeScopingChanged Event should not be fired
189
191
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -194,29 +196,29 @@ sap.ui.define([
194
196
  sMyClass1 = "bcd",
195
197
  sCombinedClass = sMyClass + " " + sMyClass1;
196
198
 
197
- this.myControl.addStyleClass(sCombinedClass);
198
- this.myControl.removeStyleClass(""); // call with empty string shouldn't have any effect
199
+ oMyControl.addStyleClass(sCombinedClass);
200
+ oMyControl.removeStyleClass(""); // call with empty string shouldn't have any effect
199
201
 
200
- assert.equal(this.myControl.hasStyleClass(sCombinedClass), true, "control should now have the combined class " + sCombinedClass);
201
- assert.equal(this.myControl.$().hasClass(sCombinedClass), true, "class should now be in HTML");
202
+ assert.equal(oMyControl.hasStyleClass(sCombinedClass), true, "control should now have the combined class " + sCombinedClass);
203
+ assert.equal(oMyControl.$().hasClass(sCombinedClass), true, "class should now be in HTML");
202
204
 
203
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should now have the class " + sMyClass);
204
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should now be in HTML");
205
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should now have the class " + sMyClass);
206
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should now be in HTML");
205
207
 
206
- assert.equal(this.myControl.hasStyleClass(sMyClass1), true, "control should now have the class " + sMyClass);
207
- assert.equal(this.myControl.$().hasClass(sMyClass1), true, "class should now be in HTML");
208
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), true, "control should now have the class " + sMyClass);
209
+ assert.equal(oMyControl.$().hasClass(sMyClass1), true, "class should now be in HTML");
208
210
 
209
211
 
210
- this.myControl.removeStyleClass(sCombinedClass + " unknownClass"); // remove unknown class shouldn't have any effect
212
+ oMyControl.removeStyleClass(sCombinedClass + " unknownClass"); // remove unknown class shouldn't have any effect
211
213
 
212
- assert.equal(this.myControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
213
- assert.equal(this.myControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
214
+ assert.equal(oMyControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
215
+ assert.equal(oMyControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
214
216
 
215
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class " + sMyClass);
216
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
217
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class " + sMyClass);
218
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
217
219
 
218
- assert.equal(this.myControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
219
- assert.equal(this.myControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
220
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
221
+ assert.equal(oMyControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
220
222
 
221
223
  // ThemeScopingChanged Event should not be fired
222
224
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -227,41 +229,41 @@ sap.ui.define([
227
229
  sMyClass1 = "bcd",
228
230
  sCombinedClass = sMyClass + " " + sMyClass1;
229
231
 
230
- this.myControl.addStyleClass(sCombinedClass);
231
- this.myControl.removeStyleClass(""); // call with empty string shouldn't have any effect
232
+ oMyControl.addStyleClass(sCombinedClass);
233
+ oMyControl.removeStyleClass(""); // call with empty string shouldn't have any effect
232
234
 
233
- assert.equal(this.myControl.hasStyleClass(sCombinedClass), true, "control should now have the combined class " + sCombinedClass);
234
- assert.equal(this.myControl.$().hasClass(sCombinedClass), true, "class should now be in HTML");
235
+ assert.equal(oMyControl.hasStyleClass(sCombinedClass), true, "control should now have the combined class " + sCombinedClass);
236
+ assert.equal(oMyControl.$().hasClass(sCombinedClass), true, "class should now be in HTML");
235
237
 
236
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should now have the class " + sMyClass);
237
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should now be in HTML");
238
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should now have the class " + sMyClass);
239
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should now be in HTML");
238
240
 
239
- assert.equal(this.myControl.hasStyleClass(sMyClass1), true, "control should now have the class " + sMyClass);
240
- assert.equal(this.myControl.$().hasClass(sMyClass1), true, "class should now be in HTML");
241
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), true, "control should now have the class " + sMyClass);
242
+ assert.equal(oMyControl.$().hasClass(sMyClass1), true, "class should now be in HTML");
241
243
 
242
244
 
243
- this.myControl.removeStyleClass(sMyClass1 + " unknownClass"); // remove unknown class shouldn't have any effect
245
+ oMyControl.removeStyleClass(sMyClass1 + " unknownClass"); // remove unknown class shouldn't have any effect
244
246
 
245
- assert.equal(this.myControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
246
- assert.equal(this.myControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
247
+ assert.equal(oMyControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
248
+ assert.equal(oMyControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
247
249
 
248
- assert.equal(this.myControl.hasStyleClass(sMyClass), true, "control should still have the class " + sMyClass);
249
- assert.equal(this.myControl.$().hasClass(sMyClass), true, "class should still be in HTML");
250
+ assert.equal(oMyControl.hasStyleClass(sMyClass), true, "control should still have the class " + sMyClass);
251
+ assert.equal(oMyControl.$().hasClass(sMyClass), true, "class should still be in HTML");
250
252
 
251
- assert.equal(this.myControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
252
- assert.equal(this.myControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
253
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
254
+ assert.equal(oMyControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
253
255
 
254
256
 
255
- this.myControl.removeStyleClass(sMyClass + " unknownClass"); // remove unknown class shouldn't have any effect
257
+ oMyControl.removeStyleClass(sMyClass + " unknownClass"); // remove unknown class shouldn't have any effect
256
258
 
257
- assert.equal(this.myControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
258
- assert.equal(this.myControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
259
+ assert.equal(oMyControl.hasStyleClass(sCombinedClass), false, "control should not have the combined class " + sCombinedClass);
260
+ assert.equal(oMyControl.$().hasClass(sCombinedClass), false, "class should not be in HTML");
259
261
 
260
- assert.equal(this.myControl.hasStyleClass(sMyClass), false, "control should not have the class " + sMyClass);
261
- assert.equal(this.myControl.$().hasClass(sMyClass), false, "class should not be in HTML");
262
+ assert.equal(oMyControl.hasStyleClass(sMyClass), false, "control should not have the class " + sMyClass);
263
+ assert.equal(oMyControl.$().hasClass(sMyClass), false, "class should not be in HTML");
262
264
 
263
- assert.equal(this.myControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
264
- assert.equal(this.myControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
265
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), false, "control should not have the class " + sMyClass1);
266
+ assert.equal(oMyControl.$().hasClass(sMyClass1), false, "class should not be in HTML");
265
267
 
266
268
  // ThemeScopingChanged Event should not be fired
267
269
  sinon.assert.notCalled(this.fireThemeScopingChangedSpy);
@@ -273,8 +275,8 @@ sap.ui.define([
273
275
  sCombinedClass = sMyClass + " " + sMyClass1,
274
276
  oClonedControl;
275
277
 
276
- this.myControl.addStyleClass(sCombinedClass);
277
- oClonedControl = this.myControl.clone();
278
+ oMyControl.addStyleClass(sCombinedClass);
279
+ oClonedControl = oMyControl.clone();
278
280
 
279
281
  assert.equal(oClonedControl.hasStyleClass(sMyClass), true, "the cloned control has the style class 'abc'");
280
282
  assert.equal(oClonedControl.hasStyleClass(sMyClass1), true, "the cloned control has the style class 'bcd'");
@@ -289,12 +291,12 @@ sap.ui.define([
289
291
  QUnit.test("Cloned Control and the original control should handle the style class separately", function(assert) {
290
292
  var sMyClass = "abc",
291
293
  sMyClass1 = "bcd",
292
- oClonedControl = this.myControl.clone();
294
+ oClonedControl = oMyControl.clone();
293
295
 
294
- this.myControl.addStyleClass(sMyClass);
296
+ oMyControl.addStyleClass(sMyClass);
295
297
  oClonedControl.addStyleClass(sMyClass1);
296
298
 
297
- assert.equal(this.myControl.hasStyleClass(sMyClass1), false, "the original control shouldn't have the class which is added on the cloned one");
299
+ assert.equal(oMyControl.hasStyleClass(sMyClass1), false, "the original control shouldn't have the class which is added on the cloned one");
298
300
  assert.equal(oClonedControl.hasStyleClass(sMyClass), false, "the cloned control shouldn't have the class which is added on the original one");
299
301
 
300
302
  oClonedControl.destroy();
@@ -308,27 +310,27 @@ sap.ui.define([
308
310
 
309
311
  assert.expect(8); // this also verifies there is no rerendering
310
312
 
311
- this.myControl.addStyleClass(sMyClass);
313
+ oMyControl.addStyleClass(sMyClass);
312
314
 
313
- assert.deepEqual(this.aCurrentDOMClasses, [sMyClass], "Class should have been applied to DOM before event has been fired");
314
- assert.deepEqual(this.aCurrentAPIClasses, [sMyClass], "Class should have been applied to internal object before event has been fired");
315
+ assert.deepEqual(aCurrentDOMClasses, [sMyClass], "Class should have been applied to DOM before event has been fired");
316
+ assert.deepEqual(aCurrentAPIClasses, [sMyClass], "Class should have been applied to internal object before event has been fired");
315
317
 
316
- this.myControl.removeStyleClass(sMyClass);
318
+ oMyControl.removeStyleClass(sMyClass);
317
319
 
318
- assert.deepEqual(this.aCurrentDOMClasses, [], "Class should have been removed from DOM before event has been fired");
319
- assert.deepEqual(this.aCurrentAPIClasses, [], "Class should have been removed from internal object before event has been fired");
320
+ assert.deepEqual(aCurrentDOMClasses, [], "Class should have been removed from DOM before event has been fired");
321
+ assert.deepEqual(aCurrentAPIClasses, [], "Class should have been removed from internal object before event has been fired");
320
322
 
321
- this.myControl.removeStyleClass(sMyClass); // should not cause an error or rendering
323
+ oMyControl.removeStyleClass(sMyClass); // should not cause an error or rendering
322
324
 
323
325
  // ThemeScopingChanged Event should be be fired twice (added + removed)
324
326
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 2);
325
327
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
326
- element: this.myControl,
328
+ element: oMyControl,
327
329
  scopes: ["sapTestScope"],
328
330
  added: true
329
331
  });
330
332
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
331
- element: this.myControl,
333
+ element: oMyControl,
332
334
  scopes: ["sapTestScope"],
333
335
  added: false
334
336
  });
@@ -339,63 +341,63 @@ sap.ui.define([
339
341
  assert.expect(18); // this also verifies there is no rerendering
340
342
 
341
343
  // add all-in-one
342
- this.myControl.addStyleClass("sapTestScope abc sapTestScopePlus def");
344
+ oMyControl.addStyleClass("sapTestScope abc sapTestScopePlus def");
343
345
 
344
- assert.deepEqual(this.aCurrentDOMClasses, ["sapTestScope", "abc", "sapTestScopePlus", "def"], "Classes should have been applied to DOM before event has been fired");
345
- assert.deepEqual(this.aCurrentAPIClasses, ["sapTestScope", "abc", "sapTestScopePlus", "def"], "Classes should have been applied to internal object before event has been fired");
346
+ assert.deepEqual(aCurrentDOMClasses, ["sapTestScope", "abc", "sapTestScopePlus", "def"], "Classes should have been applied to DOM before event has been fired");
347
+ assert.deepEqual(aCurrentAPIClasses, ["sapTestScope", "abc", "sapTestScopePlus", "def"], "Classes should have been applied to internal object before event has been fired");
346
348
 
347
349
  // ThemeScopingChanged Event should be fired once
348
350
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 1);
349
351
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
350
- element: this.myControl,
352
+ element: oMyControl,
351
353
  scopes: ["sapTestScope", "sapTestScopePlus"],
352
354
  added: true
353
355
  });
354
356
 
355
357
  // remove abc
356
- this.myControl.removeStyleClass("abc");
358
+ oMyControl.removeStyleClass("abc");
357
359
 
358
360
  // ThemeScopingChanged Event should be still fired once
359
361
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 1);
360
362
 
361
363
  // remove sapTestScopePlus
362
- this.myControl.removeStyleClass("sapTestScopePlus");
364
+ oMyControl.removeStyleClass("sapTestScopePlus");
363
365
 
364
- assert.deepEqual(this.aCurrentDOMClasses, ["sapTestScope", "def"], "Class should have been removed from DOM before event has been fired");
365
- assert.deepEqual(this.aCurrentAPIClasses, ["sapTestScope", "def"], "Class should have been removed from internal object before event has been fired");
366
+ assert.deepEqual(aCurrentDOMClasses, ["sapTestScope", "def"], "Class should have been removed from DOM before event has been fired");
367
+ assert.deepEqual(aCurrentAPIClasses, ["sapTestScope", "def"], "Class should have been removed from internal object before event has been fired");
366
368
 
367
369
  // ThemeScopingChanged Event should now be fired twice
368
370
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 2);
369
371
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
370
- element: this.myControl,
372
+ element: oMyControl,
371
373
  scopes: ["sapTestScopePlus"],
372
374
  added: false
373
375
  });
374
376
 
375
377
  // add both scopes again
376
- this.myControl.addStyleClass("sapTestScope sapTestScopePlus");
378
+ oMyControl.addStyleClass("sapTestScope sapTestScopePlus");
377
379
 
378
- assert.deepEqual(this.aCurrentDOMClasses, ["sapTestScope", "def", "sapTestScopePlus"], "Class should have been applied to DOM before event has been fired");
379
- assert.deepEqual(this.aCurrentAPIClasses, ["sapTestScope", "def", "sapTestScopePlus"], "Class should have been applied to internal object before event has been fired");
380
+ assert.deepEqual(aCurrentDOMClasses, ["sapTestScope", "def", "sapTestScopePlus"], "Class should have been applied to DOM before event has been fired");
381
+ assert.deepEqual(aCurrentAPIClasses, ["sapTestScope", "def", "sapTestScopePlus"], "Class should have been applied to internal object before event has been fired");
380
382
 
381
383
  // ThemeScopingChanged Event should be be fired 3 times
382
384
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 3);
383
385
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
384
- element: this.myControl,
386
+ element: oMyControl,
385
387
  scopes: ["sapTestScopePlus"],
386
388
  added: true
387
389
  });
388
390
 
389
391
  // remove both scopes again
390
- this.myControl.removeStyleClass("sapTestScopePlus sapTestScope");
392
+ oMyControl.removeStyleClass("sapTestScopePlus sapTestScope");
391
393
 
392
- assert.deepEqual(this.aCurrentDOMClasses, ["def"], "Classes should have been removed from DOM before event has been fired");
393
- assert.deepEqual(this.aCurrentAPIClasses, ["def"], "Classes should have been removed from internal object before event has been fired");
394
+ assert.deepEqual(aCurrentDOMClasses, ["def"], "Classes should have been removed from DOM before event has been fired");
395
+ assert.deepEqual(aCurrentAPIClasses, ["def"], "Classes should have been removed from internal object before event has been fired");
394
396
 
395
397
  // ThemeScopingChanged Event should be be fired 3 times
396
398
  sinon.assert.callCount(this.fireThemeScopingChangedSpy, 4);
397
399
  sinon.assert.calledWith(this.fireThemeScopingChangedSpy, {
398
- element: this.myControl,
400
+ element: oMyControl,
399
401
  scopes: ["sapTestScopePlus", "sapTestScope"],
400
402
  added: false
401
403
  });
@@ -1,22 +1,12 @@
1
1
  sap.ui.define([
2
+ "sap/ui/core/Theming",
2
3
  "sap/ui/core/theming/Parameters",
3
4
  "sap/ui/qunit/utils/waitForThemeApplied",
4
5
  "sap/ui/core/Configuration"
5
- ], function(Parameters, themeApplied, Configuration) {
6
+ ], function(Theming, Parameters, themeApplied, Configuration) {
6
7
  "use strict";
7
8
  /* global QUnit */
8
9
 
9
- // Wait until the theme is changed
10
- function themeChanged() {
11
- return new Promise(function(resolve) {
12
- function onChanged() {
13
- sap.ui.getCore().detachThemeChanged(onChanged);
14
- resolve();
15
- }
16
- sap.ui.getCore().attachThemeChanged(onChanged);
17
- });
18
- }
19
-
20
10
  var sPath = new URL(sap.ui.require.toUrl("testdata/core"), document.baseURI).toString();
21
11
 
22
12
  QUnit.module("Custom Theme Fallback", {
@@ -38,7 +28,7 @@ sap.ui.define([
38
28
 
39
29
  // check precondition for test
40
30
  assert.equal(
41
- Configuration.getTheme(),
31
+ Theming.getTheme(),
42
32
  "customcss",
43
33
  "[precondition] initial theme must be 'customcss'");
44
34
 
@@ -93,8 +83,9 @@ sap.ui.define([
93
83
  });
94
84
 
95
85
  QUnit.test("Theme change after fallback (with second fallback)", function(assert) {
86
+ Theming.setTheme("legacy");
96
87
 
97
- var p = themeChanged().then(function() {
88
+ return themeApplied().then(function() {
98
89
 
99
90
  // Check for library themes and their correct order
100
91
  var aLinks = document.querySelectorAll("link[id^=sap-ui-theme-]");
@@ -129,9 +120,6 @@ sap.ui.define([
129
120
 
130
121
  });
131
122
 
132
- sap.ui.getCore().applyTheme("legacy");
133
-
134
- return p;
135
123
  });
136
124
 
137
125
  });