@openui5/sap.ui.core 1.120.9 → 1.120.11
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/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.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- 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/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +11 -5
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +5 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- 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/core/.library +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +31 -3
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +19 -3
- package/src/sap/ui/core/Core.js +1 -1
- 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 +28 -3
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- 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/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- 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/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.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/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/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +4 -4
- 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/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- 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/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/Controller.js +42 -7
- 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 +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- 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/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 +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- 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/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +59 -65
- package/src/sap/ui/core/util/_LocalizationHelper.js +2 -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/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.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/model/ClientModel.js +1 -1
- 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/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -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 +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- 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 +1 -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 +1 -1
- 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 +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +36 -24
- 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/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/_enforceNoReturnValue.js +27 -0
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/EventProvider.qunit.js +30 -2
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +45 -3
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +8 -4
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -4
- package/test/sap/ui/core/qunit/app/fixture/designmode/test01.controller.js +4 -4
- package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +33 -2
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/App.view.xml +3 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Component.js +20 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Home.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Other.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/manifest.json +54 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +104 -49
- package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +7 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +34 -19
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +137 -26
- package/test/sap/ui/core/relnotes/changes-1.120.json +27 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/*global QUnit */
|
|
1
|
+
/*global QUnit sinon */
|
|
2
2
|
sap.ui.define([
|
|
3
|
+
"sap/base/Log",
|
|
3
4
|
"sap/ui/base/EventProvider"
|
|
4
|
-
], function(EventProvider) {
|
|
5
|
+
], function(Log, EventProvider) {
|
|
5
6
|
"use strict";
|
|
6
7
|
|
|
7
8
|
QUnit.test("InitialObject", function(assert) {
|
|
@@ -381,4 +382,31 @@ sap.ui.define([
|
|
|
381
382
|
assert.equal(iCount, 3, "Handler is called three times");
|
|
382
383
|
});
|
|
383
384
|
|
|
385
|
+
QUnit.test("FireEvent with Async Listener", async (assert) => {
|
|
386
|
+
const oEventProvider = new EventProvider();
|
|
387
|
+
const aPromises = [];
|
|
388
|
+
|
|
389
|
+
const myPromiseFunction = () => {
|
|
390
|
+
const oPromise = Promise.reject(new Error("Function failed."));
|
|
391
|
+
aPromises.push(oPromise);
|
|
392
|
+
return oPromise;
|
|
393
|
+
};
|
|
394
|
+
const myAsyncFunction = async () => {
|
|
395
|
+
const oPromise = Promise.reject(new Error("Async function failed."));
|
|
396
|
+
aPromises.push(oPromise);
|
|
397
|
+
await oPromise;
|
|
398
|
+
};
|
|
399
|
+
|
|
400
|
+
const myLogSpy = sinon.spy(Log, "error");
|
|
401
|
+
oEventProvider.attachEvent("MyEvent1", myPromiseFunction);
|
|
402
|
+
oEventProvider.attachEvent("MyEvent2", myAsyncFunction);
|
|
403
|
+
oEventProvider.fireEvent("MyEvent1");
|
|
404
|
+
oEventProvider.fireEvent("MyEvent2");
|
|
405
|
+
|
|
406
|
+
await Promise.allSettled(aPromises).then(() => {
|
|
407
|
+
assert.equal(myLogSpy.callCount, 2, "Error log should be displayed");
|
|
408
|
+
assert.ok(myLogSpy.getCall(0).calledWith("EventProvider.fireEvent: Event Listener for event 'MyEvent1' failed during execution."), "Correct Error Log displayed.");
|
|
409
|
+
assert.ok(myLogSpy.getCall(1).calledWith("EventProvider.fireEvent: Event Listener for event 'MyEvent2' failed during execution."), "Correct Error Log displayed.");
|
|
410
|
+
});
|
|
411
|
+
});
|
|
384
412
|
});
|
|
@@ -16,8 +16,9 @@ sap.ui.define([
|
|
|
16
16
|
"sap/ui/base/ManagedObjectMetadata",
|
|
17
17
|
"sap/base/strings/escapeRegExp",
|
|
18
18
|
"sap/base/util/isEmptyObject",
|
|
19
|
-
"sap/base/util/ObjectPath"
|
|
20
|
-
|
|
19
|
+
"sap/base/util/ObjectPath",
|
|
20
|
+
"sap/base/Log"
|
|
21
|
+
], function(BindingInfo, BindingParser, DataType, ManagedObject, Element, JSONModel, Context, ManagedObjectModel, StringType, Control, Component, UIComponent, Sorter, ManagedObjectMetadata, escapeRegExp, isEmptyObject, ObjectPath, Log) {
|
|
21
22
|
"use strict";
|
|
22
23
|
var mObjects = {};
|
|
23
24
|
|
|
@@ -3260,4 +3261,45 @@ sap.ui.define([
|
|
|
3260
3261
|
done();
|
|
3261
3262
|
});
|
|
3262
3263
|
});
|
|
3263
|
-
|
|
3264
|
+
|
|
3265
|
+
QUnit.module("init/exit");
|
|
3266
|
+
|
|
3267
|
+
QUnit.test("Ensure that hooks do not return a value", async function (assert) {
|
|
3268
|
+
const oErrorLogSpy = sinon.spy(Log, "error");
|
|
3269
|
+
const aPromises = [];
|
|
3270
|
+
|
|
3271
|
+
const MySampleManagedObject = ManagedObject.extend("sap.ui.core.MySampleManagedObject", {
|
|
3272
|
+
metadata: {
|
|
3273
|
+
properties: {
|
|
3274
|
+
name: { type: "string", defaultValue: "hello" }
|
|
3275
|
+
}
|
|
3276
|
+
},
|
|
3277
|
+
init: function () {
|
|
3278
|
+
return "init() shouldn't return a value.";
|
|
3279
|
+
},
|
|
3280
|
+
exit: async function () {
|
|
3281
|
+
const oPromise = Promise.reject(new Error("exit() failed."));
|
|
3282
|
+
aPromises.push(oPromise);
|
|
3283
|
+
await oPromise;
|
|
3284
|
+
}
|
|
3285
|
+
});
|
|
3286
|
+
|
|
3287
|
+
// init
|
|
3288
|
+
const oMySample = new MySampleManagedObject();
|
|
3289
|
+
assert.ok(oErrorLogSpy.getCall(0).calledWith("[FUTURE FATAL] The registered Event Listener 'init' must not have a return value."), "init() should be logged correctly.");
|
|
3290
|
+
|
|
3291
|
+
// exit
|
|
3292
|
+
oMySample.destroy();
|
|
3293
|
+
|
|
3294
|
+
await Promise.allSettled(aPromises);
|
|
3295
|
+
assert.ok(oErrorLogSpy.getCall(1).calledWith("[FUTURE FATAL] The registered Event Listener 'exit' must not have a return value."), "exit() should be logged correctly.");
|
|
3296
|
+
|
|
3297
|
+
/**
|
|
3298
|
+
* @deprecated
|
|
3299
|
+
*/
|
|
3300
|
+
await Promise.resolve(() => {
|
|
3301
|
+
assert.ok(oErrorLogSpy.getCall(2).calledWith("The registered Event Listener 'exit' of '__object0' failed."), "Promise rejection caught successfully.");
|
|
3302
|
+
});
|
|
3303
|
+
oErrorLogSpy.restore();
|
|
3304
|
+
});
|
|
3305
|
+
});
|
|
@@ -23,10 +23,14 @@ sap.ui.define([
|
|
|
23
23
|
var oController = oView.getController();
|
|
24
24
|
|
|
25
25
|
//check lifecycle hooks
|
|
26
|
-
|
|
27
|
-
assert.equal(oController.
|
|
28
|
-
|
|
29
|
-
assert.equal(oController.
|
|
26
|
+
oController.onInit();
|
|
27
|
+
assert.equal(oController._onInitCalled, true, "Controller method implementation was not replaced");
|
|
28
|
+
oController.onExit();
|
|
29
|
+
assert.equal(oController._onExitCalled, true, "Controller method implementation was not replaced");
|
|
30
|
+
oController.onBeforeRendering();
|
|
31
|
+
assert.equal(oController._onBeforeRenderingCalled, true, "Controller method implementation was not replaced");
|
|
32
|
+
oController.onAfterRendering();
|
|
33
|
+
assert.equal(oController._onAfterRenderingCalled, true, "Controller method implementation was not replaced");
|
|
30
34
|
|
|
31
35
|
//other methods
|
|
32
36
|
assert.equal(oController.method1(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
|
|
@@ -78,10 +78,14 @@ sap.ui.define([
|
|
|
78
78
|
var oController = oView.getController();
|
|
79
79
|
|
|
80
80
|
//check lifecycle hooks
|
|
81
|
-
|
|
82
|
-
assert.equal(oController.
|
|
83
|
-
|
|
84
|
-
assert.equal(oController.
|
|
81
|
+
oController.onInit();
|
|
82
|
+
assert.equal(oController._onInitCalled, true, "Controller method implementation was not replaced");
|
|
83
|
+
oController.onExit();
|
|
84
|
+
assert.equal(oController._onExitCalled, true, "Controller method implementation was not replaced");
|
|
85
|
+
oController.onBeforeRendering();
|
|
86
|
+
assert.equal(oController._onBeforeRenderingCalled, true, "Controller method implementation was not replaced");
|
|
87
|
+
oController.onAfterRendering();
|
|
88
|
+
assert.equal(oController._onAfterRenderingCalled, true, "Controller method implementation was not replaced");
|
|
85
89
|
|
|
86
90
|
//other methods
|
|
87
91
|
assert.equal(oController.method1(), "aString", "Controller method has a return, i.e. method implementation was not replaced");
|
|
@@ -6,19 +6,19 @@ sap.ui.define([
|
|
|
6
6
|
|
|
7
7
|
// lifecycle hooks
|
|
8
8
|
onInit : function() {
|
|
9
|
-
|
|
9
|
+
this._onInitCalled = true;
|
|
10
10
|
},
|
|
11
11
|
|
|
12
12
|
onExit : function(){
|
|
13
|
-
|
|
13
|
+
this._onExitCalled = true;
|
|
14
14
|
},
|
|
15
15
|
|
|
16
16
|
onBeforeRendering : function(){
|
|
17
|
-
|
|
17
|
+
this._onBeforeRenderingCalled = true;
|
|
18
18
|
},
|
|
19
19
|
|
|
20
20
|
onAfterRendering : function(){
|
|
21
|
-
|
|
21
|
+
this._onAfterRenderingCalled = true;
|
|
22
22
|
},
|
|
23
23
|
|
|
24
24
|
//other methods
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
sap.ui.define([
|
|
2
|
+
"sap/base/Log",
|
|
2
3
|
"sap/ui/core/Component"
|
|
3
|
-
], function (Component) {
|
|
4
|
+
], function (Log, Component) {
|
|
4
5
|
"use strict";
|
|
5
6
|
/*global QUnit, sinon*/
|
|
6
7
|
|
|
@@ -600,4 +601,34 @@ sap.ui.define([
|
|
|
600
601
|
});
|
|
601
602
|
});
|
|
602
603
|
});
|
|
603
|
-
|
|
604
|
+
|
|
605
|
+
QUnit.test("'onActivate/onDeactivate' should not return a value", async function(assert) {
|
|
606
|
+
window.aPromises = []; // see testdata.keepAlive.child3.Component.js
|
|
607
|
+
const oComponent = await Component.create({
|
|
608
|
+
id: "component",
|
|
609
|
+
name: "testdata.keepAlive.child3"
|
|
610
|
+
});
|
|
611
|
+
|
|
612
|
+
await fnWaitUntilHomeRouteMatched(oComponent);
|
|
613
|
+
assert.ok(oComponent.isActive(), "Component: Initially, the component is active");
|
|
614
|
+
|
|
615
|
+
const oErrorLogSpy = sinon.spy(Log, "error");
|
|
616
|
+
oComponent.deactivate();
|
|
617
|
+
await Promise.allSettled(window.aPromises);
|
|
618
|
+
assert.notOk(oComponent.isActive(), "Component: The component is not active after deactivate()");
|
|
619
|
+
assert.ok(oErrorLogSpy.getCall(0).calledWith("[FUTURE FATAL] The registered Event Listener 'onDeactivate' must not have a return value."), "The 'onDeactivate' should not return a value.");
|
|
620
|
+
assert.ok(oErrorLogSpy.getCall(1).calledWith("The registered Event Listener 'onDeactivate' of 'component' failed."), "The rejected Promise is caught successfully");
|
|
621
|
+
|
|
622
|
+
oComponent.activate();
|
|
623
|
+
assert.ok(oComponent.isActive(), "Component: The component is active after activate()");
|
|
624
|
+
assert.ok(oErrorLogSpy.getCall(2).calledWith("[FUTURE FATAL] The registered Event Listener 'onActivate' must not have a return value."), "The 'onActivate' should not return a value.");
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* @deprecated
|
|
628
|
+
*/
|
|
629
|
+
await Promise.resolve(() => {
|
|
630
|
+
assert.ok(oErrorLogSpy.getCall(3).calledWith("The registered Event Listener 'onDeactivate' of 'component' failed."), "The rejected Promise is caught successfully");
|
|
631
|
+
});
|
|
632
|
+
oErrorLogSpy.restore();
|
|
633
|
+
});
|
|
634
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
sap.ui.define(["sap/ui/core/UIComponent"], function (UIComponent) {
|
|
2
|
+
"use strict";
|
|
3
|
+
return UIComponent.extend("testdata.keepAlive.child3.Component", {
|
|
4
|
+
metadata: {
|
|
5
|
+
manifest: "json"
|
|
6
|
+
},
|
|
7
|
+
init: function(){
|
|
8
|
+
UIComponent.prototype.init.apply(this, arguments);
|
|
9
|
+
this.getRouter().initialize();
|
|
10
|
+
},
|
|
11
|
+
onActivate: function() {
|
|
12
|
+
return "'onActivate' should not return a value.";
|
|
13
|
+
},
|
|
14
|
+
onDeactivate: async function() {
|
|
15
|
+
const oPromise = Promise.reject(new Error("'onDeactivate' failed."));
|
|
16
|
+
window.aPromises?.push(oPromise);
|
|
17
|
+
await oPromise;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"sap.app": {
|
|
3
|
+
"id": "testdata.keepAlive.child3"
|
|
4
|
+
},
|
|
5
|
+
"sap.ui5": {
|
|
6
|
+
"keepAlive": {
|
|
7
|
+
"supported": true
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"libs": {}
|
|
11
|
+
},
|
|
12
|
+
"rootView": {
|
|
13
|
+
"viewName": "testdata.keepAlive.child3.App",
|
|
14
|
+
"type": "XML",
|
|
15
|
+
"async": true,
|
|
16
|
+
"id": "appView"
|
|
17
|
+
},
|
|
18
|
+
"routing": {
|
|
19
|
+
"config": {
|
|
20
|
+
"routerClass": "sap.m.routing.Router",
|
|
21
|
+
"viewType": "XML",
|
|
22
|
+
"path": "testdata.keepAlive.child3",
|
|
23
|
+
"controlId": "app",
|
|
24
|
+
"controlAggregation": "pages",
|
|
25
|
+
"transition": "slide",
|
|
26
|
+
"async": true
|
|
27
|
+
},
|
|
28
|
+
"routes": [
|
|
29
|
+
{
|
|
30
|
+
"name": "home",
|
|
31
|
+
"pattern": "",
|
|
32
|
+
"target": "homeTarget"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "other",
|
|
36
|
+
"pattern": "other",
|
|
37
|
+
"target": "otherTarget"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"targets": {
|
|
41
|
+
"homeTarget": {
|
|
42
|
+
"type": "View",
|
|
43
|
+
"id": "homeView",
|
|
44
|
+
"name": "Home"
|
|
45
|
+
},
|
|
46
|
+
"otherTarget": {
|
|
47
|
+
"type": "View",
|
|
48
|
+
"id": "otherView",
|
|
49
|
+
"name": "Other"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|