@openui5/sap.ui.core 1.115.1 → 1.117.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dtsgenrc +18 -0
- package/.eslintrc.json +1 -11
- package/.reuse/dep5 +0 -5
- package/THIRDPARTY.txt +1 -7
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.sjax.js +2 -2
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +106 -0
- package/src/sap/base/Eventing.js +319 -0
- package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
- package/src/sap/base/config.js +3 -2
- package/src/sap/base/i18n/Formatting.js +989 -0
- package/src/sap/base/i18n/LanguageTag.js +189 -0
- package/src/sap/base/i18n/Localization.js +710 -0
- package/src/sap/base/i18n/ResourceBundle.js +5 -20
- package/src/sap/base/i18n/date/CalendarType.js +54 -0
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
- package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
- package/src/sap/base/util/JSTokenizer.js +1 -1
- package/src/sap/base/util/fetch.js +4 -4
- package/src/sap/base/util/mixedFetch.js +2 -2
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/base/util/syncFetch.js +2 -2
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +6 -4
- package/src/sap/ui/base/EventProvider.js +4 -12
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +9 -15
- package/src/sap/ui/base/ManagedObjectMetadata.js +33 -12
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +10 -5
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
- package/src/sap/ui/core/AnimationMode.js +49 -0
- package/src/sap/ui/core/BusyIndicator.js +33 -42
- package/src/sap/ui/core/CalendarType.js +11 -37
- package/src/sap/ui/core/Component.js +4 -5
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/ConfigTest.js +17 -0
- package/src/sap/ui/core/Configuration.js +409 -1282
- package/src/sap/ui/core/Control.js +7 -12
- package/src/sap/ui/core/ControlBehavior.js +157 -0
- package/src/sap/ui/core/Core.js +126 -132
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +14 -3
- package/src/sap/ui/core/ElementMetadata.js +2 -4
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IconPool.js +1 -2
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +5 -7
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +12 -12
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +126 -38
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +154 -430
- package/src/sap/ui/core/LocaleData.js +50 -14
- package/src/sap/ui/core/Manifest.js +5 -5
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +37 -50
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +11 -9
- package/src/sap/ui/core/StaticArea.js +31 -17
- package/src/sap/ui/core/Theming.js +458 -0
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +28 -5
- package/src/sap/ui/core/_IconRegistry.js +89 -12
- package/src/sap/ui/core/boot/_bootConfig.js +137 -0
- package/src/sap/ui/core/boot/_runBoot.js +16 -0
- package/src/sap/ui/core/boot/initDOM.js +96 -0
- package/src/sap/ui/core/boot/loadCalendar.js +50 -0
- package/src/sap/ui/core/boot/loadManifest.js +55 -0
- package/src/sap/ui/core/boot/loadModules.js +80 -0
- package/src/sap/ui/core/boot/manifest.json +11 -0
- package/src/sap/ui/core/boot/onInit.js +44 -0
- package/src/sap/ui/core/boot.js +107 -0
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
- package/src/sap/ui/core/date/UI5Date.js +10 -4
- package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
- package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +33 -27
- package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +32 -6
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageMixin.js +6 -5
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_ar.properties +57 -55
- package/src/sap/ui/core/messagebundle_bg.properties +57 -55
- package/src/sap/ui/core/messagebundle_ca.properties +30 -28
- package/src/sap/ui/core/messagebundle_cs.properties +44 -42
- package/src/sap/ui/core/messagebundle_cy.properties +59 -57
- package/src/sap/ui/core/messagebundle_da.properties +57 -55
- package/src/sap/ui/core/messagebundle_de.properties +59 -57
- package/src/sap/ui/core/messagebundle_el.properties +48 -46
- package/src/sap/ui/core/messagebundle_en.properties +59 -57
- package/src/sap/ui/core/messagebundle_en_GB.properties +59 -57
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
- package/src/sap/ui/core/messagebundle_es.properties +48 -46
- package/src/sap/ui/core/messagebundle_es_MX.properties +58 -56
- package/src/sap/ui/core/messagebundle_et.properties +55 -53
- package/src/sap/ui/core/messagebundle_fi.properties +51 -49
- package/src/sap/ui/core/messagebundle_fr.properties +36 -34
- package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
- package/src/sap/ui/core/messagebundle_hi.properties +42 -40
- package/src/sap/ui/core/messagebundle_hr.properties +57 -55
- package/src/sap/ui/core/messagebundle_hu.properties +58 -56
- package/src/sap/ui/core/messagebundle_id.properties +59 -57
- package/src/sap/ui/core/messagebundle_it.properties +75 -73
- package/src/sap/ui/core/messagebundle_iw.properties +59 -57
- package/src/sap/ui/core/messagebundle_ja.properties +50 -48
- package/src/sap/ui/core/messagebundle_kk.properties +44 -42
- package/src/sap/ui/core/messagebundle_ko.properties +20 -18
- package/src/sap/ui/core/messagebundle_lt.properties +59 -57
- package/src/sap/ui/core/messagebundle_lv.properties +59 -57
- package/src/sap/ui/core/messagebundle_ms.properties +60 -58
- package/src/sap/ui/core/messagebundle_nl.properties +58 -56
- package/src/sap/ui/core/messagebundle_no.properties +56 -54
- package/src/sap/ui/core/messagebundle_pl.properties +56 -54
- package/src/sap/ui/core/messagebundle_pt.properties +58 -56
- package/src/sap/ui/core/messagebundle_pt_PT.properties +58 -56
- package/src/sap/ui/core/messagebundle_ro.properties +59 -57
- package/src/sap/ui/core/messagebundle_ru.properties +57 -55
- package/src/sap/ui/core/messagebundle_sh.properties +59 -57
- package/src/sap/ui/core/messagebundle_sk.properties +57 -55
- package/src/sap/ui/core/messagebundle_sl.properties +58 -56
- package/src/sap/ui/core/messagebundle_sv.properties +54 -52
- package/src/sap/ui/core/messagebundle_th.properties +18 -16
- package/src/sap/ui/core/messagebundle_tr.properties +58 -56
- package/src/sap/ui/core/messagebundle_uk.properties +59 -57
- package/src/sap/ui/core/messagebundle_vi.properties +59 -57
- package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
- package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +14 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +14 -16
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/HashChanger.js +1 -0
- package/src/sap/ui/core/routing/Route.js +1 -0
- package/src/sap/ui/core/routing/Router.js +3 -1
- package/src/sap/ui/core/rules/Config.support.js +2 -2
- package/src/sap/ui/core/rules/Misc.support.js +1 -1
- package/src/sap/ui/core/rules/Model.support.js +3 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +7 -4
- package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/themes/base/Icon.less +2 -2
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
- package/src/sap/ui/core/themes/base/base.less +41 -20
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -10
- package/src/sap/ui/core/theming/ThemeManager.js +312 -450
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +4 -5
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/events/PseudoEvents.js +17 -9
- package/src/sap/ui/model/Binding.js +19 -15
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +57 -19
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +42 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -4
- package/src/sap/ui/model/PropertyBinding.js +10 -0
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +4 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +166 -79
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
- package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +3 -2
- package/src/sap/ui/model/json/JSONModel.js +6 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +191 -5
- package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +8 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +3 -3
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +3 -2
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
- package/src/sap/ui/model/odata/v2/ODataModel.js +46 -32
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
- package/src/sap/ui/model/odata/v4/Context.js +39 -32
- package/src/sap/ui/model/odata/v4/ODataBinding.js +85 -52
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +23 -19
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +139 -50
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +30 -36
- package/src/sap/ui/model/odata/v4/ODataModel.js +49 -44
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +72 -37
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +34 -29
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +95 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +95 -209
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +168 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +34 -19
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/TestUtils.js +1 -1
- package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
- package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
- package/src/sap/ui/test/matchers/LabelFor.js +1 -0
- package/src/sap/ui/test/matchers/_Visitor.js +6 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
- package/src/sap/ui/thirdparty/qunit-2.js +9 -3
- package/src/sap/ui/util/ActivityDetection.js +7 -1
- package/src/sap/ui/util/Mobile.js +21 -14
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap-ui-boot.js +23 -6
- package/src/ui5-boot.js +50 -0
- package/src/ui5loader-autoconfig.js +150 -75
- package/src/ui5loader.js +458 -514
- package/test/sap/ui/core/Device.js +1 -1
- package/test/sap/ui/core/FormatHelper.js +3 -2
- package/test/sap/ui/core/demokit/docuindex.json +6 -0
- package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
- package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
- package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +70 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
- package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
- package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
- package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
- package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
- package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
- package/test/sap/ui/core/qunit/Theming.qunit.js +247 -0
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +81 -16
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +277 -0
- package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +282 -0
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
- package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
- package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +451 -281
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
- package/test/sap/ui/core/qunit/component/Models.qunit.js +12 -30
- package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
- package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
- package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
- package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
- package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
- package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
- package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
- package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
- package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
- package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
- package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
- package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
- package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +49 -14
- package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +74 -114
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
- package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
- package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
- package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
- package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
- package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
- package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
- package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
- package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
- package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
- package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -9
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
- package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +260 -56
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
- package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +55 -22
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +184 -151
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +60 -30
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +305 -69
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +20 -69
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1282 -255
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +90 -61
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
- package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +151 -1
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +279 -458
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +204 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +145 -26
- package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
- package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
- package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
- package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
- package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
- package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
- package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
- package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
- package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1381 -1570
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
- package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
- package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
- package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
- package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
- package/test/sap/ui/core/relnotes/changes-1.116.json +71 -0
- package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
- package/test/testsuite/js/samples.js +2 -0
- package/ui5.yaml +166 -1
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
- /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
|
|
2
|
-
/* global QUnit */
|
|
2
|
+
/* global sinon QUnit */
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/ui/core/IconPool",
|
|
5
|
+
"sap/ui/core/_IconRegistry",
|
|
5
6
|
"sap/ui/core/Icon",
|
|
7
|
+
"sap/ui/core/Theming",
|
|
6
8
|
"sap/m/Image",
|
|
7
9
|
"sap/base/Log",
|
|
8
10
|
"sap/ui/test/TestUtils",
|
|
9
11
|
"sap/ui/thirdparty/jquery"
|
|
10
|
-
], function(IconPool, Icon, Image, Log, TestUtils, jQuery) {
|
|
12
|
+
], function(IconPool, _IconRegistry, Icon, Theming, Image, Log, TestUtils, jQuery) {
|
|
11
13
|
"use strict";
|
|
12
14
|
|
|
13
15
|
QUnit.config.reorder = false;
|
|
@@ -185,7 +187,7 @@ sap.ui.define([
|
|
|
185
187
|
|
|
186
188
|
IconPool.registerFont({
|
|
187
189
|
fontFamily: sFontFamily,
|
|
188
|
-
fontURI: sap.ui.require.toUrl("sap/tnt/themes/base/fonts")
|
|
190
|
+
fontURI: sap.ui.require.toUrl("sap/tnt/themes/base/fonts/")
|
|
189
191
|
});
|
|
190
192
|
|
|
191
193
|
// insert sap-icons-TNT font
|
|
@@ -200,7 +202,7 @@ sap.ui.define([
|
|
|
200
202
|
|
|
201
203
|
iFontFaceCount = document.fonts.size;
|
|
202
204
|
// insert font again
|
|
203
|
-
IconPool.insertFontFaceStyle(sFontFamily, sap.ui.require.toUrl("sap/tnt/themes/base/fonts"));
|
|
205
|
+
IconPool.insertFontFaceStyle(sFontFamily, sap.ui.require.toUrl("sap/tnt/themes/base/fonts/"));
|
|
204
206
|
assert.equal(document.fonts.size, iFontFaceCount, "No new FontFace is created");
|
|
205
207
|
});
|
|
206
208
|
|
|
@@ -420,6 +422,53 @@ sap.ui.define([
|
|
|
420
422
|
assert.strictEqual(IconPool.fontLoaded("invalid"), undefined, "fontLoaded returns undefined");
|
|
421
423
|
});
|
|
422
424
|
|
|
425
|
+
QUnit.module("Theme dependent Icons", {});
|
|
426
|
+
|
|
427
|
+
QUnit.test("registerFont with SAP-icons-TNT (Horizon Theme)", function(assert) {
|
|
428
|
+
const oInsertFontFaceStyleSpy = sinon.spy(_IconRegistry, "insertFontFaceStyle");
|
|
429
|
+
const oGetThemeStub = sinon.stub(Theming, "getTheme").returns("sap_horizon");
|
|
430
|
+
|
|
431
|
+
IconPool.registerFont({
|
|
432
|
+
collectionName: "my-tnt-icons-horizon",
|
|
433
|
+
fontFamily: "SAP-icons-TNT",
|
|
434
|
+
fontURI: sap.ui.require.toUrl("sap/tnt/themes/base/fonts/")
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
return IconPool.fontLoaded("my-tnt-icons-horizon").then(function() {
|
|
438
|
+
const sExpectedFontURI = sap.ui.require.toUrl("sap/tnt/themes/base/fonts/horizon/");
|
|
439
|
+
assert.ok(oInsertFontFaceStyleSpy.calledWith("SAP-icons-TNT", sExpectedFontURI, "my-tnt-icons-horizon"), "Correct font face inserted.");
|
|
440
|
+
|
|
441
|
+
// restore stubs
|
|
442
|
+
oGetThemeStub.restore();
|
|
443
|
+
oInsertFontFaceStyleSpy.restore();
|
|
444
|
+
});
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
QUnit.test("registerFont with SAP-icons-TNT (switching themes) ", function(assert) {
|
|
448
|
+
// set initial theme so that we enforce a theme change event
|
|
449
|
+
Theming.setTheme("sap_belize");
|
|
450
|
+
|
|
451
|
+
IconPool.registerFont({
|
|
452
|
+
collectionName: "sap-tnt-icons-horizon-2",
|
|
453
|
+
fontFamily: "SAP-icons-TNT",
|
|
454
|
+
fontURI: sap.ui.require.toUrl("sap/tnt/themes/base/fonts/")
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
return new Promise((res, rej) => {
|
|
458
|
+
IconPool.fontLoaded("sap-tnt-icons-horizon-2").then(function() {
|
|
459
|
+
const oInsertFontFaceStyleSpy = sinon.spy(_IconRegistry, "insertFontFaceStyle");
|
|
460
|
+
const sExpectedFontURI = sap.ui.require.toUrl("sap/tnt/themes/base/fonts/horizon/");
|
|
461
|
+
|
|
462
|
+
Theming.attachApplied(() => {
|
|
463
|
+
assert.ok(oInsertFontFaceStyleSpy.calledWith("SAP-icons-TNT", sExpectedFontURI, "sap-tnt-icons-horizon-2"));
|
|
464
|
+
res();
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
Theming.setTheme("sap_horizon");
|
|
468
|
+
});
|
|
469
|
+
});
|
|
470
|
+
});
|
|
471
|
+
|
|
423
472
|
QUnit.module("Sync getIconInfo");
|
|
424
473
|
|
|
425
474
|
QUnit.test("Calling getIconInfo with 'sync' mode on the default icon font returns the result immediately", function(assert) {
|
|
@@ -4,8 +4,10 @@ sap.ui.require([
|
|
|
4
4
|
"sap/base/util/ObjectPath",
|
|
5
5
|
"sap/ui/core/theming/ThemeManager",
|
|
6
6
|
"sap/base/i18n/ResourceBundle",
|
|
7
|
-
"sap/ui/dom/includeScript"
|
|
8
|
-
|
|
7
|
+
"sap/ui/dom/includeScript",
|
|
8
|
+
"sap/base/util/LoaderExtensions",
|
|
9
|
+
"sap/base/Log"
|
|
10
|
+
], function(Library, ObjectPath, ThemeManager, ResourceBundle, includeScript, LoaderExtensions, Log) {
|
|
9
11
|
"use strict";
|
|
10
12
|
|
|
11
13
|
QUnit.module("Instance methods");
|
|
@@ -241,6 +243,57 @@ sap.ui.require([
|
|
|
241
243
|
assert.equal(Object.keys(Library._all(true)).includes(sLibName), true, "The library " + sLibName + " is now listed in Library._all(true) (without considering settings enhancement)");
|
|
242
244
|
});
|
|
243
245
|
|
|
246
|
+
QUnit.test("Static method 'getResourceBundleFor' called on library where manifest.json exists", function(assert) {
|
|
247
|
+
var sLibraryName = "testlibs.resourcebundle.lib1";
|
|
248
|
+
var oResourceBundle = Library.getResourceBundleFor(sLibraryName);
|
|
249
|
+
|
|
250
|
+
assert.ok(oResourceBundle, "Resource bundle can be created successfully");
|
|
251
|
+
assert.equal(oResourceBundle.getText("TITLE1"), "i18n.properties", "The configured resource bundle file in manifest.json is loaded (i18n.properties)");
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
QUnit.test("Static method 'getResourceBundleFor' called on known library where manifest.json does NOT exist", function(assert) {
|
|
255
|
+
var sLibraryName = "testlibs.resourcebundle.lib2";
|
|
256
|
+
|
|
257
|
+
return Library.load({name: sLibraryName}).then(function(oLibrary) {
|
|
258
|
+
var oErrorLogSpy = this.spy(Log, "error");
|
|
259
|
+
var oResourceBundle = Library.getResourceBundleFor(sLibraryName);
|
|
260
|
+
|
|
261
|
+
assert.ok(oResourceBundle, "Resource bundle can be created successfully");
|
|
262
|
+
assert.equal(oResourceBundle.getText("TITLE1"), "messagebundle.properties", "The fallback file 'messagebundle.properties' is loaded because no manifest.json is available for the library");
|
|
263
|
+
assert.equal(oErrorLogSpy.callCount, 0, "The failed request isn't logged");
|
|
264
|
+
|
|
265
|
+
var oLoadResourceSpy = this.spy(LoaderExtensions, "loadResource");
|
|
266
|
+
|
|
267
|
+
// try to get the resource bundle again
|
|
268
|
+
oResourceBundle = Library.getResourceBundleFor(sLibraryName);
|
|
269
|
+
assert.equal(oLoadResourceSpy.callCount, 0, "no further call is done for loading the manifest.json after the previous request failed");
|
|
270
|
+
assert.equal(oErrorLogSpy.callCount, 0, "No new error is logged");
|
|
271
|
+
}.bind(this));
|
|
272
|
+
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
QUnit.test("Static method 'getResourceBundleFor' called on unknown library where manifest.json does NOT exist", function(assert) {
|
|
276
|
+
var sLibraryName = "testlibs.resourcebundle.unknownLib";
|
|
277
|
+
|
|
278
|
+
var oErrorLogSpy = this.spy(Log, "error");
|
|
279
|
+
var oResourceBundle = Library.getResourceBundleFor(sLibraryName);
|
|
280
|
+
|
|
281
|
+
assert.ok(oResourceBundle, "Resource bundle can be created successfully");
|
|
282
|
+
|
|
283
|
+
assert.equal(oErrorLogSpy.callCount, 1, "Error is logged");
|
|
284
|
+
var oExpectedErr = sinon.match.instanceOf(Error).and(sinon.match.has('message', sinon.match(/unknownLib\/manifest.json(?:.)+not(?:.)*loaded/)));
|
|
285
|
+
sinon.assert.calledWith(oErrorLogSpy.getCall(0), oExpectedErr);
|
|
286
|
+
|
|
287
|
+
oErrorLogSpy.reset();
|
|
288
|
+
|
|
289
|
+
var oLoadResourceSpy = this.spy(LoaderExtensions, "loadResource");
|
|
290
|
+
|
|
291
|
+
// try to get the resource bundle again
|
|
292
|
+
oResourceBundle = Library.getResourceBundleFor(sLibraryName);
|
|
293
|
+
assert.equal(oLoadResourceSpy.callCount, 0, "no further call is done for loading the manifest.json after the previous request failed");
|
|
294
|
+
assert.equal(oErrorLogSpy.callCount, 0, "No new error is logged");
|
|
295
|
+
});
|
|
296
|
+
|
|
244
297
|
QUnit.module("Library.js included in custom bundle");
|
|
245
298
|
|
|
246
299
|
/**
|
|
@@ -8,12 +8,13 @@ sap.ui.define([
|
|
|
8
8
|
"sap/m/StandardListItem",
|
|
9
9
|
"sap/m/VBox",
|
|
10
10
|
"sap/ui/core/Control",
|
|
11
|
+
"sap/ui/core/Core",
|
|
11
12
|
"sap/ui/core/Element",
|
|
12
13
|
"sap/ui/core/mvc/XMLView",
|
|
13
14
|
"sap/ui/events/KeyCodes",
|
|
14
15
|
"sap/ui/thirdparty/jquery",
|
|
15
16
|
"sap/ui/qunit/QUnitUtils"
|
|
16
|
-
], function(LocalBusyIndicatorSupport, BusyDialog, Button, List, Slider, StandardListItem, VBox, Control, Element, XMLView, KeyCodes, jQuery, qutils) {
|
|
17
|
+
], function(LocalBusyIndicatorSupport, BusyDialog, Button, List, Slider, StandardListItem, VBox, Control, Core, Element, XMLView, KeyCodes, jQuery, qutils) {
|
|
17
18
|
"use strict";
|
|
18
19
|
|
|
19
20
|
// Checks whether the given DomRef is contained or equals (in) one of the given container
|
|
@@ -113,7 +114,7 @@ sap.ui.define([
|
|
|
113
114
|
this.oFocusAfter = new Button("FocusAfter").placeAt("target1");
|
|
114
115
|
this.oSlider = new Slider().placeAt("target2");
|
|
115
116
|
|
|
116
|
-
|
|
117
|
+
Core.applyChanges();
|
|
117
118
|
},
|
|
118
119
|
|
|
119
120
|
afterEach : function() {
|
|
@@ -285,7 +286,7 @@ sap.ui.define([
|
|
|
285
286
|
|
|
286
287
|
this.oSlider = new Slider().placeAt("target2");
|
|
287
288
|
|
|
288
|
-
|
|
289
|
+
Core.applyChanges();
|
|
289
290
|
},
|
|
290
291
|
|
|
291
292
|
afterEach : function() {
|
|
@@ -382,10 +383,11 @@ sap.ui.define([
|
|
|
382
383
|
definition: '<mvc:View xmlns:mvc="sap.ui.core.mvc" busyIndicatorDelay="0"></mvc:View>'
|
|
383
384
|
}).then(function(myView) {
|
|
384
385
|
myView.placeAt('target1');
|
|
385
|
-
|
|
386
|
+
Core.applyChanges();
|
|
386
387
|
myView.setBusy(true);
|
|
387
388
|
// this rerendering is crucial to test the behavior
|
|
388
|
-
myView.
|
|
389
|
+
myView.invalidate();
|
|
390
|
+
Core.applyChanges();
|
|
389
391
|
setTimeout(function() {
|
|
390
392
|
// assert
|
|
391
393
|
assert.ok(myView.$("busyIndicator").length, "BusyIndicator rendered");
|
|
@@ -445,8 +447,9 @@ sap.ui.define([
|
|
|
445
447
|
this.oButton.placeAt("target1");
|
|
446
448
|
this.oButton.setBusy(true);
|
|
447
449
|
|
|
448
|
-
|
|
450
|
+
Core.applyChanges();
|
|
449
451
|
|
|
452
|
+
// before delegate
|
|
450
453
|
this.oButton.addDelegate({
|
|
451
454
|
onBeforeRendering: function() {
|
|
452
455
|
var oControl = this.getDomRef();
|
|
@@ -460,6 +463,7 @@ sap.ui.define([
|
|
|
460
463
|
}
|
|
461
464
|
}, true, this.oButton);
|
|
462
465
|
|
|
466
|
+
// after delegate
|
|
463
467
|
this.oButton.addDelegate({
|
|
464
468
|
onBeforeRendering: function() {
|
|
465
469
|
var oControl = this.getDomRef();
|
|
@@ -478,14 +482,16 @@ sap.ui.define([
|
|
|
478
482
|
}
|
|
479
483
|
}, false, this.oButton);
|
|
480
484
|
|
|
481
|
-
|
|
485
|
+
// force a rendering
|
|
486
|
+
this.oButton.invalidate();
|
|
487
|
+
Core.applyChanges();
|
|
482
488
|
});
|
|
483
489
|
|
|
484
490
|
QUnit.test("OnAfterRendering", function(assert) {
|
|
485
491
|
var done = assert.async();
|
|
486
492
|
assert.expect(4);
|
|
487
493
|
this.oButton.placeAt("target1");
|
|
488
|
-
|
|
494
|
+
Core.applyChanges();
|
|
489
495
|
var that = this;
|
|
490
496
|
|
|
491
497
|
setTimeout(function() {
|
|
@@ -524,7 +530,7 @@ sap.ui.define([
|
|
|
524
530
|
};
|
|
525
531
|
this.oButton.addDelegate(oOnAfterRenderingDelegate, false, this);
|
|
526
532
|
this.oButton.placeAt("target1");
|
|
527
|
-
|
|
533
|
+
Core.applyChanges();
|
|
528
534
|
var that = this;
|
|
529
535
|
|
|
530
536
|
setTimeout(function() {
|
|
@@ -564,7 +570,7 @@ sap.ui.define([
|
|
|
564
570
|
this.oBtn.addDelegate(this.oDelegate);
|
|
565
571
|
this.oSpy = sinon.spy(this.oDelegate, "onAfterRendering");
|
|
566
572
|
|
|
567
|
-
|
|
573
|
+
Core.applyChanges();
|
|
568
574
|
|
|
569
575
|
setTimeout(function() {
|
|
570
576
|
var $Animation = jQuery(".sapUiLocalBusyIndicatorAnimation");
|
|
@@ -600,7 +606,7 @@ sap.ui.define([
|
|
|
600
606
|
this.oBtn.addDelegate(this.oDelegate);
|
|
601
607
|
this.oSpy = sinon.spy(this.oDelegate, "onAfterRendering");
|
|
602
608
|
|
|
603
|
-
|
|
609
|
+
Core.applyChanges();
|
|
604
610
|
|
|
605
611
|
setTimeout(function() {
|
|
606
612
|
var $Animation = jQuery(".sapUiLocalBusyIndicatorAnimation");
|
|
@@ -636,7 +642,7 @@ sap.ui.define([
|
|
|
636
642
|
busy : true
|
|
637
643
|
}).placeAt("target3");
|
|
638
644
|
|
|
639
|
-
|
|
645
|
+
Core.applyChanges();
|
|
640
646
|
|
|
641
647
|
setTimeout(function() {
|
|
642
648
|
var $Animation = jQuery(".sapUiLocalBusyIndicatorAnimation");
|
|
@@ -687,13 +693,14 @@ sap.ui.define([
|
|
|
687
693
|
}, this.oButton);
|
|
688
694
|
|
|
689
695
|
this.oButton.placeAt("target1");
|
|
690
|
-
|
|
696
|
+
Core.applyChanges();
|
|
691
697
|
this.oButton.setBusy(false);
|
|
692
698
|
// after reset the busy state, the control should be able to react to click event
|
|
693
699
|
this.testClickEventOn(this.oButton, assert);
|
|
694
700
|
|
|
695
|
-
// rerender the control to activate the busy state
|
|
696
|
-
this.oButton.
|
|
701
|
+
// rerender the control to activate the busy state (problem only occurs with 2nd. rendering)
|
|
702
|
+
this.oButton.invalidate();
|
|
703
|
+
Core.applyChanges();
|
|
697
704
|
this.oButton.setBusy(false);
|
|
698
705
|
// after reset the busy state, the control should be able to react to click event
|
|
699
706
|
this.testClickEventOn(this.oButton, assert);
|
|
@@ -2444,7 +2444,7 @@ sap.ui.define([
|
|
|
2444
2444
|
|
|
2445
2445
|
|
|
2446
2446
|
fnTestCase(true, false, true);
|
|
2447
|
-
fnTestCase(false, true,
|
|
2447
|
+
fnTestCase(false, true, false);
|
|
2448
2448
|
fnTestCase(true, true, true);
|
|
2449
2449
|
|
|
2450
2450
|
//only if child and all parents do not suppress invalidate, it should be false
|
|
@@ -2981,10 +2981,12 @@ sap.ui.define([
|
|
|
2981
2981
|
this.obj1.bindProperty("value", "/value");
|
|
2982
2982
|
this.obj2.bindProperty("value", "/value");
|
|
2983
2983
|
|
|
2984
|
-
var
|
|
2984
|
+
var oSpy1 = sinon.spy(this.obj1, "invalidate");
|
|
2985
|
+
var oSpy2 = sinon.spy(this.obj2, "invalidate");
|
|
2985
2986
|
this.obj1.addAggregation("subObjects", this.obj2);
|
|
2986
2987
|
|
|
2987
|
-
assert.equal(
|
|
2988
|
+
assert.equal(oSpy1.callCount, 0, 'invalidation on obj1 must not be called');
|
|
2989
|
+
assert.equal(oSpy2.callCount, 1, 'invalidation on obj2 must be called');
|
|
2988
2990
|
});
|
|
2989
2991
|
|
|
2990
2992
|
QUnit.module("Events", {
|
|
@@ -1002,18 +1002,56 @@ sap.ui.define([
|
|
|
1002
1002
|
this.spy(oBinding3, "checkUpdate");
|
|
1003
1003
|
var fnDone = assert.async();
|
|
1004
1004
|
oModel.checkUpdate(true, true, fnFilter);
|
|
1005
|
-
oModel.checkUpdate(false, true, fnFilter); // to test
|
|
1005
|
+
oModel.checkUpdate(false, true, fnFilter); // to test forceUpdate wins
|
|
1006
1006
|
setTimeout(function() { // wait for Model update
|
|
1007
1007
|
assert.equal(aTrueBindings.length, 1, "The test is called an delivers true for one binding");
|
|
1008
1008
|
assert.deepEqual(aTrueBindings[0], oBinding1, "And this is exactly the first binding");
|
|
1009
|
-
assert.ok(oBinding1.checkUpdate.calledWith(true), "
|
|
1010
|
-
assert.ok(oBinding1.checkUpdate.calledOnce, "
|
|
1011
|
-
assert.notOk(oBinding2.checkUpdate.called, "
|
|
1012
|
-
assert.notOk(oBinding3.checkUpdate.called, "
|
|
1009
|
+
assert.ok(oBinding1.checkUpdate.calledWith(true), "checkUpdate called as forced");
|
|
1010
|
+
assert.ok(oBinding1.checkUpdate.calledOnce, "checkUpdate called only once");
|
|
1011
|
+
assert.notOk(oBinding2.checkUpdate.called, "checkUpdate not called on other Binding");
|
|
1012
|
+
assert.notOk(oBinding3.checkUpdate.called, "checkUpdate not called on other Binding");
|
|
1013
1013
|
fnDone();
|
|
1014
1014
|
}, 0);
|
|
1015
1015
|
});
|
|
1016
1016
|
|
|
1017
|
+
QUnit.test("Check Update with different binding test function async", function (assert) {
|
|
1018
|
+
var aTrueBindings = [];
|
|
1019
|
+
var oModel = this.oManagedObjectModel;
|
|
1020
|
+
var oBinding1 = oModel.bindProperty("/value");
|
|
1021
|
+
var oBinding2 = oModel.bindProperty("/stringValue");
|
|
1022
|
+
var oBinding3 = oModel.bindProperty("/floatValue");
|
|
1023
|
+
oModel.addBinding(oBinding1);
|
|
1024
|
+
oModel.addBinding(oBinding2);
|
|
1025
|
+
oModel.addBinding(oBinding3);
|
|
1026
|
+
|
|
1027
|
+
assert.equal(oModel.getBindings().length, 3, "There are three bindings");
|
|
1028
|
+
|
|
1029
|
+
var fnFilter1 = function (oBinding) {
|
|
1030
|
+
if (oBinding == oBinding1) {
|
|
1031
|
+
aTrueBindings.push(oBinding);
|
|
1032
|
+
return true;
|
|
1033
|
+
}
|
|
1034
|
+
return false;
|
|
1035
|
+
};
|
|
1036
|
+
var fnFilter2 = function (oBinding) {
|
|
1037
|
+
if (oBinding == oBinding2) {
|
|
1038
|
+
aTrueBindings.push(oBinding);
|
|
1039
|
+
return true;
|
|
1040
|
+
}
|
|
1041
|
+
return false;
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1044
|
+
this.spy(oBinding1, "checkUpdate");
|
|
1045
|
+
this.spy(oBinding2, "checkUpdate");
|
|
1046
|
+
this.spy(oBinding3, "checkUpdate");
|
|
1047
|
+
oModel.checkUpdate(true, true, fnFilter1);
|
|
1048
|
+
oModel.checkUpdate(true, true, fnFilter2);
|
|
1049
|
+
oModel.checkUpdate(false, false, fnFilter2);
|
|
1050
|
+
assert.ok(oBinding1.checkUpdate.calledOnce, "checkUpdate called only once");
|
|
1051
|
+
assert.ok(oBinding2.checkUpdate.calledOnce, "checkUpdate called only once");
|
|
1052
|
+
assert.ok(oBinding3.checkUpdate.calledOnce, "checkUpdate called only once");
|
|
1053
|
+
});
|
|
1054
|
+
|
|
1017
1055
|
QUnit.test("ManagedObject Model - handle object properties", function(assert) {
|
|
1018
1056
|
var oData = {value: "A string", text: "A text"};
|
|
1019
1057
|
var oModel = new JSONModel({
|
|
@@ -21,9 +21,12 @@ sap.ui.define([
|
|
|
21
21
|
assert.ok(this.oObject.getInterface === BaseObject.prototype.getInterface, "fresh object doesn't have own getInterface implementation");
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated
|
|
26
|
+
*/
|
|
24
27
|
QUnit.test("GetInterface", function(assert) {
|
|
25
28
|
var oIntf1 = this.oNewClassInstance.getInterface();
|
|
26
|
-
assert.ok(oIntf1
|
|
29
|
+
assert.ok(oIntf1 != null, "interface returned");
|
|
27
30
|
// assert("object has interface member", this.oObject.oInterface && typeof this.oObject.oInterface === "object" );
|
|
28
31
|
assert.ok(this.oNewClassInstance.getInterface !== BaseObject.prototype.getInterface, "object has own getInterface implementation");
|
|
29
32
|
var oIntf2 = this.oNewClassInstance.getInterface();
|
|
@@ -164,7 +164,7 @@ sap.ui.define([
|
|
|
164
164
|
};
|
|
165
165
|
var checkLoadedCss = function () {
|
|
166
166
|
var aAllThemeLinksForLibs = document.querySelectorAll("link[id^=sap-ui-theme]");
|
|
167
|
-
var aCustomCssLink = document.querySelectorAll("link[id=
|
|
167
|
+
var aCustomCssLink = document.querySelectorAll("link[id=sap-ui-core-customcss]");
|
|
168
168
|
aAllThemeLinksForLibs.forEach(function ($link) {
|
|
169
169
|
// Depending on order of test execution there could be more link tags as expected by this test
|
|
170
170
|
// Only do asserts here for the expected link tags and check for complete test execution by assert.expect
|
|
@@ -175,7 +175,7 @@ sap.ui.define([
|
|
|
175
175
|
assert.ok(aCustomCssLink[0].getAttribute("href")
|
|
176
176
|
.endsWith("/libraries/customCss/sap/ui/core/themes/customTheme/custom.css"), "URI of custom.css link tag is correct");
|
|
177
177
|
};
|
|
178
|
-
|
|
178
|
+
sap.ui.getCore().applyTheme("customTheme");
|
|
179
179
|
|
|
180
180
|
return themeApplied().then(function () {
|
|
181
181
|
return sap.ui.getCore().loadLibrary("testlibs.customCss.lib1", true).then(function () {
|
|
@@ -12,7 +12,9 @@ sap.ui.define([
|
|
|
12
12
|
"use strict";
|
|
13
13
|
|
|
14
14
|
QUnit.module("Parmeters.get", {
|
|
15
|
-
|
|
15
|
+
before: function() {
|
|
16
|
+
// For some reasons window.performance.getResourceByType does only return the first 250?!
|
|
17
|
+
// entries therefore clear the resource timings upfront
|
|
16
18
|
window.performance.clearResourceTimings();
|
|
17
19
|
}
|
|
18
20
|
});
|
|
@@ -83,7 +85,9 @@ sap.ui.define([
|
|
|
83
85
|
}
|
|
84
86
|
|
|
85
87
|
QUnit.module("Parmeters.get (sync)", {
|
|
86
|
-
|
|
88
|
+
before: function() {
|
|
89
|
+
// For some reasons window.performance.getResourceByType does only return the first 250?!
|
|
90
|
+
// entries therefore clear the resource timings upfront
|
|
87
91
|
window.performance.clearResourceTimings();
|
|
88
92
|
}
|
|
89
93
|
});
|
|
@@ -405,7 +409,9 @@ sap.ui.define([
|
|
|
405
409
|
});
|
|
406
410
|
|
|
407
411
|
QUnit.module("Parmeters.get (async)", {
|
|
408
|
-
|
|
412
|
+
before: function() {
|
|
413
|
+
// For some reasons window.performance.getResourceByType does only return the first 250?!
|
|
414
|
+
// entries therefore clear the resource timings upfront
|
|
409
415
|
window.performance.clearResourceTimings();
|
|
410
416
|
}
|
|
411
417
|
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* global sinon */
|
|
2
|
+
sap.ui.define(["sap/ui/core/Lib"], function(Lib) {
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
var oStub = sinon.stub(Lib, "init").callsFake(function(mSettings) {
|
|
6
|
+
// Stub Library.init to always set noLibraryCSS to true in order
|
|
7
|
+
// to avoid activation of ThemeManager
|
|
8
|
+
// This allows to test future scenarios, where theming is not
|
|
9
|
+
// necessarily loaded
|
|
10
|
+
mSettings.noLibraryCSS = true;
|
|
11
|
+
return oStub.wrappedMethod.call(this, mSettings);
|
|
12
|
+
});
|
|
13
|
+
});
|