@openui5/sap.ui.core 1.120.10 → 1.121.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 (1065) hide show
  1. package/.eslintrc.json +5 -3
  2. package/.reuse/dep5 +23 -21
  3. package/THIRDPARTY.txt +6 -43
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +7 -7
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/jquery.sap.trace.js +1 -1
  11. package/src/sap/base/Event.js +1 -1
  12. package/src/sap/base/Eventing.js +1 -1
  13. package/src/sap/base/config.js +1 -1
  14. package/src/sap/base/future.js +57 -0
  15. package/src/sap/base/i18n/Formatting.js +7 -5
  16. package/src/sap/base/i18n/LanguageTag.js +2 -2
  17. package/src/sap/base/i18n/Localization.js +2 -2
  18. package/src/sap/base/i18n/ResourceBundle.js +115 -9
  19. package/src/sap/base/i18n/date/TimezoneUtils.js +5 -6
  20. package/src/sap/base/util/now.js +8 -13
  21. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  22. package/src/sap/base/util/restricted/_castArray.js +1 -1
  23. package/src/sap/base/util/restricted/_compact.js +1 -1
  24. package/src/sap/base/util/restricted/_curry.js +1 -1
  25. package/src/sap/base/util/restricted/_debounce.js +1 -1
  26. package/src/sap/base/util/restricted/_difference.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  32. package/src/sap/base/util/restricted/_flatten.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  35. package/src/sap/base/util/restricted/_intersection.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  40. package/src/sap/base/util/restricted/_isNil.js +1 -1
  41. package/src/sap/base/util/restricted/_max.js +1 -1
  42. package/src/sap/base/util/restricted/_merge.js +1 -1
  43. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  44. package/src/sap/base/util/restricted/_min.js +1 -1
  45. package/src/sap/base/util/restricted/_omit.js +1 -1
  46. package/src/sap/base/util/restricted/_pick.js +1 -1
  47. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  48. package/src/sap/base/util/restricted/_throttle.js +1 -1
  49. package/src/sap/base/util/restricted/_toArray.js +1 -1
  50. package/src/sap/base/util/restricted/_union.js +1 -1
  51. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  52. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  53. package/src/sap/base/util/restricted/_uniq.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  56. package/src/sap/base/util/restricted/_without.js +1 -1
  57. package/src/sap/base/util/restricted/_xor.js +1 -1
  58. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  59. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  62. package/src/sap/ui/Device.js +6 -3
  63. package/src/sap/ui/Global.js +14 -13
  64. package/src/sap/ui/VersionInfo.js +15 -3
  65. package/src/sap/ui/base/BindingParser.js +25 -15
  66. package/src/sap/ui/base/DataType.js +21 -13
  67. package/src/sap/ui/base/Event.js +1 -1
  68. package/src/sap/ui/base/EventProvider.js +1 -1
  69. package/src/sap/ui/base/ExpressionParser.js +5 -0
  70. package/src/sap/ui/base/Interface.js +1 -1
  71. package/src/sap/ui/base/ManagedObject.js +25 -14
  72. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  73. package/src/sap/ui/base/Metadata.js +28 -13
  74. package/src/sap/ui/base/Object.js +1 -1
  75. package/src/sap/ui/base/ObjectPool.js +1 -1
  76. package/src/sap/ui/core/.library +8 -7
  77. package/src/sap/ui/core/BusyIndicator.js +1 -1
  78. package/src/sap/ui/core/Component.js +133 -56
  79. package/src/sap/ui/core/ComponentContainer.js +14 -17
  80. package/src/sap/ui/core/ComponentMetadata.js +7 -3
  81. package/src/sap/ui/core/ComponentSupport.js +32 -13
  82. package/src/sap/ui/core/Configuration.js +1 -1
  83. package/src/sap/ui/core/Control.js +34 -19
  84. package/src/sap/ui/core/Core.js +42 -37
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +6 -8
  88. package/src/sap/ui/core/ElementMetadata.js +35 -20
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/ExtensionPoint.js +18 -11
  92. package/src/sap/ui/core/Fragment.js +69 -28
  93. package/src/sap/ui/core/HTML.js +3 -1
  94. package/src/sap/ui/core/History.js +1 -1
  95. package/src/sap/ui/core/Icon.js +1 -1
  96. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  97. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  98. package/src/sap/ui/core/InvisibleMessage.js +145 -125
  99. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  100. package/src/sap/ui/core/InvisibleText.js +6 -1
  101. package/src/sap/ui/core/Item.js +1 -1
  102. package/src/sap/ui/core/LabelEnablement.js +9 -2
  103. package/src/sap/ui/core/LayoutData.js +1 -1
  104. package/src/sap/ui/core/Lib.js +19 -12
  105. package/src/sap/ui/core/ListItem.js +1 -1
  106. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  107. package/src/sap/ui/core/Locale.js +2 -2
  108. package/src/sap/ui/core/LocaleData.js +16 -15
  109. package/src/sap/ui/core/Manifest.js +28 -28
  110. package/src/sap/ui/core/Message.js +1 -1
  111. package/src/sap/ui/core/Messaging.js +4 -4
  112. package/src/sap/ui/core/Popup.js +1 -47
  113. package/src/sap/ui/core/RenderManager.js +1 -1
  114. package/src/sap/ui/core/Renderer.js +12 -7
  115. package/src/sap/ui/core/Rendering.js +49 -42
  116. package/src/sap/ui/core/ResizeHandler.js +1 -1
  117. package/src/sap/ui/core/ScrollBar.js +7 -7
  118. package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
  119. package/src/sap/ui/core/SeparatorItem.js +1 -1
  120. package/src/sap/ui/core/Shortcut.js +1 -0
  121. package/src/sap/ui/core/ShortcutHintsMixin.js +1 -1
  122. package/src/sap/ui/core/StashedControlSupport.js +39 -40
  123. package/src/sap/ui/core/Theming.js +15 -25
  124. package/src/sap/ui/core/Title.js +1 -1
  125. package/src/sap/ui/core/TooltipBase.js +4 -3
  126. package/src/sap/ui/core/UIArea.js +5 -3
  127. package/src/sap/ui/core/UIComponent.js +6 -4
  128. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  129. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  130. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  131. package/src/sap/ui/core/XMLComposite.js +1 -1
  132. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -1
  133. package/src/sap/ui/core/XMLTemplateProcessor.js +44 -23
  134. package/src/sap/ui/core/cache/CacheManagerNOP.js +0 -1
  135. package/src/sap/ui/core/cldr/ar.json +47 -88
  136. package/src/sap/ui/core/cldr/ar_EG.json +47 -88
  137. package/src/sap/ui/core/cldr/ar_SA.json +48 -89
  138. package/src/sap/ui/core/cldr/bg.json +44 -156
  139. package/src/sap/ui/core/cldr/ca.json +265 -370
  140. package/src/sap/ui/core/cldr/cnr.json +545 -476
  141. package/src/sap/ui/core/cldr/cs.json +33 -467
  142. package/src/sap/ui/core/cldr/cy.json +36 -762
  143. package/src/sap/ui/core/cldr/da.json +43 -146
  144. package/src/sap/ui/core/cldr/de.json +47 -149
  145. package/src/sap/ui/core/cldr/de_AT.json +48 -150
  146. package/src/sap/ui/core/cldr/de_CH.json +86 -187
  147. package/src/sap/ui/core/cldr/el.json +28 -96
  148. package/src/sap/ui/core/cldr/el_CY.json +28 -96
  149. package/src/sap/ui/core/cldr/en.json +66 -27
  150. package/src/sap/ui/core/cldr/en_AU.json +314 -171
  151. package/src/sap/ui/core/cldr/en_GB.json +167 -33
  152. package/src/sap/ui/core/cldr/en_HK.json +57 -30
  153. package/src/sap/ui/core/cldr/en_IE.json +54 -27
  154. package/src/sap/ui/core/cldr/en_IN.json +139 -28
  155. package/src/sap/ui/core/cldr/en_NZ.json +55 -28
  156. package/src/sap/ui/core/cldr/en_PG.json +49 -22
  157. package/src/sap/ui/core/cldr/en_SG.json +51 -24
  158. package/src/sap/ui/core/cldr/en_ZA.json +61 -34
  159. package/src/sap/ui/core/cldr/es.json +25 -130
  160. package/src/sap/ui/core/cldr/es_AR.json +90 -191
  161. package/src/sap/ui/core/cldr/es_BO.json +63 -165
  162. package/src/sap/ui/core/cldr/es_CL.json +100 -202
  163. package/src/sap/ui/core/cldr/es_CO.json +54 -156
  164. package/src/sap/ui/core/cldr/es_MX.json +163 -258
  165. package/src/sap/ui/core/cldr/es_PE.json +65 -167
  166. package/src/sap/ui/core/cldr/es_UY.json +65 -167
  167. package/src/sap/ui/core/cldr/es_VE.json +43 -145
  168. package/src/sap/ui/core/cldr/et.json +44 -144
  169. package/src/sap/ui/core/cldr/fa.json +75 -80
  170. package/src/sap/ui/core/cldr/fi.json +38 -142
  171. package/src/sap/ui/core/cldr/fr.json +28 -22
  172. package/src/sap/ui/core/cldr/fr_BE.json +31 -25
  173. package/src/sap/ui/core/cldr/fr_CA.json +76 -69
  174. package/src/sap/ui/core/cldr/fr_CH.json +41 -35
  175. package/src/sap/ui/core/cldr/fr_LU.json +28 -22
  176. package/src/sap/ui/core/cldr/he.json +37 -426
  177. package/src/sap/ui/core/cldr/hi.json +40 -83
  178. package/src/sap/ui/core/cldr/hr.json +31 -286
  179. package/src/sap/ui/core/cldr/hu.json +46 -140
  180. package/src/sap/ui/core/cldr/id.json +31 -13
  181. package/src/sap/ui/core/cldr/it.json +59 -182
  182. package/src/sap/ui/core/cldr/it_CH.json +65 -188
  183. package/src/sap/ui/core/cldr/ja.json +103 -13
  184. package/src/sap/ui/core/cldr/kk.json +79 -67
  185. package/src/sap/ui/core/cldr/ko.json +29 -10
  186. package/src/sap/ui/core/cldr/lt.json +24 -366
  187. package/src/sap/ui/core/cldr/lv.json +30 -277
  188. package/src/sap/ui/core/cldr/mk.json +103 -198
  189. package/src/sap/ui/core/cldr/ms.json +30 -10
  190. package/src/sap/ui/core/cldr/nb.json +32 -133
  191. package/src/sap/ui/core/cldr/nl.json +37 -167
  192. package/src/sap/ui/core/cldr/nl_BE.json +108 -238
  193. package/src/sap/ui/core/cldr/pl.json +27 -384
  194. package/src/sap/ui/core/cldr/pt.json +37 -145
  195. package/src/sap/ui/core/cldr/pt_PT.json +32 -133
  196. package/src/sap/ui/core/cldr/ro.json +30 -289
  197. package/src/sap/ui/core/cldr/ru.json +27 -75
  198. package/src/sap/ui/core/cldr/ru_UA.json +27 -75
  199. package/src/sap/ui/core/cldr/sk.json +32 -438
  200. package/src/sap/ui/core/cldr/sl.json +131 -535
  201. package/src/sap/ui/core/cldr/sr.json +41 -332
  202. package/src/sap/ui/core/cldr/sr_Latn.json +192 -483
  203. package/src/sap/ui/core/cldr/sv.json +49 -137
  204. package/src/sap/ui/core/cldr/th.json +39 -20
  205. package/src/sap/ui/core/cldr/tr.json +33 -125
  206. package/src/sap/ui/core/cldr/uk.json +310 -252
  207. package/src/sap/ui/core/cldr/vi.json +458 -331
  208. package/src/sap/ui/core/cldr/zh_CN.json +39 -17
  209. package/src/sap/ui/core/cldr/zh_HK.json +49 -27
  210. package/src/sap/ui/core/cldr/zh_SG.json +53 -31
  211. package/src/sap/ui/core/cldr/zh_TW.json +31 -14
  212. package/src/sap/ui/core/date/CalendarUtils.js +11 -9
  213. package/src/sap/ui/core/date/Islamic.js +7 -2
  214. package/src/sap/ui/core/date/UI5Date.js +86 -34
  215. package/src/sap/ui/core/date/UniversalDate.js +16 -26
  216. package/src/sap/ui/core/date/UniversalDateUtils.js +14 -14
  217. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  218. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  219. package/src/sap/ui/core/dnd/DragAndDrop.js +4 -4
  220. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  221. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  222. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  223. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  224. package/src/sap/ui/core/format/DateFormat.js +37 -45
  225. package/src/sap/ui/core/format/FileSizeFormat.js +15 -16
  226. package/src/sap/ui/core/format/FormatUtils.js +36 -0
  227. package/src/sap/ui/core/format/ListFormat.js +4 -4
  228. package/src/sap/ui/core/format/NumberFormat.js +288 -125
  229. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  230. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  231. package/src/sap/ui/core/hyphenation/Hyphenation.js +16 -15
  232. package/src/sap/ui/core/library.js +26 -9
  233. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  234. package/src/sap/ui/core/message/Message.js +5 -5
  235. package/src/sap/ui/core/message/MessageManager.js +1 -1
  236. package/src/sap/ui/core/message/MessageMixin.js +1 -1
  237. package/src/sap/ui/core/message/MessageParser.js +1 -1
  238. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  239. package/src/sap/ui/core/messagebundle_mk.properties +1 -1
  240. package/src/sap/ui/core/mvc/Controller.js +49 -19
  241. package/src/sap/ui/core/mvc/ControllerExtension.js +5 -4
  242. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +2 -2
  243. package/src/sap/ui/core/mvc/ControllerMetadata.js +3 -3
  244. package/src/sap/ui/core/mvc/EventHandlerResolver.js +6 -8
  245. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  246. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  247. package/src/sap/ui/core/mvc/JSView.js +1 -1
  248. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  249. package/src/sap/ui/core/mvc/View.js +8 -5
  250. package/src/sap/ui/core/mvc/XMLView.js +7 -5
  251. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  252. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  253. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  254. package/src/sap/ui/core/postmessage/Bus.js +5 -3
  255. package/src/sap/ui/core/postmessage/confirmationDialog.js +3 -3
  256. package/src/sap/ui/core/routing/HashChanger.js +21 -10
  257. package/src/sap/ui/core/routing/History.js +5 -5
  258. package/src/sap/ui/core/routing/Route.js +9 -7
  259. package/src/sap/ui/core/routing/Router.js +13 -7
  260. package/src/sap/ui/core/routing/Target.js +1 -1
  261. package/src/sap/ui/core/routing/Targets.js +5 -4
  262. package/src/sap/ui/core/routing/async/Target.js +10 -7
  263. package/src/sap/ui/core/routing/async/Targets.js +3 -3
  264. package/src/sap/ui/core/routing/sync/Target.js +4 -1
  265. package/src/sap/ui/core/rules/Config.support.js +3 -3
  266. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  267. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  268. package/src/sap/ui/core/service/Service.js +1 -1
  269. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  270. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  271. package/src/sap/ui/core/support/Plugin.js +1 -1
  272. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +9 -12
  273. package/src/sap/ui/core/support/Support.js +2 -2
  274. package/src/sap/ui/core/support/ToolsAPI.js +19 -6
  275. package/src/sap/ui/core/support/controls/InteractionTree.js +7 -7
  276. package/src/sap/ui/core/support/plugins/Breakpoint.js +8 -5
  277. package/src/sap/ui/core/support/plugins/ControlTree.js +26 -15
  278. package/src/sap/ui/core/support/plugins/Debugging.js +9 -6
  279. package/src/sap/ui/core/support/plugins/Interaction.js +9 -7
  280. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  281. package/src/sap/ui/core/support/plugins/Performance.js +6 -6
  282. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  283. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  284. package/src/sap/ui/core/support/plugins/Trace.js +4 -3
  285. package/src/sap/ui/core/support/plugins/ViewInfo.js +4 -2
  286. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +4 -4
  287. package/src/sap/ui/core/support/trace/E2eTraceLib.js +5 -5
  288. package/src/sap/ui/core/themes/base/Icon.less +2 -1
  289. package/src/sap/ui/core/themes/base/base.less +370 -371
  290. package/src/sap/ui/core/theming/Parameters.js +9 -8
  291. package/src/sap/ui/core/theming/ThemeHelper.js +4 -3
  292. package/src/sap/ui/core/theming/ThemeManager.js +8 -6
  293. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  294. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  295. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +6 -3
  296. package/src/sap/ui/core/tmpl/Template.js +1 -1
  297. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  298. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  299. package/src/sap/ui/core/util/Export.js +1 -1
  300. package/src/sap/ui/core/util/ExportCell.js +1 -1
  301. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  302. package/src/sap/ui/core/util/ExportRow.js +1 -1
  303. package/src/sap/ui/core/util/ExportType.js +1 -1
  304. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  305. package/src/sap/ui/core/util/File.js +1 -1
  306. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  307. package/src/sap/ui/core/util/MockServer.js +23 -13
  308. package/src/sap/ui/core/util/PasteHelper.js +3 -3
  309. package/src/sap/ui/core/util/_LocalizationHelper.js +10 -1
  310. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +51 -5
  311. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +2 -2
  312. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -0
  313. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  314. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  315. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  316. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  317. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  318. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  319. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  320. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  321. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  322. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  323. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  324. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  325. package/src/sap/ui/debug/ControlTree.js +6 -6
  326. package/src/sap/ui/debug/DebugEnv.js +1 -1
  327. package/src/sap/ui/debug/PropertyList.js +1 -1
  328. package/src/sap/ui/dom/isBehindOtherElement.js +0 -1
  329. package/src/sap/ui/events/isMouseEventDelayed.js +6 -12
  330. package/src/sap/ui/events/jquery/EventSimulation.js +4 -3
  331. package/src/sap/ui/events/jquery/EventTriggerHook.js +2 -3
  332. package/src/sap/ui/model/Binding.js +1 -1
  333. package/src/sap/ui/model/ClientListBinding.js +2 -0
  334. package/src/sap/ui/model/ClientModel.js +1 -1
  335. package/src/sap/ui/model/ClientTreeBinding.js +1 -0
  336. package/src/sap/ui/model/CompositeDataState.js +1 -1
  337. package/src/sap/ui/model/CompositeType.js +1 -1
  338. package/src/sap/ui/model/DataState.js +1 -1
  339. package/src/sap/ui/model/Filter.js +34 -4
  340. package/src/sap/ui/model/ManagedObjectBindingSupport.js +6 -3
  341. package/src/sap/ui/model/MetaModel.js +1 -1
  342. package/src/sap/ui/model/Model.js +6 -2
  343. package/src/sap/ui/model/SelectionModel.js +1 -1
  344. package/src/sap/ui/model/SimpleType.js +1 -1
  345. package/src/sap/ui/model/Sorter.js +4 -4
  346. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  347. package/src/sap/ui/model/Type.js +1 -1
  348. package/src/sap/ui/model/_Helper.js +4 -2
  349. package/src/sap/ui/model/analytics/AnalyticalBinding.js +9 -0
  350. package/src/sap/ui/model/json/JSONModel.js +6 -2
  351. package/src/sap/ui/model/message/MessageModel.js +1 -1
  352. package/src/sap/ui/model/odata/AnnotationHelper.js +12 -7
  353. package/src/sap/ui/model/odata/ODataAnnotations.js +4 -4
  354. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -3
  355. package/src/sap/ui/model/odata/ODataMetaModel.js +2 -1
  356. package/src/sap/ui/model/odata/ODataMetadata.js +34 -4
  357. package/src/sap/ui/model/odata/ODataModel.js +5 -5
  358. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
  359. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -0
  360. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +4 -2
  361. package/src/sap/ui/model/odata/ODataUtils.js +166 -131
  362. package/src/sap/ui/model/odata/type/Boolean.js +9 -7
  363. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  364. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  365. package/src/sap/ui/model/odata/type/Date.js +5 -4
  366. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  367. package/src/sap/ui/model/odata/type/DateTimeBase.js +4 -4
  368. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  369. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +4 -3
  370. package/src/sap/ui/model/odata/type/Decimal.js +5 -5
  371. package/src/sap/ui/model/odata/type/Double.js +4 -3
  372. package/src/sap/ui/model/odata/type/Guid.js +4 -3
  373. package/src/sap/ui/model/odata/type/Int.js +4 -4
  374. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  375. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  376. package/src/sap/ui/model/odata/type/Int64.js +4 -4
  377. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  378. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  379. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  380. package/src/sap/ui/model/odata/type/Single.js +4 -3
  381. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  382. package/src/sap/ui/model/odata/type/String.js +6 -5
  383. package/src/sap/ui/model/odata/type/Time.js +4 -4
  384. package/src/sap/ui/model/odata/type/TimeOfDay.js +5 -4
  385. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  386. package/src/sap/ui/model/odata/type/UnitMixin.js +3 -2
  387. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  388. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -4
  389. package/src/sap/ui/model/odata/v2/ODataModel.js +55 -25
  390. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -4
  391. package/src/sap/ui/model/odata/v4/Context.js +20 -7
  392. package/src/sap/ui/model/odata/v4/ODataBinding.js +14 -10
  393. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +8 -5
  394. package/src/sap/ui/model/odata/v4/ODataListBinding.js +56 -33
  395. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +7 -4
  396. package/src/sap/ui/model/odata/v4/ODataModel.js +25 -37
  397. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -8
  398. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +9 -2
  399. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +4 -4
  400. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +195 -59
  401. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +16 -6
  402. package/src/sap/ui/model/odata/v4/lib/_Cache.js +22 -15
  403. package/src/sap/ui/model/odata/v4/lib/_Helper.js +19 -11
  404. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +20 -11
  405. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +122 -0
  406. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  407. package/src/sap/ui/model/type/Boolean.js +4 -4
  408. package/src/sap/ui/model/type/Currency.js +5 -5
  409. package/src/sap/ui/model/type/Date.js +5 -5
  410. package/src/sap/ui/model/type/DateInterval.js +6 -5
  411. package/src/sap/ui/model/type/DateTime.js +1 -1
  412. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  413. package/src/sap/ui/model/type/FileSize.js +5 -4
  414. package/src/sap/ui/model/type/Float.js +5 -5
  415. package/src/sap/ui/model/type/Integer.js +6 -6
  416. package/src/sap/ui/model/type/String.js +4 -3
  417. package/src/sap/ui/model/type/Time.js +1 -1
  418. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  419. package/src/sap/ui/model/type/Unit.js +8 -7
  420. package/src/sap/ui/model/xml/XMLModel.js +11 -3
  421. package/src/sap/ui/performance/trace/Interaction.js +8 -16
  422. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  423. package/src/sap/ui/qunit/qunit-junit.js +415 -49
  424. package/src/sap/ui/qunit/utils/ControlIterator.js +4 -4
  425. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +3 -2
  426. package/src/sap/ui/qunit/utils/nextUIUpdate.js +15 -5
  427. package/src/sap/ui/test/OpaBuilder.js +3 -1
  428. package/src/sap/ui/test/OpaPlugin.js +103 -10
  429. package/src/sap/ui/test/autowaiter/_UIUpdatesWaiter.js +4 -4
  430. package/src/sap/ui/test/autowaiter/_navigationContainerWaiter.js +3 -3
  431. package/src/sap/ui/test/generic/TestBase.js +1 -1
  432. package/src/sap/ui/test/launchers/iFrameLauncher.js +18 -6
  433. package/src/sap/ui/test/matchers/Descendant.js +2 -1
  434. package/src/sap/ui/test/matchers/I18NText.js +6 -2
  435. package/src/sap/ui/test/matchers/Interactable.js +2 -3
  436. package/src/sap/ui/test/matchers/LabelFor.js +5 -3
  437. package/src/sap/ui/test/matchers/Matcher.js +20 -0
  438. package/src/sap/ui/test/matchers/Sibling.js +2 -1
  439. package/src/sap/ui/test/matchers/_Visitor.js +2 -4
  440. package/src/sap/ui/test/qunitPause.js +6 -4
  441. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -3
  442. package/src/sap/ui/test/selectors/_Selector.js +3 -3
  443. package/src/sap/ui/test/starter/_setupAndStart.js +5 -18
  444. package/src/sap/ui/test/starter/_utils.js +15 -1
  445. package/src/sap/ui/test/starter/createSuite.js +2 -0
  446. package/src/sap/ui/thirdparty/RequestRecorder.js +1 -1
  447. package/src/sap/ui/thirdparty/crossroads.js +3 -0
  448. package/src/sap/ui/thirdparty/qunit-2.js +1 -2
  449. package/src/sap/ui/thirdparty/qunit-reporter-junit.js +30 -8
  450. package/src/sap/ui/thirdparty/qunit.js +1 -2
  451. package/src/sap/ui/util/Storage.js +1 -1
  452. package/src/ui5loader-autoconfig.js +18 -4
  453. package/src/ui5loader.js +15 -4
  454. package/test/sap/ui/core/DateFormat.controller.js +3 -3
  455. package/test/sap/ui/core/ILabelableInterface.html +21 -0
  456. package/test/sap/ui/core/ILabelableInterface.js +81 -0
  457. package/test/sap/ui/core/NumberFormat.controller.js +4 -4
  458. package/test/sap/ui/core/Strings.controller.js +4 -4
  459. package/test/sap/ui/core/demokit/docuindex.json +8 -2
  460. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  461. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/Component.js +2 -3
  462. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/css/style.css +3 -3
  463. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/categories/Component.js +2 -3
  464. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/products/Component.js +2 -3
  465. package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/reuse/suppliers/Component.js +2 -3
  466. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/Component.js +20 -0
  467. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/controller/Home.controller.js +14 -0
  468. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/controller/Next.controller.js +21 -0
  469. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/manifest.json +94 -0
  470. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeContentDesktop.fragment.js +15 -0
  471. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeContentMobile.fragment.js +15 -0
  472. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/HomeView.js +45 -0
  473. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/Next.view.xml +15 -0
  474. package/test/sap/ui/core/demokit/sample/View/navigationTypedView/view/RootView.js +22 -0
  475. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.js +5 -4
  476. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +8 -5
  477. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/ValueHelp.js +38 -35
  478. package/test/sap/ui/core/demokit/sample/common/Helper.js +7 -7
  479. package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +1 -1
  480. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +5 -3
  481. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  482. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  483. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  484. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/DateTime.controller.js +3 -3
  486. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/DateTimeOffset.controller.js +3 -3
  487. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Time.controller.js +3 -3
  488. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Date.controller.js +3 -3
  489. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/DateTimeOffset.controller.js +3 -3
  490. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/TimeOfDay.controller.js +3 -3
  491. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +10 -0
  492. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +3 -0
  493. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +1 -2
  494. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.view.xml +6 -3
  495. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/formatRowHighlight.js +20 -0
  496. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +30 -24
  497. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +10 -8
  498. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.controller.js +1 -0
  499. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +1 -1
  500. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +6 -0
  501. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +16 -17
  502. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +8 -14
  503. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +65 -31
  504. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +1 -0
  505. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Main.controller.js +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  507. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  508. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  509. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  510. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  511. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  512. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  513. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  514. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  515. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  516. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  517. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  518. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  519. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  520. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  521. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  522. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  523. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  524. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  525. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  526. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  527. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  528. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  529. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  530. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  531. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  532. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  533. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  534. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  535. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  536. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  537. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  538. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  539. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  540. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  541. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/localService/mockserver.js +1 -1
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/localService/mockserver.js +1 -1
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/localService/mockserver.js +1 -1
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/localService/mockserver.js +1 -1
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/localService/mockserver.js +1 -1
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -1
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -1
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -1
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -1
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -1
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -1
  564. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  565. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +3 -1
  566. package/test/sap/ui/core/internal/samples/odata/twoFields/tests/pages/Main.js +3 -2
  567. package/test/sap/ui/core/internal/samples/odata/v2/Products/Opa.qunit.js +5 -4
  568. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +4 -6
  569. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +6 -5
  570. package/test/sap/ui/core/qunit/AppCacheBuster.qunit.js +5 -5
  571. package/test/sap/ui/core/qunit/BindingParser.qunit.js +158 -24
  572. package/test/sap/ui/core/qunit/BlockLayerUtils.qunit.js +3 -6
  573. package/test/sap/ui/core/qunit/CalculatedFields.qunit.js +70 -81
  574. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +13 -13
  575. package/test/sap/ui/core/qunit/ControlDefinition.qunit.js +5 -4
  576. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +1 -1
  577. package/test/sap/ui/core/qunit/Core.qunit.js +42 -57
  578. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +10 -2
  579. package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +2 -2
  580. package/test/sap/ui/core/qunit/Core_libraryTerminologies.qunit.js +4 -3
  581. package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +2 -3
  582. package/test/sap/ui/core/qunit/DataBinding.qunit.js +125 -65
  583. package/test/sap/ui/core/qunit/Element_base.qunit.js +4 -1
  584. package/test/sap/ui/core/qunit/Element_destroy.qunit.js +6 -10
  585. package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +54 -43
  586. package/test/sap/ui/core/qunit/Element_metadata_selector.qunit.js +1 -1
  587. package/test/sap/ui/core/qunit/EnabledPropagator.qunit.js +3 -2
  588. package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +5 -2
  589. package/test/sap/ui/core/qunit/FieldGroup.qunit.js +3 -2
  590. package/test/sap/ui/core/qunit/Fragment.qunit.js +18 -2
  591. package/test/sap/ui/core/qunit/HTML.qunit.js +3 -2
  592. package/test/sap/ui/core/qunit/Hyphenation.qunit.js +30 -6
  593. package/test/sap/ui/core/qunit/Icon.qunit.js +4 -3
  594. package/test/sap/ui/core/qunit/InvisibleText.qunit.js +6 -5
  595. package/test/sap/ui/core/qunit/Lib.qunit.js +155 -14
  596. package/test/sap/ui/core/qunit/ListBinding.qunit.js +7 -42
  597. package/test/sap/ui/core/qunit/QUnit.qunit.js +6 -0
  598. package/test/sap/ui/core/qunit/RenderManager.qunit.js +13 -10
  599. package/test/sap/ui/core/qunit/{CoreEvents.qunit.js → Rendering.qunit.js} +68 -7
  600. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +8 -7
  601. package/test/sap/ui/core/qunit/StashedControlSupport.qunit.js +65 -90
  602. package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.qunit.js +706 -0
  603. package/test/sap/ui/core/qunit/StaticBinding.qunit.js +49 -37
  604. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +15 -11
  605. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +5 -5
  606. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +7 -7
  607. package/test/sap/ui/core/qunit/Theming.qunit.js +174 -1
  608. package/test/sap/ui/core/qunit/VersionInfo.qunit.js +3 -0
  609. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +58 -0
  610. package/test/sap/ui/core/qunit/analytics/o4aMetadata.js +3 -0
  611. package/test/sap/ui/core/qunit/app/ThemeClassParameters.qunit.js +4 -4
  612. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +1 -1
  613. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +276 -44
  614. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +173 -26
  615. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +408 -3
  616. package/test/sap/ui/core/qunit/base/util/now.qunit.js +2 -30
  617. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +6 -4
  618. package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.qunit.js +4 -4
  619. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +1 -1
  620. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +15 -6
  621. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +2 -3
  622. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +4 -4
  623. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.qunit.js +1 -1
  624. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery.qunit.js +2 -1
  625. package/test/sap/ui/core/qunit/bootstrap/CalendarClassLoadingWithCustomBootTask.beforeBootstrap.qunit.js +8 -4
  626. package/test/sap/ui/core/qunit/bootstrap/{CalendarClassLoadingWithCustomBootTaskAndPreload.beforeBootstrap.qunit.js → CalendarClassLoadingWithCustomBootTask.beforeBootstrap_legacy.qunit.js} +5 -1
  627. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +32 -28
  628. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibNotLoaded.qunit.html → ConfigurationFlexibility_LibConfigured_legacyAPIs.qunit.html} +1 -1
  629. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibConfigured.qunit.js → ConfigurationFlexibility_LibConfigured_legacyAPIs.qunit.js} +5 -1
  630. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibConfigured.qunit.html → ConfigurationFlexibility_LibLoaded_legacyAPIs.qunit.html} +1 -1
  631. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibLoaded.qunit.js → ConfigurationFlexibility_LibLoaded_legacyAPIs.qunit.js} +5 -1
  632. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibLoaded.qunit.html → ConfigurationFlexibility_LibNotLoaded_legacyAPIs.qunit.html} +1 -1
  633. package/test/sap/ui/core/qunit/bootstrap/{ConfigurationFlexibility_LibNotLoaded.qunit.js → ConfigurationFlexibility_LibNotLoaded_legacyAPIs.qunit.js} +5 -1
  634. package/test/sap/ui/core/qunit/bootstrap/Configuration_language_via_URL.qunit.js +5 -0
  635. package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +5 -0
  636. package/test/sap/ui/core/qunit/bootstrap/DebugMode.beforeBootstrap.qunit.js +2 -2
  637. package/test/sap/ui/core/qunit/bootstrap/DebugMode.qunit.js +8 -8
  638. package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -4
  639. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +11 -10
  640. package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +2 -2
  641. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +68 -13
  642. package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.html +0 -1
  643. package/test/sap/ui/core/qunit/component/Component.qunit.js +40 -21
  644. package/test/sap/ui/core/qunit/component/ComponentSupport.qunit.js +65 -39
  645. package/test/sap/ui/core/qunit/component/Component_containedInLibrary.qunit.js +25 -6
  646. package/test/sap/ui/core/qunit/component/Manifest.qunit.js +9 -9
  647. package/test/sap/ui/core/qunit/component/Metadata.qunit.js +5 -5
  648. package/test/sap/ui/core/qunit/component/Metadata_unavoidablySync.qunit.js +1 -2
  649. package/test/sap/ui/core/qunit/component/Models.qunit.js +295 -157
  650. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +3 -3
  651. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +3 -4
  652. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  653. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +3 -4
  654. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +3 -4
  655. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  656. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +3 -3
  657. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +3 -4
  658. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  659. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +3 -4
  660. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/i18n/i18n.properties +3 -0
  661. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/manifest.json +3 -1
  662. package/test/sap/ui/core/qunit/component/testdata/v2models/parent/Component.js +1 -4
  663. package/test/sap/ui/core/qunit/component/testdata/v4models/Component.js +1 -2
  664. package/test/sap/ui/core/qunit/component/testdata/v4models/cacheTokens/Component.js +1 -2
  665. package/test/sap/ui/core/qunit/component/testdata/v4models/unsupportedVersion/Component.js +1 -2
  666. package/test/sap/ui/core/qunit/component/testdata/verticalLayout/Component.js +2 -3
  667. package/test/sap/ui/core/qunit/component/testdata/view/Main.controller.js +1 -1
  668. package/test/sap/ui/core/qunit/composite/XMLComposite.qunit.js +3 -2
  669. package/test/sap/ui/core/qunit/csp/ContentSecurityPolicy.qunit.js +0 -1
  670. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +3 -3
  671. package/test/sap/ui/core/qunit/dnd/DragInfo.qunit.js +2 -1
  672. package/test/sap/ui/core/qunit/format/FormatUtils.qunit.js +36 -0
  673. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +1 -1
  674. package/test/sap/ui/core/qunit/generic/DuplicateIdCheck.qunit.js +2 -2
  675. package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +6 -6
  676. package/test/sap/ui/core/qunit/i18n/CalendarUtils.qunit.js +3 -3
  677. package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +29 -29
  678. package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +6 -6
  679. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +92 -78
  680. package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +199 -33
  681. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +111 -119
  682. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +12 -38
  683. package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +1 -1
  684. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +29 -28
  685. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -1
  686. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +3 -9
  687. package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +7 -0
  688. package/test/sap/ui/core/qunit/jquery.sap.events.qunit.js +4 -68
  689. package/test/sap/ui/core/qunit/json/JSONBinding.qunit.js +4 -6
  690. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +0 -1
  691. package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +5 -18
  692. package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +15 -23
  693. package/test/sap/ui/core/qunit/json/JSONTreeBinding.qunit.js +6 -8
  694. package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +11 -13
  695. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.html +0 -2
  696. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +40 -34
  697. package/test/sap/ui/core/qunit/loader/{asyncMode_unavoidablySync.qunit.html → asyncMode_legacyAPIs.qunit.html} +1 -1
  698. package/test/sap/ui/core/qunit/loader/{asyncMode_unavoidablySync.qunit.js → asyncMode_legacyAPIs.qunit.js} +33 -4
  699. package/test/sap/ui/core/qunit/loader/conflictWithRequire.qunit.js +16 -16
  700. package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +2 -2
  701. package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +46 -2
  702. package/test/sap/ui/core/qunit/mockserver/MockServer.qunit.js +859 -245
  703. package/test/sap/ui/core/qunit/mockserver/testsuite.mockserver.qunit.js +8 -0
  704. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +3 -0
  705. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata_ItemCustomer.xml +5 -0
  706. package/test/sap/ui/core/qunit/model/Filter.qunit.js +135 -44
  707. package/test/sap/ui/core/qunit/model/Sorter.qunit.js +10 -10
  708. package/test/sap/ui/core/qunit/model/_Helper.qunit.js +3 -1
  709. package/test/sap/ui/core/qunit/mvc/AnyViewAsync.qunit.js +11 -3
  710. package/test/sap/ui/core/qunit/mvc/AsyncXMLView.qunit.js +5 -5
  711. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +73 -47
  712. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +0 -4
  713. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +78 -7
  714. package/test/sap/ui/core/qunit/mvc/testdata/inner.view.xml +3 -0
  715. package/test/sap/ui/core/qunit/mvc/testdata/middle.view.xml +8 -0
  716. package/test/sap/ui/core/qunit/mvc/testdata/outer.view.xml +5 -0
  717. package/test/sap/ui/core/qunit/mvc/testdata/test.controller.js +1 -1
  718. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +3 -3
  719. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncHTMLView_legacyAPIs.qunit.js +6 -7
  720. package/test/sap/ui/core/qunit/mvc_legacyAPIs/AsyncXMLView_legacyAPIs.qunit.js +5 -7
  721. package/test/sap/ui/core/qunit/mvc_legacyAPIs/View_legacyAPIs.qunit.js +46 -1
  722. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +0 -4
  723. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +5 -5
  724. package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +60 -62
  725. package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +9 -9
  726. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +12 -46
  727. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +4 -3
  728. package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +7 -0
  729. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +40 -0
  730. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +365 -13
  731. package/test/sap/ui/core/qunit/odata/_AnnotationHelperExpression.qunit.js +7 -7
  732. package/test/sap/ui/core/qunit/odata/type/Boolean.qunit.js +5 -5
  733. package/test/sap/ui/core/qunit/odata/type/Currency.qunit.js +5 -5
  734. package/test/sap/ui/core/qunit/odata/type/Date.qunit.js +11 -11
  735. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +54 -55
  736. package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +8 -8
  737. package/test/sap/ui/core/qunit/odata/type/Decimal.qunit.js +7 -7
  738. package/test/sap/ui/core/qunit/odata/type/Double.qunit.js +7 -7
  739. package/test/sap/ui/core/qunit/odata/type/Int.qunit.js +7 -7
  740. package/test/sap/ui/core/qunit/odata/type/Int64.qunit.js +7 -7
  741. package/test/sap/ui/core/qunit/odata/type/Single.qunit.js +6 -6
  742. package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +7 -7
  743. package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +12 -12
  744. package/test/sap/ui/core/qunit/odata/type/Unit.qunit.js +5 -5
  745. package/test/sap/ui/core/qunit/odata/v2/CanonicalRequests.qunit.js +1 -1
  746. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +580 -130
  747. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +79 -20
  748. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +23 -18
  749. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +24 -0
  750. package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +25 -203
  751. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +55 -192
  752. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelB.qunit.js +47 -261
  753. package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +9 -9
  754. package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +4 -1
  755. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -5
  756. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +30 -49
  757. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +7 -6
  758. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +142 -30
  759. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +8 -6
  760. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2317 -470
  761. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +12 -43
  762. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +75 -40
  763. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +43 -9
  764. package/test/sap/ui/core/qunit/odata/v4/ODataUtils.qunit.js +7 -7
  765. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +4 -0
  766. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +381 -182
  767. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +46 -29
  768. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +38 -26
  769. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +38 -10
  770. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +45 -4
  771. package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +134 -0
  772. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +7 -7
  773. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +1 -0
  774. package/test/sap/ui/core/qunit/opa/OpaBuilder.qunit.js +3 -1
  775. package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +0 -1
  776. package/test/sap/ui/core/qunit/opa/_ControlFinder.qunit.js +5 -1
  777. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +0 -1
  778. package/test/sap/ui/core/qunit/opa/actions/Press.qunit.js +4 -3
  779. package/test/sap/ui/core/qunit/opa/autowaiter/_XHRWaiter.js +1 -1
  780. package/test/sap/ui/core/qunit/opa/autowaiter/_navigationContainerWaiter.js +5 -5
  781. package/test/sap/ui/core/qunit/opa/fixture/bindingPath.js +20 -12
  782. package/test/sap/ui/core/qunit/opa/fixture/busyAfterStart.html +4 -4
  783. package/test/sap/ui/core/qunit/opa/fixture/emptySite.html +4 -2
  784. package/test/sap/ui/core/qunit/opa/fixture/emptySiteWithOpaExtensions.html +4 -2
  785. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest-qunit1.html +4 -1
  786. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest-qunit2.html +4 -1
  787. package/test/sap/ui/core/qunit/opa/fixture/failingOpaTest.js +6 -3
  788. package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.html +5 -5
  789. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest-qunit1.html +4 -2
  790. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest-qunit2.html +4 -2
  791. package/test/sap/ui/core/qunit/opa/fixture/opaQUnitTest.js +4 -1
  792. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest-qunit1.html +4 -2
  793. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest-qunit2.html +4 -2
  794. package/test/sap/ui/core/qunit/opa/fixture/opaReportTest.js +4 -1
  795. package/test/sap/ui/core/qunit/opa/fixture/qunitPause-qunit1.html +3 -1
  796. package/test/sap/ui/core/qunit/opa/fixture/qunitPause-qunit2.html +3 -1
  797. package/test/sap/ui/core/qunit/opa/fixture/qunitPause.qunit.js +4 -1
  798. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.html +4 -3
  799. package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +4 -1
  800. package/test/sap/ui/core/qunit/opa/matchers/I18NText.qunit.js +1 -1
  801. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +2 -1
  802. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +2 -1
  803. package/test/sap/ui/core/qunit/opa/opa5/iFrame.qunit.js +6 -5
  804. package/test/sap/ui/core/qunit/opa/opa5/iFrameLogging.qunit.js +26 -6
  805. package/test/sap/ui/core/qunit/opa/opa5/matchersInFrame.qunit.js +1 -1
  806. package/test/sap/ui/core/qunit/opa/selectors/_BindingPath.js +2 -2
  807. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorGenerator.js +3 -3
  808. package/test/sap/ui/core/qunit/opa/selectors/_ControlSelectorValidator.js +5 -2
  809. package/test/sap/ui/core/qunit/opa/selectors/_DropdownItem.js +3 -2
  810. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +28 -18
  811. package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +26 -12
  812. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +5 -8
  813. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +71 -64
  814. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +55 -2
  815. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +0 -1
  816. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +5 -1
  817. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +0 -1
  818. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +5 -1
  819. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +0 -1
  820. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/Component.js +15 -0
  821. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/manifest.json +37 -0
  822. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/view/MyView1.view.xml +3 -0
  823. package/test/sap/ui/core/qunit/routing/fixture/router/component/titleChanged/homeRoute/view/RootView.view.xml +3 -0
  824. package/test/sap/ui/core/qunit/rule/app/syncXHR.qunit.js +9 -0
  825. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +4 -7
  826. package/test/sap/ui/core/qunit/security/Security.qunit.js +133 -0
  827. package/test/sap/ui/core/qunit/service/Service.qunit.js +13 -10
  828. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/custom-bundle.js +2 -2
  829. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/lib2/library-preload.js +1 -1
  830. package/test/sap/ui/core/qunit/testdata/libraries/customBundle/lib3/library-preload.js +1 -1
  831. package/test/sap/ui/core/qunit/testdata/libraries/customCss/lib1/library.js +3 -4
  832. package/test/sap/ui/core/qunit/testdata/libraries/make.js +4 -4
  833. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library-preload.js +7 -4
  834. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib1/library.js +7 -4
  835. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library-preload.json +1 -1
  836. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib2/library.js +7 -4
  837. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library-preload.js +5 -4
  838. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib3/library.js +5 -4
  839. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.js +3 -3
  840. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library-preload.json +1 -1
  841. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib4/library.js +3 -3
  842. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library-preload.json +1 -1
  843. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib5/library.js +3 -3
  844. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library-preload.js +3 -3
  845. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib6/library.js +3 -3
  846. package/test/sap/ui/core/qunit/testdata/libraries/scenario1/lib7/library.js +3 -3
  847. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library-preload.js +7 -4
  848. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib1/library.js +7 -4
  849. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library-preload.json +1 -1
  850. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib2/library.js +7 -4
  851. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library-preload.js +5 -4
  852. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib3/library.js +5 -4
  853. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.js +3 -3
  854. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library-preload.json +1 -1
  855. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib4/library.js +3 -3
  856. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library-preload.json +1 -1
  857. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib5/library.js +3 -3
  858. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library-preload.js +3 -3
  859. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib6/library.js +3 -3
  860. package/test/sap/ui/core/qunit/testdata/libraries/scenario13/lib7/library.js +3 -3
  861. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -3
  862. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -3
  863. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -3
  864. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -3
  865. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +3 -3
  866. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +3 -3
  867. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library-preload.js +3 -3
  868. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib4/library.js +3 -3
  869. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +3 -3
  870. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +3 -3
  871. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +3 -3
  872. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +3 -3
  873. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library-preload.js +3 -3
  874. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib7/library.js +3 -3
  875. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +3 -3
  876. package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +3 -3
  877. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library-preload.js +6 -4
  878. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib1/library.js +6 -4
  879. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library-preload.js +3 -3
  880. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib10/library.js +3 -3
  881. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library-preload.json +1 -1
  882. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib2/library.js +7 -4
  883. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library-preload.js +5 -4
  884. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib3/library.js +5 -4
  885. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.js +3 -3
  886. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library-preload.json +1 -1
  887. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib4/library.js +3 -3
  888. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library-preload.json +1 -1
  889. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib5/library.js +3 -3
  890. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library-preload.js +3 -3
  891. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib6/library.js +3 -3
  892. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library-preload.js +3 -3
  893. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib7/library.js +3 -3
  894. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library-preload.js +5 -4
  895. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib8/library.js +5 -4
  896. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library-preload.js +5 -4
  897. package/test/sap/ui/core/qunit/testdata/libraries/scenario15/lib9/library.js +5 -4
  898. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library-preload.js +3 -3
  899. package/test/sap/ui/core/qunit/testdata/libraries/scenario16/embeddingLib/library.js +3 -3
  900. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library-preload.js +7 -4
  901. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib1/library.js +7 -4
  902. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library-preload.json +1 -1
  903. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib2/library.js +7 -4
  904. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library-preload.js +5 -4
  905. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib3/library.js +5 -4
  906. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.js +3 -3
  907. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library-preload.json +1 -1
  908. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib4/library.js +3 -3
  909. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library-preload.json +1 -1
  910. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib5/library.js +3 -3
  911. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library-preload.js +3 -3
  912. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib6/library.js +3 -3
  913. package/test/sap/ui/core/qunit/testdata/libraries/scenario2/lib7/library.js +3 -3
  914. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library-preload.js +5 -4
  915. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib1/library.js +5 -4
  916. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library-preload.json +1 -1
  917. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib2/library.js +6 -4
  918. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library-preload.js +3 -3
  919. package/test/sap/ui/core/qunit/testdata/libraries/scenario3/lib3/library.js +3 -3
  920. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library-preload.js +5 -4
  921. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib1/library.js +5 -4
  922. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library-preload.json +1 -1
  923. package/test/sap/ui/core/qunit/testdata/libraries/scenario4/lib2/library.js +5 -4
  924. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library-preload.js +7 -4
  925. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib1/library.js +7 -4
  926. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library-preload.js +6 -4
  927. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib2/library.js +6 -4
  928. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library-preload.js +5 -4
  929. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib3/library.js +5 -4
  930. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.js +3 -3
  931. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library-preload.json +1 -1
  932. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib4/library.js +3 -3
  933. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library-preload.json +1 -1
  934. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib5/library.js +3 -3
  935. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library-preload.js +3 -3
  936. package/test/sap/ui/core/qunit/testdata/libraries/scenario5/lib6/library.js +3 -3
  937. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library-preload.json +1 -1
  938. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib1/library.js +3 -3
  939. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library-preload.json +1 -1
  940. package/test/sap/ui/core/qunit/testdata/libraries/scenario6/lib2/library.js +3 -3
  941. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.js +3 -3
  942. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library-preload.json +1 -1
  943. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib1/library.js +3 -3
  944. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library-preload.json +1 -1
  945. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib2/library.js +3 -3
  946. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library-preload.js +3 -3
  947. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib3/library.js +3 -3
  948. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library-preload.json +1 -1
  949. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib4/library.js +3 -3
  950. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library-preload.js +3 -3
  951. package/test/sap/ui/core/qunit/testdata/libraries/scenario7/lib5/library.js +3 -3
  952. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.js +3 -3
  953. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library-preload.json +1 -1
  954. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib1/library.js +3 -3
  955. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library-preload.json +1 -1
  956. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib2/library.js +3 -3
  957. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library-preload.js +3 -3
  958. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib3/library.js +3 -3
  959. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library-preload.json +1 -1
  960. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib4/library.js +3 -3
  961. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library-preload.js +3 -3
  962. package/test/sap/ui/core/qunit/testdata/libraries/scenario8/lib5/library.js +3 -3
  963. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library-preload.js +3 -3
  964. package/test/sap/ui/core/qunit/testdata/libraries/scenario9/lib1/library.js +3 -3
  965. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/absoluteBundleUrl/library-preload.js +2 -2
  966. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
  967. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/notLoadedYet/library-preload.js +2 -2
  968. package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/library-preload.js +2 -2
  969. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib1/library.js +6 -4
  970. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib10/library.js +6 -4
  971. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib11/library.js +5 -3
  972. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib12/library.js +5 -3
  973. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib13/library.js +5 -3
  974. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib14/library.js +5 -3
  975. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib15/library.js +5 -3
  976. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib16/library.js +5 -3
  977. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib17/library.js +6 -3
  978. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib2/library.js +6 -4
  979. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib3/library.js +6 -4
  980. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/library.js +6 -4
  981. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib5/library.js +6 -4
  982. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib6/library.js +6 -4
  983. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib7/library.js +6 -4
  984. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib8/library.js +6 -4
  985. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib9/library.js +6 -4
  986. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require.view.xml +0 -1
  987. package/test/sap/ui/core/qunit/testsuite.qunit.js +2 -2
  988. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +35 -0
  989. package/test/sap/ui/core/qunit/testsuites/testsuite.controls.qunit.js +2 -1
  990. package/test/sap/ui/core/qunit/testsuites/testsuite.eventing.qunit.js +0 -11
  991. package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +7 -0
  992. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +4 -0
  993. package/test/sap/ui/core/qunit/types/Date.qunit.js +5 -5
  994. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +92 -99
  995. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +50 -50
  996. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +5 -5
  997. package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +74 -4
  998. package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +332 -166
  999. package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +60 -24
  1000. package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +21 -21
  1001. package/test/sap/ui/core/qunit/types/Types.qunit.js +51 -48
  1002. package/test/sap/ui/core/qunit/types/ValidationHooks.qunit.js +151 -78
  1003. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +7 -17
  1004. package/test/sap/ui/core/qunit/{types → ui5classes}/DataType.qunit.js +174 -17
  1005. package/test/sap/ui/core/qunit/{ManagedObjectMetadata.qunit.js → ui5classes/ManagedObjectMetadata.qunit.js} +0 -1
  1006. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +1 -1
  1007. package/test/sap/ui/core/qunit/{ManagedObject_BindingParser.qunit.js → ui5classes/ManagedObject_BindingParser.qunit.js} +1 -1
  1008. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.html +11 -0
  1009. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +62 -0
  1010. package/test/sap/ui/core/qunit/util/PasteHelper.qunit.js +5 -5
  1011. package/test/sap/ui/core/qunit/util/Popup.qunit.js +3 -71
  1012. package/test/sap/ui/core/qunit/util/ValueStateSupport.qunit.js +3 -3
  1013. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +6 -0
  1014. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +31 -16
  1015. package/test/sap/ui/core/qunit/util/jquery.sap.trace.qunit.js +1 -1
  1016. package/test/sap/ui/core/qunit/util/postmessage/ConfirmationDialog.qunit.js +4 -6
  1017. package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +11 -2
  1018. package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +4 -4
  1019. package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +4 -4
  1020. package/test/sap/ui/core/qunit/util/support/SupportTool.qunit.js +3 -2
  1021. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.opa.qunit.js +22 -83
  1022. package/test/sap/ui/core/qunit/util/support/TechnicalInfo.qunit.js +3 -3
  1023. package/test/sap/ui/core/qunit/util/support/TechnicalInfoDebugModules.opa.qunit.js +22 -83
  1024. package/test/sap/ui/core/qunit/xml/XMLBinding.qunit.js +0 -2
  1025. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -4
  1026. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +12 -14
  1027. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +4 -6
  1028. package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +8 -10
  1029. package/test/sap/ui/core/relnotes/changes-1.120.json +0 -510
  1030. package/test/sap/ui/core/relnotes/changes-1.121.json +604 -0
  1031. package/test/sap/ui/core/samples/components/config/modelPreloadAndEarlyRequests/manifest.json +3 -5
  1032. package/test/sap/ui/core/samples/databinding/UnitTable.controller.js +5 -5
  1033. package/test/sap/ui/core/terminologies/App.controller.js +3 -4
  1034. package/test/sap/ui/core/terminologies/main.js +4 -4
  1035. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  1036. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  1037. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  1038. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  1039. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  1040. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  1041. package/test/sap/ui/qunit/testrunner.html +5 -2
  1042. package/test/testsuite/js/samples.js +5 -4
  1043. package/test/testsuite/js/settings.js +1 -1
  1044. package/test/testsuite/js/testframe.js +1 -1
  1045. package/test/testsuite/welcome.html +1 -1
  1046. package/LICENSES/BSD-2-Clause.txt +0 -22
  1047. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Formatter.js +0 -22
  1048. package/test/sap/ui/core/qunit/ManagedObjectRegistry.qunit.js +0 -150
  1049. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/.library +0 -17
  1050. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/TestButton.js +0 -85
  1051. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/TestButtonRenderer.js +0 -63
  1052. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/library.js +0 -24
  1053. package/test/sap/ui/core/qunit/testdata/uilib-using-legacy-module-apis/themes/base/library.css +0 -26
  1054. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.html +0 -12
  1055. package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +0 -76
  1056. /package/test/sap/ui/core/qunit/bootstrap/{DebugMode.qunit.html → DebugModeSync.qunit.html} +0 -0
  1057. /package/test/sap/ui/core/qunit/{types → ui5classes}/AlternativeTypes.qunit.js +0 -0
  1058. /package/test/sap/ui/core/qunit/{ManagedObject.qunit.js → ui5classes/ManagedObject.qunit.js} +0 -0
  1059. /package/test/sap/ui/core/qunit/{ManagedObjectObserver.qunit.js → ui5classes/ManagedObjectObserver.qunit.js} +0 -0
  1060. /package/test/sap/ui/core/qunit/{ManagedObject_forwardAggregation.qunit.js → ui5classes/ManagedObject_forwardAggregation.qunit.js} +0 -0
  1061. /package/test/sap/ui/core/qunit/{ManagedObject_isPropertyInitial.qunit.js → ui5classes/ManagedObject_isPropertyInitial.qunit.js} +0 -0
  1062. /package/test/sap/ui/core/qunit/{Metadata.qunit.js → ui5classes/Metadata.qunit.js} +0 -0
  1063. /package/test/sap/ui/core/qunit/{Object.qunit.js → ui5classes/Object.qunit.js} +0 -0
  1064. /package/test/sap/ui/core/qunit/{Object_legacyAPIs.qunit.js → ui5classes/Object_legacyAPIs.qunit.js} +0 -0
  1065. /package/test/sap/ui/core/qunit/{testdata → ui5classes/fixture}/customboot/common.configure.ui5.js +0 -0
@@ -6,19 +6,20 @@
6
6
  /*eslint-disable max-len */
7
7
  // Provides the base implementation for all model implementations
8
8
  sap.ui.define([
9
+ "sap/base/i18n/Formatting",
9
10
  "sap/base/strings/hash",
10
11
  "sap/base/util/each",
11
12
  "sap/base/util/extend",
12
13
  "sap/base/util/isEmptyObject",
13
- "sap/ui/core/Configuration",
14
+ "sap/ui/core/Lib",
15
+ "sap/ui/core/Locale",
14
16
  "sap/ui/core/LocaleData",
15
17
  "sap/ui/core/format/NumberFormat",
16
18
  "sap/ui/model/CompositeType",
17
19
  "sap/ui/model/FormatException",
18
20
  "sap/ui/model/ParseException",
19
21
  "sap/ui/model/ValidateException"
20
- ], function(hash, each, extend, isEmptyObject, Configuration, LocaleData, NumberFormat,
21
- CompositeType, FormatException, ParseException, ValidateException) {
22
+ ], function(Formatting, hash, each, extend, isEmptyObject, Library, Locale, LocaleData, NumberFormat, CompositeType, FormatException, ParseException, ValidateException) {
22
23
  "use strict";
23
24
 
24
25
 
@@ -48,7 +49,7 @@ sap.ui.define([
48
49
  *
49
50
  *
50
51
  * @author SAP SE
51
- * @version 1.120.10
52
+ * @version 1.121.1
52
53
  *
53
54
  * @public
54
55
  * @param {object} [oFormatOptions]
@@ -115,7 +116,7 @@ sap.ui.define([
115
116
  // might overwrite the given dynamic format options of the type.
116
117
  if (sUnitToBeFormatted && !this.oFormatOptions.customUnits && !oFormatArgs.customUnits) {
117
118
  // checks the global Configuration and CLDR for Units/UnitMappings
118
- var oLocale = Configuration.getFormatSettings().getFormatLocale();
119
+ var oLocale = new Locale(Formatting.getLanguageTag());
119
120
  var oLocaleData = LocaleData.getInstance(oLocale);
120
121
  var sLookupMeasure = oLocaleData.getUnitFromMapping(sUnitToBeFormatted) || sUnitToBeFormatted;
121
122
  var mUnitPatterns = oLocaleData.getUnitFormat(sLookupMeasure);
@@ -285,7 +286,7 @@ sap.ui.define([
285
286
 
286
287
  Unit.prototype.validateValue = function(vValue) {
287
288
  if (this.oConstraints) {
288
- var oBundle = sap.ui.getCore().getLibraryResourceBundle(),
289
+ var oBundle = Library.getResourceBundleFor("sap.ui.core"),
289
290
  aViolatedConstraints = [],
290
291
  aMessages = [],
291
292
  aValues = vValue,
@@ -365,7 +366,7 @@ sap.ui.define([
365
366
  * @private
366
367
  */
367
368
  Unit.prototype.getParseException = function () {
368
- var oBundle = sap.ui.getCore().getLibraryResourceBundle(),
369
+ var oBundle = Library.getResourceBundleFor("sap.ui.core"),
369
370
  sText;
370
371
 
371
372
  if (!this.bShowNumber) {
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.model.ClientModel
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.120.10
50
+ * @version 1.121.1
51
51
  *
52
52
  * @param {XMLDocument|string} oData
53
53
  * Either the URL where to load the XML from or an XML document
@@ -306,7 +306,11 @@ sap.ui.define([
306
306
  if (!oRootNode) {
307
307
  return null;
308
308
  }
309
- var oNode = this.isLegacySyntax() ? [oRootNode] : [];
309
+ let oNode = [];
310
+ /** @deprecated As of version 1.88.0 */
311
+ if (this.isLegacySyntax()) {
312
+ oNode = [oRootNode];
313
+ }
310
314
  if (oContext instanceof Context) {
311
315
  oNode = this._getObject(oContext.getPath());
312
316
  } else if (oContext) {
@@ -464,7 +468,11 @@ sap.ui.define([
464
468
  if (oContext) {
465
469
  sResolvedPath = oContext.getPath() + "/" + sPath;
466
470
  } else {
467
- sResolvedPath = this.isLegacySyntax() ? "/" + sPath : undefined;
471
+ sResolvedPath = undefined;
472
+ /** @deprecated As of version 1.88.0 */
473
+ if (this.isLegacySyntax()) {
474
+ sResolvedPath = "/" + sPath;
475
+ }
468
476
  }
469
477
  }
470
478
  return sResolvedPath;
@@ -104,7 +104,7 @@ sap.ui.define([
104
104
  trigger: "undetermined", // control which triggered interaction
105
105
  component: "undetermined", // component or app identifier
106
106
  appVersion: "undetermined", // application version as from app descriptor
107
- start: iTime || window.performance.timing.fetchStart, // interaction start - page fetchstart if initial
107
+ start: iTime || performance.timeOrigin, // interaction start - page timeOrigin if initial
108
108
  end: 0, // interaction end
109
109
  navigation: 0, // sum over all navigation times
110
110
  roundtrip: 0, // time from first request sent to last received response end - without gaps and ignored overlap
@@ -133,7 +133,7 @@ sap.ui.define([
133
133
  /**
134
134
  * Check if request is initiated by XHR, comleted and timeframe of request is within timeframe of current interaction
135
135
  *
136
- * @param {object} oRequestTiming PerformanceResourceTiming as retrieved by window.performance.getEntryByType("resource")
136
+ * @param {object} oRequestTiming PerformanceResourceTiming as retrieved by performance.getEntryByType("resource")
137
137
  * @return {boolean} true if the request is a completed XHR with started and ended within the current interaction
138
138
  * @private
139
139
  */
@@ -143,8 +143,8 @@ sap.ui.define([
143
143
  oRequestTiming.startTime <= oRequestTiming.requestStart &&
144
144
  oRequestTiming.requestStart <= oRequestTiming.responseEnd;
145
145
 
146
- var bPartOfInteraction = oPendingInteraction.start <= (performance.timing.navigationStart + oRequestTiming.requestStart) &&
147
- oPendingInteraction.end >= (performance.timing.navigationStart + oRequestTiming.responseEnd);
146
+ var bPartOfInteraction = oPendingInteraction.start <= (performance.timeOrigin + oRequestTiming.requestStart) &&
147
+ oPendingInteraction.end >= (performance.timeOrigin + oRequestTiming.responseEnd);
148
148
 
149
149
  return bPartOfInteraction && bComplete && oRequestTiming.initiatorType === "xmlhttprequest";
150
150
  }
@@ -194,19 +194,11 @@ sap.ui.define([
194
194
  } else {
195
195
  oPendingInteraction.networkTime = 0;
196
196
  }
197
-
198
- // in case processing is not determined, which means no re-rendering occured, take start to end
199
- if (oPendingInteraction.processing === 0) {
200
- var iRelativeStart = oPendingInteraction.start - window.performance.timing.fetchStart;
201
- oPendingInteraction.duration = oTimings.end - iRelativeStart;
202
- // calculate processing time of before requests start
203
- oPendingInteraction.processing = oTimings.start - iRelativeStart;
204
- }
205
197
  }
206
198
 
207
199
  function finalizeInteraction(iTime) {
208
200
  if (oPendingInteraction) {
209
- var aAllRequestTimings = window.performance.getEntriesByType("resource");
201
+ var aAllRequestTimings = performance.getEntriesByType("resource");
210
202
  var oFinshedInteraction;
211
203
  oPendingInteraction.end = iTime;
212
204
  oPendingInteraction.processing = iTime - oPendingInteraction.start;
@@ -408,7 +400,7 @@ sap.ui.define([
408
400
  this.pendingInteraction.networkTime += sFesrec ? Math.round(parseFloat(sFesrec, 10) / 1000) : 0;
409
401
  var sSapStatistics = this.getResponseHeader("sap-statistics");
410
402
  if (sSapStatistics) {
411
- var aTimings = window.performance.getEntriesByType("resource");
403
+ var aTimings = performance.getEntriesByType("resource");
412
404
  this.pendingInteraction.sapStatistics.push({
413
405
  // add response url for mapping purposes
414
406
  url: this.responseURL,
@@ -530,8 +522,8 @@ sap.ui.define([
530
522
  iInteractionCounter = 0;
531
523
 
532
524
  // clear request timings for new interaction
533
- if (window.performance.clearResourceTimings) {
534
- window.performance.clearResourceTimings();
525
+ if (performance.clearResourceTimings) {
526
+ performance.clearResourceTimings();
535
527
  }
536
528
 
537
529
  var oComponentInfo = createOwnerComponentInfo(oSrcElement);
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  sUrl = ["true", "false", "x", "X", undefined].indexOf(sFesr) === -1 ? sFesr : undefined;
40
40
  }
41
41
 
42
- if (typeof window.performance.getEntriesByType === "function") {
42
+ if (typeof performance.getEntriesByType === "function") {
43
43
  FESR.setActive(bActive, sUrl);
44
44
  } else {
45
45
  Log.debug("FESR is not supported in clients without support of window.Performance extensions.");
@@ -4,7 +4,7 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- /*global jQuery, QUnit, URI, XMLHttpRequest, sap */// declare unusual global vars for JSLint/SAPUI5 validation
7
+ /*global QUnit */// declare unusual global vars for JSLint/SAPUI5 validation
8
8
  (function() {
9
9
  "use strict";
10
10
 
@@ -12,8 +12,11 @@
12
12
  throw new Error("qunit-junit.js: QUnit is not loaded yet!");
13
13
  }
14
14
 
15
- // any version < 2.0 activates legacy support
16
- // note that the strange negated condition properly handles NaN
15
+ /**
16
+ * Any version < 2.0 activates legacy support.
17
+ * Note that the strange negated condition properly handles NaN.
18
+ * @deprecated support for legacy QUnit APIs has been abandoned
19
+ */
17
20
  var bLegacySupport = !(parseFloat(QUnit.version) >= 2.0);
18
21
 
19
22
  // test-page url/name as module prefix
@@ -47,22 +50,31 @@
47
50
  }
48
51
  });
49
52
 
50
- // TODO: Remove deprecated code once all projects adapted
53
+ /**
54
+ * @deprecated support for legacy QUnit APIs has been abandoned
55
+ */
51
56
  if ( bLegacySupport ) {
52
57
  QUnit.equals = window.equals = window.equal;
53
58
  QUnit.raises = window.raises = window["throws"];
54
59
  }
55
60
 
56
61
  // register QUnit event handler to manipulate module names for better reporting in Jenkins
62
+ // needs to happen before qunit-reporter-junit.js is executed in order to have an impact on the JUnit report
57
63
  QUnit.moduleStart(function(oData) {
58
64
  oData.name = sTestPageName + "." + formatModuleName(oData.name);
59
65
  });
60
66
  QUnit.testStart(function(oData) {
61
67
  oData.module = sTestPageName + "." + formatModuleName(oData.module);
68
+ /**
69
+ * @deprecated support for legacy QUnit APIs has been abandoned
70
+ */
62
71
  if ( bLegacySupport ) {
63
72
  window.assert = QUnit.config.current.assert;
64
73
  }
65
74
  });
75
+ /**
76
+ * @deprecated support for legacy QUnit APIs has been abandoned
77
+ */
66
78
  if ( bLegacySupport ) {
67
79
  QUnit.testDone(function(assert) {
68
80
  try {
@@ -81,52 +93,9 @@
81
93
  });
82
94
  }
83
95
 
84
- // load and execute qunit-reporter-junit script synchronously via XHR
96
+ // execute qunit-reporter-junit script inline if not loaded already to avoid sync XHR / eval
85
97
  if ( !QUnit.jUnitDone ) {
86
- //extract base URL from script to attach the qunit-reporter-junit script
87
- var sDocumentLocation = document.location.href.replace(/\?.*|#.*/g, ""),
88
- aScripts = document.getElementsByTagName("script"),
89
- sBaseUrl = null,
90
- sFullUrl = null,
91
- req;
92
-
93
- for (var i = 0; i < aScripts.length; i++) {
94
- var sSrc = aScripts[i].getAttribute("src");
95
- if (sSrc) {
96
- var aBaseUrl = sSrc.match(/(.*)qunit\/qunit-junit\.js$/i);
97
- if (aBaseUrl && aBaseUrl.length > 1) {
98
- sBaseUrl = aBaseUrl[1];
99
- break;
100
- }
101
- }
102
- }
103
-
104
- if (sBaseUrl === null) {
105
- if ( typeof sap === 'object' && sap.ui && sap.ui.require && sap.ui.require.toUrl ) {
106
- sFullUrl = sap.ui.require.toUrl("sap/ui/thirdparty/qunit-reporter-junit.js");
107
- } else if (typeof jQuery !== 'undefined' && jQuery.sap && jQuery.sap.getResourcePath) {
108
- sFullUrl = jQuery.sap.getResourcePath("sap/ui/thirdparty/qunit-reporter-junit", ".js");
109
- } else {
110
- throw new Error("qunit-junit.js: The script tag seems to be malformed!");
111
- }
112
- } else {
113
- sFullUrl = sBaseUrl + "thirdparty/qunit-reporter-junit.js";
114
- }
115
-
116
- req = new XMLHttpRequest();
117
- req.open('GET', sFullUrl, false);
118
- req.onreadystatechange = function() {
119
- if (req.readyState == 4) {
120
- // execute the loaded script
121
- var sScript = req.responseText;
122
- if (typeof URI !== "undefined") {
123
- sScript += "\n//# sourceURL=" + URI(sFullUrl).absoluteTo(sDocumentLocation);
124
- }
125
- // eslint-disable-next-line no-eval
126
- window.eval(sScript);
127
- }
128
- };
129
- req.send(null);
98
+ defineQUnitJUnitReporter();
130
99
  }
131
100
 
132
101
  //callback to put results on window object
@@ -170,4 +139,401 @@
170
139
  // flag to identify JUnit reporting is active
171
140
  window._$jUnitReport = {};
172
141
 
142
+ function defineQUnitJUnitReporter() {
143
+ /* eslint-disable */
144
+ // BEGIN sap/ui/thirdparty/qunit-reporter-junit.js
145
+ /**
146
+ * JUnit reporter for QUnit v1.1.1
147
+ *
148
+ * https://github.com/JamesMGreene/qunit-reporter-junit
149
+ *
150
+ * ##### BEGIN: MODIFIED BY SAP
151
+ * Support for nested modules was inspired by
152
+ * https://github.com/JamesMGreene/qunit-reporter-junit/pull/30
153
+ * (https://github.com/abstraktor/qunit-reporter-junit/commit/526cd95adf147f9867f5ec025e61d2cd9ee1aa3f).
154
+ * ##### END: MODIFIED BY SAP
155
+ *
156
+ * Copyright jQuery Foundation and other contributors
157
+ * Released under the MIT license.
158
+ * https://jquery.org/license/
159
+ */
160
+
161
+ // ##### BEGIN: MODIFIED BY SAP
162
+ // Prevent script from being executed twice (from sap/ui/thirdparty/qunit-reporter-junit.js + copy within sap/ui/qunit/qunit-junit.js)
163
+ if (QUnit.jUnitDone) {
164
+ return;
165
+ }
166
+ // ##### END: MODIFIED BY SAP
167
+
168
+ var currentRun, currentModule, currentTest, assertCount,
169
+ jUnitReportData, _executeRegisteredCallbacks,
170
+ // ##### BEGIN: MODIFIED BY SAP
171
+ currentModules = [],
172
+ // ##### END: MODIFIED BY SAP
173
+ jUnitDoneCallbacks = [];
174
+
175
+ // Old API
176
+ // Gets called when a report is generated.
177
+ QUnit.jUnitReport = function(/* data */) {
178
+ // Override me!
179
+ };
180
+
181
+ // New API
182
+ QUnit.jUnitDone = function(cb) {
183
+ if (typeof cb === 'function') {
184
+ // If QUnit is already done running, just execute the newly registered callback immediately
185
+ if (jUnitReportData) {
186
+ cb(jUnitReportData);
187
+ }
188
+ else {
189
+ jUnitDoneCallbacks.push(cb);
190
+ }
191
+ }
192
+ };
193
+
194
+ _executeRegisteredCallbacks = function() {
195
+ // New API support
196
+ var cb;
197
+ do {
198
+ cb = jUnitDoneCallbacks.shift();
199
+ if (typeof cb === 'function') {
200
+ cb(jUnitReportData);
201
+ }
202
+ }
203
+ while (jUnitDoneCallbacks.length > 0);
204
+
205
+ // Old API support
206
+ if (typeof QUnit.jUnitReport === 'function') {
207
+ QUnit.jUnitReport(jUnitReportData);
208
+ }
209
+ };
210
+
211
+ QUnit.begin(function() {
212
+ currentRun = {
213
+ modules: [],
214
+ total: 0,
215
+ passed: 0,
216
+ failed: 0,
217
+ start: new Date(),
218
+ time: 0
219
+ };
220
+ // ##### BEGIN: MODIFIED BY SAP
221
+ // Register testDone callback late so that `currentTest` is more likely to be defined
222
+ // even when another `testDone` callback uses e.g. `QUnit.log` / `QUnit.push(Failure)`
223
+ QUnit.testDone(function(data) {
224
+ currentTest.time = (new Date()).getTime() - currentTest.start.getTime(); // ms
225
+ currentTest.total = data.total;
226
+ currentTest.passed = data.passed;
227
+ currentTest.failed = data.failed;
228
+
229
+ currentTest = null;
230
+ });
231
+ // ##### END: MODIFIED BY SAP
232
+ });
233
+
234
+ QUnit.moduleStart(function(data) {
235
+ // ##### BEGIN: MODIFIED BY SAP
236
+ currentModules.push(currentModule);
237
+ // ##### END: MODIFIED BY SAP
238
+ currentModule = {
239
+ name: data.name,
240
+ tests: [],
241
+ total: 0,
242
+ passed: 0,
243
+ failed: 0,
244
+ start: new Date(),
245
+ time: 0,
246
+ stdout: [],
247
+ stderr: []
248
+ };
249
+
250
+ currentRun.modules.push(currentModule);
251
+ });
252
+
253
+ QUnit.testStart(function(data) {
254
+ // Setup default module if no module was specified
255
+ if (!currentModule) {
256
+ currentModule = {
257
+ name: data.module || 'default',
258
+ tests: [],
259
+ total: 0,
260
+ passed: 0,
261
+ failed: 0,
262
+ start: new Date(),
263
+ time: 0,
264
+ stdout: [],
265
+ stderr: []
266
+ };
267
+
268
+ currentRun.modules.push(currentModule);
269
+ }
270
+
271
+ // Reset the assertion count
272
+ assertCount = 0;
273
+
274
+ currentTest = {
275
+ name: data.name,
276
+ failedAssertions: [],
277
+ total: 0,
278
+ passed: 0,
279
+ failed: 0,
280
+ start: new Date(),
281
+ time: 0
282
+ };
283
+
284
+ currentModule.tests.push(currentTest);
285
+ });
286
+
287
+ QUnit.log(function(data) {
288
+ assertCount++;
289
+
290
+ // Ignore passing assertions
291
+ if (!data.result) {
292
+ currentTest.failedAssertions.push(data);
293
+
294
+ // Add log message of failure to make it easier to find in Jenkins CI
295
+ currentModule.stdout.push(
296
+ '[' + currentModule.name + ', ' + currentTest.name + ', ' + assertCount + '] ' +
297
+ data.message + ( data.source ? '\nSource: ' + data.source : '' )
298
+ );
299
+ }
300
+ });
301
+
302
+ // ##### BEGIN: MODIFIED BY SAP
303
+ // Moved into `QUnit.begin` callback
304
+ //QUnit.testDone(function(data) {
305
+ // currentTest.time = (new Date()).getTime() - currentTest.start.getTime(); // ms
306
+ // currentTest.total = data.total;
307
+ // currentTest.passed = data.passed;
308
+ // currentTest.failed = data.failed;
309
+ //
310
+ // currentTest = null;
311
+ //});
312
+ // ##### END: MODIFIED BY SAP
313
+
314
+ QUnit.moduleDone(function(data) {
315
+ currentModule.time = (new Date()).getTime() - currentModule.start.getTime(); // ms
316
+ currentModule.total = data.total;
317
+ currentModule.passed = data.passed;
318
+ currentModule.failed = data.failed;
319
+
320
+ // ##### BEGIN: MODIFIED BY SAP
321
+ currentModule = currentModules.pop();
322
+ // ##### END: MODIFIED BY SAP
323
+
324
+ });
325
+
326
+ QUnit.done(function(data) {
327
+ currentRun.time = data.runtime || ((new Date()).getTime() - currentRun.start.getTime()); // ms
328
+ currentRun.total = data.total;
329
+ currentRun.passed = data.passed;
330
+ currentRun.failed = data.failed;
331
+
332
+ generateReport(data, currentRun);
333
+ });
334
+
335
+ var generateReport = function(results, run) {
336
+ var pad = function(n) {
337
+ return n < 10 ? '0' + n : n;
338
+ };
339
+
340
+ var toISODateString = function(d) {
341
+ return d.getUTCFullYear() + '-' +
342
+ pad(d.getUTCMonth() + 1)+'-' +
343
+ pad(d.getUTCDate()) + 'T' +
344
+ pad(d.getUTCHours()) + ':' +
345
+ pad(d.getUTCMinutes()) + ':' +
346
+ pad(d.getUTCSeconds()) + 'Z';
347
+ };
348
+
349
+ var convertMillisToSeconds = function(ms) {
350
+ return Math.round(ms * 1000) / 1000000;
351
+ };
352
+
353
+ var xmlEncode = function(text) {
354
+ var baseEntities = {
355
+ '<' : '&lt;',
356
+ '>' : '&gt;',
357
+ '&' : '&amp;',
358
+ '"' : '&quot;',
359
+ '\'': '&apos;',
360
+ '\r': '',
361
+ '\n': '&#10;',
362
+ '\t': '&#9;'
363
+ };
364
+
365
+ return ('' + text).replace(/[<>&"'\r\n\t]/g, function(chr) {
366
+ return baseEntities.hasOwnProperty(chr) ? baseEntities[chr] : chr;
367
+ });
368
+ };
369
+
370
+ var XmlWriter = function(settings) {
371
+ if (!(this instanceof XmlWriter)) {
372
+ return new XmlWriter(settings);
373
+ }
374
+
375
+ settings = settings || {};
376
+
377
+ var data = [],
378
+ stack = [],
379
+ lineBreakAt;
380
+
381
+ var addLineBreak = function(name) {
382
+ if (lineBreakAt[name] && data[data.length - 1] !== '\n') {
383
+ data.push('\n');
384
+ }
385
+ };
386
+
387
+ lineBreakAt = (function(items) {
388
+ var i, map = {};
389
+ items = items || [];
390
+
391
+ i = items.length;
392
+ while (i--) {
393
+ map[items[i]] = {};
394
+ }
395
+ return map;
396
+ })(settings.linebreak_at);
397
+
398
+ this.start = function(name, attrs, empty) {
399
+ if (!empty) {
400
+ stack.push(name);
401
+ }
402
+
403
+ data.push('<' + name);
404
+
405
+ for (var aname in attrs) {
406
+ data.push(' ' + xmlEncode(aname) + '="' + xmlEncode(attrs[aname]) + '"');
407
+ }
408
+
409
+ data.push(empty ? ' />' : '>');
410
+ addLineBreak(name);
411
+ };
412
+
413
+ this.end = function() {
414
+ var name = stack.pop();
415
+ addLineBreak(name);
416
+ data.push('</' + name + '>');
417
+ addLineBreak(name);
418
+ };
419
+
420
+ this.text = function(text) {
421
+ data.push(xmlEncode(text));
422
+ };
423
+
424
+ this.cdata = function(text) {
425
+ data.push('<![CDATA[' + text + ']]>');
426
+ };
427
+
428
+ this.comment = function(text) {
429
+ data.push('<!--' + text + '-->');
430
+ };
431
+ this.pi = function(name, text) {
432
+ data.push('<?' + name + (text ? ' ' + text : '') + '?>\n');
433
+ };
434
+
435
+ this.doctype = function(text) {
436
+ data.push('<!DOCTYPE' + text + '>\n');
437
+ };
438
+
439
+ this.getString = function() {
440
+ while (stack.length) {
441
+ this.end(); // internally calls `stack.pop();`
442
+ }
443
+ return data.join('').replace(/\n$/, '');
444
+ };
445
+
446
+ this.reset = function() {
447
+ data.length = 0;
448
+ stack.length = 0;
449
+ };
450
+
451
+ // Start by writing the XML declaration
452
+ this.pi(settings.xmldecl || 'xml version="1.0" encoding="UTF-8"');
453
+ };
454
+
455
+
456
+ // Generate JUnit XML report!
457
+ var m, mLen, module, t, tLen, test, a, aLen, assertion, isEmptyElement,
458
+ xmlWriter = new XmlWriter({
459
+ linebreak_at: ['testsuites', 'testsuite', 'testcase', 'failure', 'expected', 'actual', 'system-out', 'system-err']
460
+ });
461
+
462
+ xmlWriter.start('testsuites', {
463
+ name: (typeof location !== 'undefined' && location && location.href) || (run.modules.length === 1 && run.modules[0].name) || null,
464
+ tests: run.total,
465
+ failures: run.failed,
466
+ errors: 0,
467
+ time: convertMillisToSeconds(run.time) // ms → sec
468
+ });
469
+
470
+ for (m = 0, mLen = run.modules.length; m < mLen; m++) {
471
+ module = run.modules[m];
472
+
473
+ xmlWriter.start('testsuite', {
474
+ id: m,
475
+ name: module.name,
476
+ hostname: 'localhost',
477
+ tests: module.total,
478
+ failures: module.failed,
479
+ errors: 0,
480
+ time: convertMillisToSeconds(module.time), // ms → sec
481
+ timestamp: toISODateString(module.start)
482
+ });
483
+
484
+ for (t = 0, tLen = module.tests.length; t < tLen; t++) {
485
+ test = module.tests[t];
486
+
487
+ xmlWriter.start('testcase', {
488
+ name: test.name,
489
+ time: convertMillisToSeconds(test.time), // ms → sec
490
+ timestamp: toISODateString(test.start)
491
+ });
492
+
493
+ for (a = 0, aLen = test.failedAssertions.length; a < aLen; a++) {
494
+ assertion = test.failedAssertions[a];
495
+
496
+ isEmptyElement = assertion && !(assertion.actual && assertion.expected);
497
+ xmlWriter.start('failure', { type: 'AssertionFailedError', message: assertion.message }, isEmptyElement);
498
+ if (!isEmptyElement) {
499
+ xmlWriter.start('actual', { value: assertion.actual }, true);
500
+ xmlWriter.start('expected', { value: assertion.expected }, true);
501
+ xmlWriter.end(); //'failure'
502
+ }
503
+ }
504
+
505
+ xmlWriter.end(); //'testcase'
506
+ }
507
+
508
+ // Per-module stdout
509
+ if (module.stdout && module.stdout.length) {
510
+ xmlWriter.start('system-out');
511
+ xmlWriter.cdata('\n' + module.stdout.join('\n') + '\n');
512
+ xmlWriter.end(); //'system-out'
513
+ }
514
+
515
+ // Per-module stderr
516
+ if (module.stderr && module.stderr.length) {
517
+ xmlWriter.start('system-err');
518
+ xmlWriter.cdata('\n' + module.stderr.join('\n') + '\n');
519
+ xmlWriter.end(); //'system-err'
520
+ }
521
+
522
+ xmlWriter.end(); //'testsuite'
523
+ }
524
+
525
+ xmlWriter.end(); //'testsuites'
526
+
527
+
528
+ // Save the results to be passed to any pertinent user-defined callbacks
529
+ jUnitReportData = {
530
+ results: results,
531
+ xml: xmlWriter.getString()
532
+ };
533
+
534
+ _executeRegisteredCallbacks();
535
+ };
536
+ // END sap/ui/thirdparty/qunit-reporter-junit.js
537
+ /* eslint-enable */
538
+ }
173
539
  })();