@openui5/sap.ui.core 1.122.1 → 1.123.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dtsgenrc +7 -1
- package/.eslintrc.json +3 -0
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -17
- 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/future.js +3 -1
- package/src/sap/base/i18n/Formatting.js +119 -94
- 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 +7 -4
- package/src/sap/ui/base/BindingInfo.js +22 -0
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +5 -14
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +15 -14
- 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 +17 -16
- 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 +53 -18
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +58 -21
- 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 +1 -1
- 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 +6 -2
- package/src/sap/ui/core/Fragment.js +10 -5
- 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 +37 -21
- 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 +7 -1
- package/src/sap/ui/core/Renderer.js +4 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +2 -2
- 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 +37 -47
- 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 +12 -0
- package/src/sap/ui/core/_IconRegistry.js +1 -0
- 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 +2 -2
- 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/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +28 -3
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +6 -2
- 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/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 +12 -7
- 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/rules/CoreHelper.support.js +2 -3
- package/src/sap/ui/core/rules/Misc.support.js +3 -12
- package/src/sap/ui/core/rules/Theming.support.js +5 -9
- 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 -20
- 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/themes/base/.theming +3 -1
- 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 +5 -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 +2 -2
- package/src/sap/ui/core/util/ExportCell.js +2 -2
- package/src/sap/ui/core/util/ExportColumn.js +2 -2
- package/src/sap/ui/core/util/ExportRow.js +2 -2
- package/src/sap/ui/core/util/ExportType.js +2 -2
- package/src/sap/ui/core/util/ExportTypeCSV.js +2 -2
- 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 +8 -13
- 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/dom/jquery/Aria.js +19 -0
- package/src/sap/ui/events/jquery/EventExtension.js +4 -3
- 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 +4 -4
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +22 -33
- 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/analytics/AnalyticalVersionInfo.js +1 -1
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +7 -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/AnnotationHelper.js +11 -8
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataExpressionAddons.js +21 -0
- 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 +17 -48
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +2 -0
- package/src/sap/ui/model/odata/v4/Context.js +66 -22
- package/src/sap/ui/model/odata/v4/ODataBinding.js +10 -11
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +207 -180
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +75 -52
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +9 -11
- package/src/sap/ui/model/odata/v4/ODataModel.js +34 -35
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -9
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +20 -8
- package/src/sap/ui/model/odata/v4/SubmitMode.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +126 -46
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +56 -11
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +21 -34
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +16 -27
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -6
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +6 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +49 -38
- package/src/sap/ui/model/odata/v4/lib/_TreeState.js +75 -24
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +3 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +4 -12
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.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 +48 -4
- 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 +5 -4
- 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 +4 -1
- package/src/sap/ui/test/ModuleTracking.js +46 -0
- package/src/sap/ui/test/OpaBuilder.js +19 -19
- package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +39 -6
- 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 +3 -1
- package/src/ui5loader-autoconfig.js +22 -16
- package/src/ui5loader.js +38 -1
- package/test/sap/ui/core/demokit/docuindex.json +17 -6
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/Controller.controller.js +30 -47
- package/test/sap/ui/core/demokit/sample/Messaging/BasicMessages/MessagePopover.fragment.xml +13 -0
- package/test/sap/ui/core/demokit/sample/Messaging/BasicMessages/View.view.xml +135 -0
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicMessages/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/Controller.controller.js +58 -0
- package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/MessagePopover.fragment.xml +13 -0
- package/test/sap/ui/core/demokit/sample/Messaging/BasicODataMessages/View.view.xml +57 -0
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/mockserver.js +11 -13
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/manifest.json +2 -2
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/manifest.json +2 -1
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/package.json +1 -1
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/Component.js +2 -2
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/App.controller.js +12 -0
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/BaseController.js +41 -0
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +54 -0
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/controller/NotFound.controller.js +9 -11
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/fragment/MessagePopover.fragment.xml +13 -0
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/i18n/i18n.properties +9 -0
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/index.html +20 -0
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/index.js +16 -0
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockserver.js +27 -27
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/manifest.json +7 -4
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/view/App.view.xml +1 -1
- package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/view/Employee.view.xml +6 -6
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/webapp/view/NotFound.view.xml +13 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Types.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/common/Helper.js +8 -9
- package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +1 -1
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/GherkinTestRunner.html +2 -2
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/GherkinTestRunner.html +2 -2
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/GherkinTestRunner.html +2 -2
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/Steps.js +4 -5
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithUIComponent/GherkinTestRunner.html +2 -2
- 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/sample/odata/v2/AutoExpand/AutoExpand.view.xml +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Main.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/ObjectPage.controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/MIT.ListBinding.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.controller.js +5 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Main.view.xml +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/MIT.ListBindingTemplate.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +6 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/ObjectPage.controller.js +5 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/MIT.Products.html +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/pages/Main.js +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +27 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/MIT.SalesOrderTP100.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/MIT.SalesOrderTP100.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.Basics.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderAdditionalTargets.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreate.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreateMultiple.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderCreateRelative.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/MIT.SalesOrderMessageHandling.html +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +7 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/MessageHandling.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/MIT.RTA.html +2 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/MIT.SalesOrdersTemplate.html +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/MIT.Sticky.html +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/pages/Main.js +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/06/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +1 -1
- package/test/sap/ui/core/qunit/CustomStyleClassSupport.qunit.js +12 -3
- package/test/sap/ui/core/qunit/CustomThemeFallback.qunit.js +33 -38
- package/test/sap/ui/core/qunit/CustomThemeFallback_unavoidablySync.qunit.js +119 -0
- package/test/sap/ui/core/qunit/EventBus.qunit.js +15 -0
- package/test/sap/ui/core/qunit/Lib_terminologies.qunit.js +109 -0
- package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.qunit.js +19 -0
- package/test/sap/ui/core/qunit/StashedControlSupport_unavoidablySync.view.xml +27 -0
- package/test/sap/ui/core/qunit/app/ThemeClassParameters.qunit.js +105 -140
- package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +75 -2
- package/test/sap/ui/core/qunit/base/Config.qunit.js +6 -2
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.html +4 -1
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.js +6 -2
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +6 -3
- package/test/sap/ui/core/qunit/base/Config_global.qunit.html +5 -2
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +5 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.html +5 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.js +5 -1
- package/test/sap/ui/core/qunit/base/Config_url.qunit.html +5 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery-without-jquery-ui-position.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithNoJQuery.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/DebugMode.beforeBootstrap.qunit.js +7 -0
- package/test/sap/ui/core/qunit/bootstrap/DebugModeAsync.qunit.html +10 -4
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +7 -0
- package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +9 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.html +2 -2
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.html +2 -2
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.html +2 -2
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +2 -2
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +2 -2
- package/test/sap/ui/core/qunit/gherkin/testHarnessTests.js +1 -1
- package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +1 -1
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +15 -15
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
- package/test/sap/ui/core/qunit/loader/config.qunit.js +14 -6
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +288 -0
- package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +12 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +7 -2
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +225 -40
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBinding.qunit.js +78 -7
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +142 -17
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +93 -87
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +116 -86
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1828 -548
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +26 -23
- package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +9 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +251 -113
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +50 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +31 -11
- package/test/sap/ui/core/qunit/odata/v4/lib/_Parser.qunit.js +8 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +46 -31
- package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +144 -45
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +5 -5
- package/test/sap/ui/core/qunit/odata/v4/lib/data/v2/QM_INSP_PLAN_SRV/metadata.xml +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/data/v2/QM_INSP_PLAN_SRV/metadata_only.xml +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +82 -0
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/i18n/i18n_fr.properties +1 -0
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/i18n/terminologies/oil/i18n_fr.properties +2 -0
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/simple/library-preload.js +2 -2
- package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/themes/sap_hcb/library.css +3 -0
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +19 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +14 -0
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +37 -20
- package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +21 -0
- package/test/sap/ui/core/qunit/types/Types.qunit.js +126 -15
- package/test/sap/ui/core/qunit/ui5classes/ManagedObject.qunit.js +58 -4
- package/test/sap/ui/core/relnotes/changes-1.122.json +0 -22
- package/test/sap/ui/core/relnotes/changes-1.123.json +47 -0
- package/test/sap/ui/core/samples/databinding/DataBindingDeclarativeSyntax.js +55 -56
- package/test/sap/ui/core/samples/databinding/DatabindingDeclarativeSyntax.html +4 -4
- 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/testsuite/js/testfwk.js +47 -64
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/MessagePopover.fragment.xml +0 -13
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicMessages/View.view.xml +0 -136
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/Controller.controller.js +0 -74
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/MessagePopover.fragment.xml +0 -13
- package/test/sap/ui/core/demokit/sample/MessageManager/BasicODataMessages/View.view.xml +0 -58
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +0 -11
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/App.controller.js +0 -14
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/BaseController.js +0 -55
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/controller/Employee.controller.js +0 -56
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/fragment/MessagePopover.fragment.xml +0 -13
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/i18n/i18n.properties +0 -5
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/index.html +0 -42
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/webapp/view/NotFound.view.xml +0 -11
- package/test/sap/ui/core/qunit/app/beforeBootstrap.js +0 -19
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +0 -24
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/metadata.xml +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/mockdata/Employees.json +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/BasicODataMessages/localService/response/ODataErrorResponse.json +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/metadata.xml +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockdata/Employees.json +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/mockdata/Employees_3.json +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/response/ODataErrorResponseTemplate.json +0 -0
- /package/test/sap/ui/core/demokit/sample/{MessageManager → Messaging}/ODataBackendMessagesComp/webapp/localService/response/SAP-Message-Header.json +0 -0
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
this.oModel = new ODataModel({serviceUrl : "/service/?sap-client=111"});
|
|
37
37
|
this.oModel.bSharedRequests = {/*false,true*/};
|
|
38
38
|
this.oRequestorMock = this.mock(this.oModel.oRequestor);
|
|
39
|
-
// ensure that the requestor does not
|
|
39
|
+
// ensure that the requestor does not invoke requests
|
|
40
40
|
this.oRequestorMock.expects("request").never();
|
|
41
41
|
// avoid that the cache requests actual metadata for faked responses
|
|
42
42
|
this.mock(this.oModel.oRequestor.oModelInterface)
|
|
@@ -273,7 +273,7 @@ sap.ui.define([
|
|
|
273
273
|
});
|
|
274
274
|
this.mock(oBinding).expects("refreshInternal").never();
|
|
275
275
|
this.mock(oBinding).expects("checkUpdate").never();
|
|
276
|
-
this.mock(oBinding).expects("
|
|
276
|
+
this.mock(oBinding).expects("invoke").never();
|
|
277
277
|
|
|
278
278
|
// code under test
|
|
279
279
|
oBinding.applyParameters(mParameters);
|
|
@@ -291,7 +291,7 @@ sap.ui.define([
|
|
|
291
291
|
QUnit.test(sTitle, function (assert) {
|
|
292
292
|
var oBinding = this.bindContext("/OperationImport(...)"),
|
|
293
293
|
oBindingMock = this.mock(oBinding),
|
|
294
|
-
|
|
294
|
+
bInvokeOperation = !bSuspended && bAction === false,
|
|
295
295
|
oError = new Error(),
|
|
296
296
|
oModelMock = this.mock(this.oModel),
|
|
297
297
|
mParameters = {},
|
|
@@ -307,9 +307,9 @@ sap.ui.define([
|
|
|
307
307
|
oBindingMock.expects("fetchCache").never();
|
|
308
308
|
oBindingMock.expects("refreshInternal").never();
|
|
309
309
|
oBindingMock.expects("checkUpdate").never();
|
|
310
|
-
oBindingMock.expects("
|
|
310
|
+
oBindingMock.expects("invoke").exactly(bInvokeOperation ? 1 : 0)
|
|
311
311
|
.withExactArgs().returns(oPromise);
|
|
312
|
-
oModelMock.expects("getReporter").exactly(
|
|
312
|
+
oModelMock.expects("getReporter").exactly(bInvokeOperation ? 1 : 0)
|
|
313
313
|
.withExactArgs().returns(fnReporter);
|
|
314
314
|
// code under test (as called by ODataParentBinding#changeParameters)
|
|
315
315
|
oBinding.applyParameters(mParameters, ChangeReason.Filter);
|
|
@@ -319,7 +319,7 @@ sap.ui.define([
|
|
|
319
319
|
assert.strictEqual(oBinding.sResumeChangeReason, undefined);
|
|
320
320
|
|
|
321
321
|
return oPromise.catch(function () {
|
|
322
|
-
if (
|
|
322
|
+
if (bInvokeOperation) {
|
|
323
323
|
sinon.assert.calledOnceWithExactly(fnReporter, sinon.match.same(oError));
|
|
324
324
|
}
|
|
325
325
|
});
|
|
@@ -353,7 +353,7 @@ sap.ui.define([
|
|
|
353
353
|
oModelMock.expects("getReporter").withExactArgs().returns(fnReporter);
|
|
354
354
|
}
|
|
355
355
|
oBindingMock.expects("checkUpdate").never();
|
|
356
|
-
oBindingMock.expects("
|
|
356
|
+
oBindingMock.expects("invoke").never();
|
|
357
357
|
|
|
358
358
|
// code under test (as called by ODataParentBinding#changeParameters)
|
|
359
359
|
oBinding.applyParameters(mParameters, ChangeReason.Change);
|
|
@@ -694,7 +694,7 @@ sap.ui.define([
|
|
|
694
694
|
oBindingMock.expects("fireDataReceived").withExactArgs({data : {}}, null);
|
|
695
695
|
this.mock(oGroupLock1).expects("unlock").withExactArgs(true);
|
|
696
696
|
|
|
697
|
-
//
|
|
697
|
+
// invoke read before refresh
|
|
698
698
|
oPromise = oBinding.fetchValue("/EMPLOYEES(ID='1')/ID").then(function () {
|
|
699
699
|
assert.ok(false, "First read has to be canceled");
|
|
700
700
|
}, function (oError1) {
|
|
@@ -1222,7 +1222,13 @@ sap.ui.define([
|
|
|
1222
1222
|
});
|
|
1223
1223
|
|
|
1224
1224
|
//*********************************************************************************************
|
|
1225
|
-
QUnit.test("execute
|
|
1225
|
+
QUnit.test("execute", function (assert) {
|
|
1226
|
+
assert.strictEqual(ODataContextBinding.prototype.execute,
|
|
1227
|
+
ODataContextBinding.prototype.invoke);
|
|
1228
|
+
});
|
|
1229
|
+
|
|
1230
|
+
//*********************************************************************************************
|
|
1231
|
+
QUnit.test("invoke: absolute", function (assert) {
|
|
1226
1232
|
var sPath = "/OperationImport(...)",
|
|
1227
1233
|
oBinding,
|
|
1228
1234
|
oGroupLock = {},
|
|
@@ -1238,20 +1244,20 @@ sap.ui.define([
|
|
|
1238
1244
|
this.mock(_Helper).expects("publicClone")
|
|
1239
1245
|
.withExactArgs(sinon.match.same(oBinding.oOperation.mParameters), true)
|
|
1240
1246
|
.returns(mParameters);
|
|
1241
|
-
this.mock(oBinding).expects("
|
|
1247
|
+
this.mock(oBinding).expects("_invoke")
|
|
1242
1248
|
.withExactArgs(sinon.match.same(oGroupLock), sinon.match.same(mParameters),
|
|
1243
1249
|
"~bIgnoreETag~", "~fnOnStrictHandlingFailed~", false)
|
|
1244
1250
|
.returns(oPromise);
|
|
1245
1251
|
|
|
1246
1252
|
assert.strictEqual(
|
|
1247
1253
|
// code under test
|
|
1248
|
-
oBinding.
|
|
1254
|
+
oBinding.invoke("groupId", "~bIgnoreETag~", "~fnOnStrictHandlingFailed~", false),
|
|
1249
1255
|
oPromise);
|
|
1250
1256
|
});
|
|
1251
1257
|
|
|
1252
1258
|
//*********************************************************************************************
|
|
1253
1259
|
[false, true].forEach(function (bBaseContext) {
|
|
1254
|
-
QUnit.test("
|
|
1260
|
+
QUnit.test("invoke: relative, bBaseContext=" + bBaseContext, function (assert) {
|
|
1255
1261
|
var oContext = {
|
|
1256
1262
|
getBinding : function () {},
|
|
1257
1263
|
getPath : function () { return "/Employees('42')"; },
|
|
@@ -1281,7 +1287,7 @@ sap.ui.define([
|
|
|
1281
1287
|
this.mock(_Helper).expects("publicClone")
|
|
1282
1288
|
.withExactArgs(sinon.match.same(oBinding.oOperation.mParameters), true)
|
|
1283
1289
|
.returns(mParameters);
|
|
1284
|
-
this.mock(oBinding).expects("
|
|
1290
|
+
this.mock(oBinding).expects("_invoke")
|
|
1285
1291
|
.withExactArgs(sinon.match.same(oGroupLock), sinon.match.same(mParameters),
|
|
1286
1292
|
"~bIgnoreETag~", "~fnOnStrictHandlingFailed~",
|
|
1287
1293
|
bBaseContext ? false : "~bReplaceWithRVC~")
|
|
@@ -1289,14 +1295,14 @@ sap.ui.define([
|
|
|
1289
1295
|
|
|
1290
1296
|
assert.strictEqual(
|
|
1291
1297
|
// code under test
|
|
1292
|
-
oBinding.
|
|
1298
|
+
oBinding.invoke("groupId", "~bIgnoreETag~", "~fnOnStrictHandlingFailed~",
|
|
1293
1299
|
bBaseContext ? false : "~bReplaceWithRVC~"),
|
|
1294
1300
|
oPromise);
|
|
1295
1301
|
});
|
|
1296
1302
|
});
|
|
1297
1303
|
|
|
1298
1304
|
//*********************************************************************************************
|
|
1299
|
-
QUnit.test("
|
|
1305
|
+
QUnit.test("invoke: relative, bReplaceWithRVC, checkKeepAlive throws", function (assert) {
|
|
1300
1306
|
var oContext = {
|
|
1301
1307
|
getBinding : function () {},
|
|
1302
1308
|
getPath : function () { return "/Employees('42')"; },
|
|
@@ -1313,47 +1319,47 @@ sap.ui.define([
|
|
|
1313
1319
|
this.mock(oContext).expects("getBinding").withExactArgs().returns(oParentBinding);
|
|
1314
1320
|
this.mock(oParentBinding).expects("checkKeepAlive")
|
|
1315
1321
|
.withExactArgs(sinon.match.same(oContext), true).throws(oError);
|
|
1316
|
-
this.mock(oBinding).expects("
|
|
1322
|
+
this.mock(oBinding).expects("_invoke").never();
|
|
1317
1323
|
|
|
1318
1324
|
assert.throws(function () {
|
|
1319
1325
|
// code under test
|
|
1320
|
-
oBinding.
|
|
1326
|
+
oBinding.invoke("groupId", false, null, true);
|
|
1321
1327
|
}, function (oError0) {
|
|
1322
1328
|
return oError0 === oError;
|
|
1323
1329
|
});
|
|
1324
1330
|
});
|
|
1325
1331
|
|
|
1326
1332
|
//*********************************************************************************************
|
|
1327
|
-
QUnit.test("
|
|
1333
|
+
QUnit.test("invoke: bReplaceWithRVC throws because of base context", function (assert) {
|
|
1328
1334
|
var oContext = this.oModel.createBindingContext("/EMPLOYEES('42')"),
|
|
1329
1335
|
oBinding = this.bindContext("schema.Operation(...)", oContext);
|
|
1330
1336
|
|
|
1331
1337
|
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
1332
1338
|
this.mock(_Helper).expects("checkGroupId").withExactArgs("groupId", false, true);
|
|
1333
|
-
this.mock(oBinding).expects("
|
|
1339
|
+
this.mock(oBinding).expects("_invoke").never();
|
|
1334
1340
|
|
|
1335
1341
|
assert.throws(function () {
|
|
1336
1342
|
// code under test
|
|
1337
|
-
oBinding.
|
|
1343
|
+
oBinding.invoke("groupId", false, null, true);
|
|
1338
1344
|
}, new Error("Cannot replace this parent context: /EMPLOYEES('42')"));
|
|
1339
1345
|
});
|
|
1340
1346
|
|
|
1341
1347
|
//*********************************************************************************************
|
|
1342
|
-
QUnit.test("
|
|
1348
|
+
QUnit.test("invoke: bReplaceWithRVC throws because of absolute binding", function (assert) {
|
|
1343
1349
|
var oBinding = this.bindContext("/OperationImport(...)");
|
|
1344
1350
|
|
|
1345
1351
|
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
1346
1352
|
this.mock(_Helper).expects("checkGroupId").withExactArgs("groupId", false, true);
|
|
1347
|
-
this.mock(oBinding).expects("
|
|
1353
|
+
this.mock(oBinding).expects("_invoke").never();
|
|
1348
1354
|
|
|
1349
1355
|
assert.throws(function () {
|
|
1350
1356
|
// code under test
|
|
1351
|
-
oBinding.
|
|
1357
|
+
oBinding.invoke("groupId", false, null, true);
|
|
1352
1358
|
}, new Error("Cannot replace when operation is not relative"));
|
|
1353
1359
|
});
|
|
1354
1360
|
|
|
1355
1361
|
//*********************************************************************************************
|
|
1356
|
-
QUnit.test("
|
|
1362
|
+
QUnit.test("invoke: invalid group ID", function (assert) {
|
|
1357
1363
|
var oBinding = this.bindContext("/OperationImport(...)"),
|
|
1358
1364
|
oError = new Error("Invalid");
|
|
1359
1365
|
|
|
@@ -1361,21 +1367,21 @@ sap.ui.define([
|
|
|
1361
1367
|
.withExactArgs("$invalid", false, true).throws(oError);
|
|
1362
1368
|
|
|
1363
1369
|
assert.throws(function () {
|
|
1364
|
-
oBinding.
|
|
1370
|
+
oBinding.invoke("$invalid");
|
|
1365
1371
|
}, oError);
|
|
1366
1372
|
});
|
|
1367
1373
|
|
|
1368
1374
|
//*********************************************************************************************
|
|
1369
|
-
QUnit.test("
|
|
1375
|
+
QUnit.test("invoke: unresolved relative binding", function (assert) {
|
|
1370
1376
|
var oBinding = this.bindContext("schema.Operation(...)");
|
|
1371
1377
|
|
|
1372
1378
|
assert.throws(function () {
|
|
1373
|
-
oBinding.
|
|
1379
|
+
oBinding.invoke();
|
|
1374
1380
|
}, new Error("Unresolved binding: schema.Operation(...)"));
|
|
1375
1381
|
});
|
|
1376
1382
|
|
|
1377
1383
|
//*********************************************************************************************
|
|
1378
|
-
QUnit.test("
|
|
1384
|
+
QUnit.test("invoke: relative binding with deferred parent", function (assert) {
|
|
1379
1385
|
var oBinding,
|
|
1380
1386
|
oParentBinding = this.bindContext("/OperationImport(...)");
|
|
1381
1387
|
|
|
@@ -1383,13 +1389,13 @@ sap.ui.define([
|
|
|
1383
1389
|
oBinding = this.bindContext("schema.Operation(...)", oParentBinding.getBoundContext());
|
|
1384
1390
|
|
|
1385
1391
|
assert.throws(function () {
|
|
1386
|
-
oBinding.
|
|
1392
|
+
oBinding.invoke();
|
|
1387
1393
|
}, new Error("Nested deferred operation bindings not supported: "
|
|
1388
1394
|
+ "/OperationImport(...)/schema.Operation(...)"));
|
|
1389
1395
|
});
|
|
1390
1396
|
|
|
1391
1397
|
//*********************************************************************************************
|
|
1392
|
-
QUnit.test("
|
|
1398
|
+
QUnit.test("invoke: relative binding on transient context", function (assert) {
|
|
1393
1399
|
var oBinding,
|
|
1394
1400
|
oContext = {
|
|
1395
1401
|
isTransient : function () { return true; },
|
|
@@ -1400,8 +1406,8 @@ sap.ui.define([
|
|
|
1400
1406
|
|
|
1401
1407
|
assert.throws(function () {
|
|
1402
1408
|
// code under test
|
|
1403
|
-
oBinding.
|
|
1404
|
-
}, new Error("
|
|
1409
|
+
oBinding.invoke();
|
|
1410
|
+
}, new Error("Invoke for transient context not allowed: "
|
|
1405
1411
|
+ "/Employees($uid=id-1-23)/schema.Operation(...)"));
|
|
1406
1412
|
});
|
|
1407
1413
|
|
|
@@ -1440,7 +1446,7 @@ sap.ui.define([
|
|
|
1440
1446
|
error : "Expected a single overload, but found 2 for"
|
|
1441
1447
|
+ " /EntitySet(ID='1')/schema.OverloadedFunction(...)"
|
|
1442
1448
|
}].forEach(function (oFixture, i) {
|
|
1443
|
-
QUnit.test("
|
|
1449
|
+
QUnit.test("_invoke: #" + i + " - " + oFixture.error, function (assert) {
|
|
1444
1450
|
var oGroupLock = {
|
|
1445
1451
|
getGroupId : function () {},
|
|
1446
1452
|
unlock : function () {}
|
|
@@ -1456,13 +1462,13 @@ sap.ui.define([
|
|
|
1456
1462
|
this.mock(oGroupLock).expects("getGroupId").withExactArgs().returns("groupId");
|
|
1457
1463
|
this.mock(oGroupLock).expects("unlock").withExactArgs(true);
|
|
1458
1464
|
this.mock(this.oModel).expects("reportError").withExactArgs(
|
|
1459
|
-
"Failed to
|
|
1465
|
+
"Failed to invoke " + oFixture.path, sClassName, sinon.match.instanceOf(Error));
|
|
1460
1466
|
this.mock(_Helper).expects("adjustTargetsInError")
|
|
1461
1467
|
.withExactArgs(sinon.match.instanceOf(Error), oFixture.metadata2,
|
|
1462
1468
|
oFixture.path + "/$Parameter", undefined);
|
|
1463
1469
|
|
|
1464
1470
|
return this.bindContext(oFixture.path)
|
|
1465
|
-
.
|
|
1471
|
+
._invoke(oGroupLock) // code under test
|
|
1466
1472
|
.then(function () {
|
|
1467
1473
|
assert.ok(false);
|
|
1468
1474
|
}, function (oError) {
|
|
@@ -1472,7 +1478,7 @@ sap.ui.define([
|
|
|
1472
1478
|
});
|
|
1473
1479
|
|
|
1474
1480
|
//*********************************************************************************************
|
|
1475
|
-
QUnit.test("function, no
|
|
1481
|
+
QUnit.test("function, no invoke", function (assert) {
|
|
1476
1482
|
var oBinding, oCachePromise;
|
|
1477
1483
|
|
|
1478
1484
|
this.mock(_Cache).expects("createSingle").never();
|
|
@@ -1497,7 +1503,7 @@ sap.ui.define([
|
|
|
1497
1503
|
});
|
|
1498
1504
|
|
|
1499
1505
|
//*********************************************************************************************
|
|
1500
|
-
QUnit.test("function, base context, no
|
|
1506
|
+
QUnit.test("function, base context, no invoke", function (assert) {
|
|
1501
1507
|
var oBaseContext = this.oModel.createBindingContext("/"),
|
|
1502
1508
|
oBinding = this.bindContext("FunctionImport(...)", oBaseContext);
|
|
1503
1509
|
|
|
@@ -1516,7 +1522,7 @@ sap.ui.define([
|
|
|
1516
1522
|
|
|
1517
1523
|
//*********************************************************************************************
|
|
1518
1524
|
[false, true].forEach(function (bRelative) {
|
|
1519
|
-
var sTitle = "
|
|
1525
|
+
var sTitle = "_invoke: OperationImport, relative (to base context): " + bRelative;
|
|
1520
1526
|
|
|
1521
1527
|
QUnit.test(sTitle, function (assert) {
|
|
1522
1528
|
var oBaseContext = this.oModel.createBindingContext("/"),
|
|
@@ -1546,7 +1552,7 @@ sap.ui.define([
|
|
|
1546
1552
|
.returns(undefined);
|
|
1547
1553
|
|
|
1548
1554
|
// code under test
|
|
1549
|
-
oPromise = oBinding.
|
|
1555
|
+
oPromise = oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~",
|
|
1550
1556
|
"~fnOnStrictHandlingFailed~");
|
|
1551
1557
|
|
|
1552
1558
|
assert.ok(oPromise instanceof Promise, "a Promise, not a SyncPromise");
|
|
@@ -1562,7 +1568,7 @@ sap.ui.define([
|
|
|
1562
1568
|
[false, true].forEach(function (bBaseContext) {
|
|
1563
1569
|
["", "navigation2/navigation3"].forEach(function (sPathPrefix) {
|
|
1564
1570
|
var sOperation = sPathPrefix ? sPathPrefix + "/schema.Operation" : "schema.Operation",
|
|
1565
|
-
sTitle = "
|
|
1571
|
+
sTitle = "_invoke: bound operation, relative binding " + sOperation
|
|
1566
1572
|
+ (bBaseContext ? ", baseContext" : "");
|
|
1567
1573
|
|
|
1568
1574
|
QUnit.test(sTitle, function (assert) {
|
|
@@ -1630,13 +1636,13 @@ sap.ui.define([
|
|
|
1630
1636
|
.returns(undefined);
|
|
1631
1637
|
|
|
1632
1638
|
// code under test
|
|
1633
|
-
return oBinding.
|
|
1639
|
+
return oBinding._invoke(oGroupLock0, "~mParameters~", "~bIgnoreETag~")
|
|
1634
1640
|
.then(function (oReturnValueContext) {
|
|
1635
1641
|
var oGroupLock1 = {getGroupId : function () {}};
|
|
1636
1642
|
|
|
1637
1643
|
assert.strictEqual(oReturnValueContext, undefined);
|
|
1638
1644
|
if (oExpectation) {
|
|
1639
|
-
//TODO avoid to
|
|
1645
|
+
//TODO avoid to invoke a request via getObject, which does not wait for
|
|
1640
1646
|
// results anyway!
|
|
1641
1647
|
assert.strictEqual(oExpectation.args[0][4](), oEntity);
|
|
1642
1648
|
}
|
|
@@ -1667,9 +1673,9 @@ sap.ui.define([
|
|
|
1667
1673
|
.withExactArgs("~oOperationMetadata~", undefined, undefined)
|
|
1668
1674
|
.returns(undefined);
|
|
1669
1675
|
|
|
1670
|
-
// code under test:
|
|
1676
|
+
// code under test: invoke creates a new cache with the new path
|
|
1671
1677
|
return oBinding.setParameter("foo", "bar")
|
|
1672
|
-
.
|
|
1678
|
+
._invoke(oGroupLock1, "~mParameters~", "~bIgnoreETag~")
|
|
1673
1679
|
.then(function (oReturnValueContext) {
|
|
1674
1680
|
assert.strictEqual(oReturnValueContext, undefined);
|
|
1675
1681
|
if (oExpectation) {
|
|
@@ -1683,7 +1689,7 @@ sap.ui.define([
|
|
|
1683
1689
|
|
|
1684
1690
|
//*********************************************************************************************
|
|
1685
1691
|
[false, true].forEach(function (bOnCollection) {
|
|
1686
|
-
var sTitle = "
|
|
1692
|
+
var sTitle = "_invoke: bound operation " + (bOnCollection ? "on a collection " : "")
|
|
1687
1693
|
+ "with return value context";
|
|
1688
1694
|
|
|
1689
1695
|
QUnit.test(sTitle, function (assert) {
|
|
@@ -1735,12 +1741,12 @@ sap.ui.define([
|
|
|
1735
1741
|
.returns(asyncRefresh());
|
|
1736
1742
|
oBindingMock.expects("handleOperationResult")
|
|
1737
1743
|
.withExactArgs("~oOperationMetadata~", "~ResponseEntity0~", undefined)
|
|
1738
|
-
.returns("~
|
|
1744
|
+
.returns("~oReturnValueContextFirstInvoke~");
|
|
1739
1745
|
|
|
1740
1746
|
// code under test
|
|
1741
|
-
return oBinding.
|
|
1747
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~")
|
|
1742
1748
|
.then(function (oReturnValueContext0) {
|
|
1743
|
-
assert.strictEqual(oReturnValueContext0, "~
|
|
1749
|
+
assert.strictEqual(oReturnValueContext0, "~oReturnValueContextFirstInvoke~");
|
|
1744
1750
|
assert.strictEqual(bDependentsRefreshed, true);
|
|
1745
1751
|
|
|
1746
1752
|
oMetaModelMock.expects("fetchObject")
|
|
@@ -1757,12 +1763,12 @@ sap.ui.define([
|
|
|
1757
1763
|
.withExactArgs("", "groupId", true).returns(asyncRefresh());
|
|
1758
1764
|
oBindingMock.expects("handleOperationResult")
|
|
1759
1765
|
.withExactArgs("~oOperationMetadata~", "~ResponseEntity1~", undefined)
|
|
1760
|
-
.returns("~
|
|
1766
|
+
.returns("~oReturnValueContextSecondInvoke~");
|
|
1761
1767
|
|
|
1762
1768
|
// code under test
|
|
1763
|
-
return oBinding.
|
|
1769
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~");
|
|
1764
1770
|
}).then(function (oReturnValueContext1) {
|
|
1765
|
-
assert.strictEqual(oReturnValueContext1, "~
|
|
1771
|
+
assert.strictEqual(oReturnValueContext1, "~oReturnValueContextSecondInvoke~");
|
|
1766
1772
|
|
|
1767
1773
|
oMetaModelMock.expects("fetchObject")
|
|
1768
1774
|
.withExactArgs("/TEAMS/name.space.Operation/@$ui5.overload")
|
|
@@ -1785,7 +1791,7 @@ sap.ui.define([
|
|
|
1785
1791
|
oModelMock.expects("reportError");
|
|
1786
1792
|
|
|
1787
1793
|
// code under test
|
|
1788
|
-
return oBinding.
|
|
1794
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~")
|
|
1789
1795
|
.then(function () {
|
|
1790
1796
|
assert.ok(false, "unexpected success");
|
|
1791
1797
|
}, function (oError0) {
|
|
@@ -1797,7 +1803,7 @@ sap.ui.define([
|
|
|
1797
1803
|
|
|
1798
1804
|
//*********************************************************************************************
|
|
1799
1805
|
[false, true].forEach(function (bNavigationProperty) {
|
|
1800
|
-
var sTitle = "
|
|
1806
|
+
var sTitle = "_invoke: bReplaceWithRVC, bNavigationProperty=" + bNavigationProperty;
|
|
1801
1807
|
|
|
1802
1808
|
QUnit.test(sTitle, function (assert) {
|
|
1803
1809
|
var oGroupLock = {
|
|
@@ -1836,7 +1842,7 @@ sap.ui.define([
|
|
|
1836
1842
|
.returns("~oResult~");
|
|
1837
1843
|
|
|
1838
1844
|
// code under test
|
|
1839
|
-
return oBinding.
|
|
1845
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~",
|
|
1840
1846
|
"~fnOnStrictHandlingFailed~", /*bReplaceWithRVC*/true)
|
|
1841
1847
|
.then(function (oResultingContext) {
|
|
1842
1848
|
assert.strictEqual(oResultingContext, "~oResult~");
|
|
@@ -1847,7 +1853,7 @@ sap.ui.define([
|
|
|
1847
1853
|
});
|
|
1848
1854
|
|
|
1849
1855
|
//*********************************************************************************************
|
|
1850
|
-
QUnit.test("
|
|
1856
|
+
QUnit.test("_invoke: bReplaceWithRVC w/o r.v.c.", function (assert) {
|
|
1851
1857
|
var oError = new Error("Cannot replace w/o return value context"),
|
|
1852
1858
|
oGroupLock = {
|
|
1853
1859
|
getGroupId : function () {},
|
|
@@ -1876,11 +1882,11 @@ sap.ui.define([
|
|
|
1876
1882
|
.throws(oError);
|
|
1877
1883
|
this.mock(oGroupLock).expects("unlock").withExactArgs(true);
|
|
1878
1884
|
oReportErrorExpectation = this.mock(this.oModel).expects("reportError").withExactArgs(
|
|
1879
|
-
"Failed to
|
|
1885
|
+
"Failed to invoke /TEAMS('42')/name.space.Operation(...)", sClassName,
|
|
1880
1886
|
sinon.match.typeOf("error")); // Note: sinon.match.object does not match here :-(
|
|
1881
1887
|
|
|
1882
1888
|
// code under test
|
|
1883
|
-
return oBinding.
|
|
1889
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~",
|
|
1884
1890
|
"~fnOnStrictHandlingFailed~", /*bReplaceWithRVC*/true)
|
|
1885
1891
|
.then(function () {
|
|
1886
1892
|
assert.ok(false);
|
|
@@ -1891,7 +1897,7 @@ sap.ui.define([
|
|
|
1891
1897
|
});
|
|
1892
1898
|
|
|
1893
1899
|
//*********************************************************************************************
|
|
1894
|
-
QUnit.test("
|
|
1900
|
+
QUnit.test("_invoke: OperationImport, failure", function (assert) {
|
|
1895
1901
|
var bDependentsRefreshed = false,
|
|
1896
1902
|
sPath = "/OperationImport(...)",
|
|
1897
1903
|
oBinding = this.bindContext(sPath),
|
|
@@ -1918,14 +1924,14 @@ sap.ui.define([
|
|
|
1918
1924
|
});
|
|
1919
1925
|
}));
|
|
1920
1926
|
this.mock(this.oModel).expects("reportError").withExactArgs(
|
|
1921
|
-
"Failed to
|
|
1927
|
+
"Failed to invoke " + sPath, sClassName, sinon.match.same(oError));
|
|
1922
1928
|
this.mock(oGroupLock).expects("unlock").withExactArgs(true);
|
|
1923
1929
|
this.mock(_Helper).expects("adjustTargetsInError")
|
|
1924
1930
|
.withExactArgs(sinon.match.same(oError), "~oOperationMetadata~",
|
|
1925
1931
|
"/OperationImport(...)/$Parameter", undefined);
|
|
1926
1932
|
|
|
1927
1933
|
// code under test
|
|
1928
|
-
return oBinding.
|
|
1934
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~").then(function () {
|
|
1929
1935
|
assert.ok(false);
|
|
1930
1936
|
}, function (oError0) {
|
|
1931
1937
|
assert.strictEqual(oError0, oError);
|
|
@@ -1934,7 +1940,7 @@ sap.ui.define([
|
|
|
1934
1940
|
});
|
|
1935
1941
|
|
|
1936
1942
|
//*********************************************************************************************
|
|
1937
|
-
QUnit.test("
|
|
1943
|
+
QUnit.test("_invoke: OperationImport, error in change handler", function (assert) {
|
|
1938
1944
|
var sPath = "/OperationImport(...)",
|
|
1939
1945
|
oBinding = this.bindContext(sPath),
|
|
1940
1946
|
oError = new Error("deliberate failure"),
|
|
@@ -1952,14 +1958,14 @@ sap.ui.define([
|
|
|
1952
1958
|
this.mock(oBinding).expects("refreshDependentBindings").never();
|
|
1953
1959
|
this.mock(oGroupLock).expects("unlock").withExactArgs(true);
|
|
1954
1960
|
oModelMock.expects("reportError").withExactArgs(
|
|
1955
|
-
"Failed to
|
|
1961
|
+
"Failed to invoke " + sPath, sClassName, sinon.match.same(oError));
|
|
1956
1962
|
|
|
1957
1963
|
oBinding.attachChange(function () {
|
|
1958
1964
|
throw oError;
|
|
1959
1965
|
});
|
|
1960
1966
|
|
|
1961
1967
|
// code under test
|
|
1962
|
-
return oBinding.
|
|
1968
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~").then(function () {
|
|
1963
1969
|
assert.ok(false);
|
|
1964
1970
|
}, function (oError0) {
|
|
1965
1971
|
assert.strictEqual(oError0, oError);
|
|
@@ -1972,7 +1978,7 @@ sap.ui.define([
|
|
|
1972
1978
|
}, {
|
|
1973
1979
|
// no error -> nothing reported
|
|
1974
1980
|
}].forEach(function (oFixture, i) {
|
|
1975
|
-
QUnit.test("
|
|
1981
|
+
QUnit.test("_invoke: bound operation failure with messages #" + i, function (assert) {
|
|
1976
1982
|
var oParentContext = Context.create(this.oModel, {/*binding*/}, "/TEAMS('42')"),
|
|
1977
1983
|
oBinding = this.bindContext("name.space.Operation(...)", oParentContext,
|
|
1978
1984
|
{$$groupId : "groupId"}),
|
|
@@ -2008,14 +2014,14 @@ sap.ui.define([
|
|
|
2008
2014
|
.withExactArgs(sinon.match.same(oError), sinon.match.same(oOperationMetadata),
|
|
2009
2015
|
"/TEAMS('42')/name.space.Operation(...)/$Parameter", "/TEAMS('42')");
|
|
2010
2016
|
this.mock(this.oModel).expects("reportError")
|
|
2011
|
-
.withExactArgs("Failed to
|
|
2017
|
+
.withExactArgs("Failed to invoke /TEAMS('42')/name.space.Operation(...)",
|
|
2012
2018
|
sClassName, sinon.match.same(oError))
|
|
2013
2019
|
.callsFake(function (_sLogMessage, _sReportingClassName, oError) {
|
|
2014
2020
|
assert.strictEqual(oError.resourcePath, "~"); // unchanged
|
|
2015
2021
|
});
|
|
2016
2022
|
|
|
2017
2023
|
// code under test
|
|
2018
|
-
return oBinding.
|
|
2024
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~").then(function () {
|
|
2019
2025
|
assert.ok(false);
|
|
2020
2026
|
}, function (oError0) {
|
|
2021
2027
|
assert.strictEqual(oError0, oError);
|
|
@@ -2029,7 +2035,7 @@ sap.ui.define([
|
|
|
2029
2035
|
}, {
|
|
2030
2036
|
// no error -> nothing reported
|
|
2031
2037
|
}].forEach(function (oFixture, i) {
|
|
2032
|
-
QUnit.test("
|
|
2038
|
+
QUnit.test("_invoke: unbound operation failure with messages #" + i, function (assert) {
|
|
2033
2039
|
var oBinding = this.bindContext("/ActionImport(...)", null, {$$groupId : "groupId"}),
|
|
2034
2040
|
oError = new Error("Operation failed"),
|
|
2035
2041
|
oGroupLock = {
|
|
@@ -2061,14 +2067,14 @@ sap.ui.define([
|
|
|
2061
2067
|
.withExactArgs(sinon.match.same(oError), sinon.match.same(oOperationMetadata),
|
|
2062
2068
|
"/ActionImport(...)/$Parameter", undefined);
|
|
2063
2069
|
this.mock(this.oModel).expects("reportError")
|
|
2064
|
-
.withExactArgs("Failed to
|
|
2070
|
+
.withExactArgs("Failed to invoke /ActionImport(...)",
|
|
2065
2071
|
sClassName, sinon.match.same(oError))
|
|
2066
2072
|
.callsFake(function (_sLogMessage, _sReportingClassName, oError) {
|
|
2067
2073
|
assert.strictEqual(oError.resourcePath, "~"); // unchanged
|
|
2068
2074
|
});
|
|
2069
2075
|
|
|
2070
2076
|
// code under test
|
|
2071
|
-
return oBinding.
|
|
2077
|
+
return oBinding._invoke(oGroupLock, "~mParameters~", "~bIgnoreETag~").then(function () {
|
|
2072
2078
|
assert.ok(false);
|
|
2073
2079
|
}, function (oError0) {
|
|
2074
2080
|
assert.strictEqual(oError0, oError);
|
|
@@ -3096,7 +3102,7 @@ sap.ui.define([
|
|
|
3096
3102
|
oModelMock.expects("createUI5Message").withExactArgs(aRawMessages[3])
|
|
3097
3103
|
.returns("~ui5message3");
|
|
3098
3104
|
|
|
3099
|
-
// code under test -
|
|
3105
|
+
// code under test - invoke onStrictHandlingFailed callback
|
|
3100
3106
|
if (bCallbackReturnsPromise) {
|
|
3101
3107
|
assert.strictEqual(oExpectation.args[0][4](oError), oPromise);
|
|
3102
3108
|
} else {
|
|
@@ -3111,14 +3117,14 @@ sap.ui.define([
|
|
|
3111
3117
|
});
|
|
3112
3118
|
});
|
|
3113
3119
|
//*********************************************************************************************
|
|
3114
|
-
QUnit.test("setParameter,
|
|
3120
|
+
QUnit.test("setParameter, invoke: not deferred", function (assert) {
|
|
3115
3121
|
var oBinding = this.bindContext("/OperationImport()");
|
|
3116
3122
|
|
|
3117
3123
|
assert.throws(function () {
|
|
3118
3124
|
oBinding.setParameter();
|
|
3119
3125
|
}, new Error("The binding must be deferred: /OperationImport()"));
|
|
3120
3126
|
assert.throws(function () {
|
|
3121
|
-
oBinding.
|
|
3127
|
+
oBinding.invoke();
|
|
3122
3128
|
}, new Error("The binding must be deferred: /OperationImport()"));
|
|
3123
3129
|
});
|
|
3124
3130
|
|
|
@@ -3219,7 +3225,7 @@ sap.ui.define([
|
|
|
3219
3225
|
oParent = {
|
|
3220
3226
|
_fireChange : function () {},
|
|
3221
3227
|
oElementContext : oParentContext,
|
|
3222
|
-
|
|
3228
|
+
invoke : {},
|
|
3223
3229
|
getContext : function () {},
|
|
3224
3230
|
isRelative : function () { return false; }
|
|
3225
3231
|
},
|
|
@@ -3294,7 +3300,7 @@ sap.ui.define([
|
|
|
3294
3300
|
oParentBinding = {
|
|
3295
3301
|
delete : function () {},
|
|
3296
3302
|
getContext : function () {}
|
|
3297
|
-
// no #
|
|
3303
|
+
// no #invoke
|
|
3298
3304
|
},
|
|
3299
3305
|
oPromise,
|
|
3300
3306
|
oRowContext = Context.create(this.oModel, null, "/SalesOrders('42')"),
|
|
@@ -3519,7 +3525,7 @@ sap.ui.define([
|
|
|
3519
3525
|
|
|
3520
3526
|
assert.strictEqual(oBinding.bHasFetchedExpandSelectProperties, false);
|
|
3521
3527
|
sinon.assert.callOrder(fnHasChangeListeners, fnFetchCache);
|
|
3522
|
-
if (bHasChangeListeners) { // simulate fetchValue
|
|
3528
|
+
if (bHasChangeListeners) { // simulate fetchValue invoked by a property binding
|
|
3523
3529
|
oBinding.resolveRefreshPromise(Promise.resolve());
|
|
3524
3530
|
}
|
|
3525
3531
|
return oRefreshResult;
|
|
@@ -3881,10 +3887,10 @@ sap.ui.define([
|
|
|
3881
3887
|
[undefined, false, true].forEach(function (bAction) {
|
|
3882
3888
|
QUnit.test("refreshInternal, bAction=" + bAction, function (assert) {
|
|
3883
3889
|
var oBinding = this.bindContext("/FunctionImport(...)"),
|
|
3884
|
-
|
|
3885
|
-
|
|
3890
|
+
bInvoked = false,
|
|
3891
|
+
oInvokePromise = new Promise(function (resolve) {
|
|
3886
3892
|
setTimeout(function () {
|
|
3887
|
-
|
|
3893
|
+
bInvoked = true;
|
|
3888
3894
|
resolve({/*oReturnValueContext*/});
|
|
3889
3895
|
});
|
|
3890
3896
|
}),
|
|
@@ -3901,10 +3907,10 @@ sap.ui.define([
|
|
|
3901
3907
|
oBinding.oReadGroupLock = oGroupLock;
|
|
3902
3908
|
});
|
|
3903
3909
|
this.mock(oBinding).expects("getDependentBindings").never();
|
|
3904
|
-
this.mock(oBinding).expects("
|
|
3910
|
+
this.mock(oBinding).expects("_invoke").exactly(bAction === false ? 1 : 0)
|
|
3905
3911
|
.withExactArgs(sinon.match.same(oGroupLock),
|
|
3906
3912
|
sinon.match.same(oBinding.oOperation.mRefreshParameters))
|
|
3907
|
-
.returns(
|
|
3913
|
+
.returns(oInvokePromise);
|
|
3908
3914
|
|
|
3909
3915
|
// code under test
|
|
3910
3916
|
oPromise = oBinding.refreshInternal("", "myGroup");
|
|
@@ -3912,7 +3918,7 @@ sap.ui.define([
|
|
|
3912
3918
|
assert.strictEqual(oBinding.oReadGroupLock, undefined);
|
|
3913
3919
|
|
|
3914
3920
|
return oPromise.then(function () {
|
|
3915
|
-
assert.strictEqual(
|
|
3921
|
+
assert.strictEqual(bInvoked, bAction === false);
|
|
3916
3922
|
});
|
|
3917
3923
|
});
|
|
3918
3924
|
});
|
|
@@ -4200,7 +4206,7 @@ sap.ui.define([
|
|
|
4200
4206
|
this.mock(oDependent1).expects("resumeInternal")
|
|
4201
4207
|
.withExactArgs(sinon.match.same(bCheckUpdate), false);
|
|
4202
4208
|
oBindingMock.expects("_fireChange").never();
|
|
4203
|
-
oBindingMock.expects("
|
|
4209
|
+
oBindingMock.expects("invoke").never();
|
|
4204
4210
|
|
|
4205
4211
|
// code under test
|
|
4206
4212
|
oBinding.resumeInternal(bCheckUpdate);
|
|
@@ -4320,7 +4326,7 @@ sap.ui.define([
|
|
|
4320
4326
|
// code under test
|
|
4321
4327
|
assert.notOk(oBinding.isReturnValueLikeBindingParameter(oOperationMetadata));
|
|
4322
4328
|
});
|
|
4323
|
-
// Note: bReplaceWithRVC
|
|
4329
|
+
// Note: bReplaceWithRVC invokes #checkKeepAlive which requires a "row context", thus
|
|
4324
4330
|
// this.sPath = "(...)" cannot work; also v4.ODataModel#resolve would add a slash in between!
|
|
4325
4331
|
|
|
4326
4332
|
//*********************************************************************************************
|
|
@@ -4788,7 +4794,7 @@ sap.ui.define([
|
|
|
4788
4794
|
}
|
|
4789
4795
|
|
|
4790
4796
|
oCanceledError.canceled = true;
|
|
4791
|
-
oBinding.oCache = oCache; // simulate
|
|
4797
|
+
oBinding.oCache = oCache; // simulate invoke
|
|
4792
4798
|
switch (iOperation) {
|
|
4793
4799
|
case 0:
|
|
4794
4800
|
oBinding.oOperation = null;
|
|
@@ -4871,7 +4877,7 @@ sap.ui.define([
|
|
|
4871
4877
|
oGroupLock = {},
|
|
4872
4878
|
aPaths = [];
|
|
4873
4879
|
|
|
4874
|
-
oBinding.oCache = oCache; // simulate
|
|
4880
|
+
oBinding.oCache = oCache; // simulate invoke
|
|
4875
4881
|
this.mock(oBinding).expects("lockGroup").withExactArgs(sGroupId).returns(oGroupLock);
|
|
4876
4882
|
this.mock(oContext).expects("getPath").withExactArgs().returns("/Me");
|
|
4877
4883
|
this.mock(oCache).expects("requestSideEffects")
|
|
@@ -4910,7 +4916,7 @@ sap.ui.define([
|
|
|
4910
4916
|
oRefreshInternalPromise = {},
|
|
4911
4917
|
oRefreshPromise = bReturnValueContext ? SyncPromise.resolve() : null;
|
|
4912
4918
|
|
|
4913
|
-
oBinding.oCache = oCache; // simulate
|
|
4919
|
+
oBinding.oCache = oCache; // simulate invoke
|
|
4914
4920
|
oBinding.oReturnValueContext = "~truthy~";
|
|
4915
4921
|
if (sPath === "") {
|
|
4916
4922
|
this.mock(oCache).expects("requestSideEffects").never();
|
|
@@ -4989,7 +4995,7 @@ sap.ui.define([
|
|
|
4989
4995
|
oGroupLock = {},
|
|
4990
4996
|
aPaths = [];
|
|
4991
4997
|
|
|
4992
|
-
oBinding.oCache = oCache; // simulate
|
|
4998
|
+
oBinding.oCache = oCache; // simulate invoke
|
|
4993
4999
|
this.mock(oBinding).expects("lockGroup").withExactArgs(sGroupId).returns(oGroupLock);
|
|
4994
5000
|
this.mock(oContext).expects("getPath").withExactArgs().returns("/Me");
|
|
4995
5001
|
this.mock(oCache).expects("requestSideEffects")
|