@openui5/sap.ui.core 1.120.13 → 1.120.15
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 +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +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 +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 +1 -1
- 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/messagebundle_sh.properties +65 -65
- 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/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 +1 -1
- 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/_Helper.js +5 -4
- 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/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/odata/v4/ODataModel.integration.qunit.js +151 -46
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +13 -8
|
@@ -12088,7 +12088,7 @@ sap.ui.define([
|
|
|
12088
12088
|
// ContentID on root level, but missing for one message in details. Check the value state for
|
|
12089
12089
|
// the related input controls.
|
|
12090
12090
|
// JIRA: CPOUI5ODATAV4-729
|
|
12091
|
-
QUnit.test("CPOUI5ODATAV4-729: @Core.
|
|
12091
|
+
QUnit.test("CPOUI5ODATAV4-729: @Core.ContentID", function (assert) {
|
|
12092
12092
|
var aItems,
|
|
12093
12093
|
oModel = this.createSalesOrdersModel({autoExpandSelect : true}),
|
|
12094
12094
|
sView = '\
|
|
@@ -46224,70 +46224,129 @@ make root = ${bMakeRoot}`;
|
|
|
46224
46224
|
//
|
|
46225
46225
|
// JIRA: CPOUI5ODATAV4-943
|
|
46226
46226
|
// BCP: 2280172148 more than one action in change set + check that the right callback is called
|
|
46227
|
+
//
|
|
46228
|
+
// Execute three actions in a changeset, each with a fnOnStrictHandlingFailed handler. The batch
|
|
46229
|
+
// fails due to strict-handling and the response contains error messages for the first and
|
|
46230
|
+
// second request or only for the first. No error message for the third request. See that each
|
|
46231
|
+
// handler is called with the correct (or none) errors.
|
|
46232
|
+
// SNOW: DINC0032238
|
|
46227
46233
|
[true, false].forEach(function (bConfirm) {
|
|
46228
|
-
|
|
46229
|
-
|
|
46230
|
-
|
|
46234
|
+
[true, false].forEach(function (bDifferentContentIDs) {
|
|
46235
|
+
const sTitle = "CPOUI5ODATAV4-943: handling=strict, confirm=" + bConfirm
|
|
46236
|
+
+ ", different content IDs=" + bDifferentContentIDs;
|
|
46237
|
+
QUnit.test(sTitle, function (assert) {
|
|
46238
|
+
var sAction = "com.sap.gateway.default.zui5_epm_sample.v0002.SalesOrder_Confirm",
|
|
46231
46239
|
oAction0Promise,
|
|
46232
|
-
|
|
46233
|
-
|
|
46234
|
-
|
|
46240
|
+
oAction1Promise,
|
|
46241
|
+
oAction2Promise,
|
|
46242
|
+
oErrorObject = {
|
|
46235
46243
|
details : [{
|
|
46236
46244
|
"@Common.numericSeverity" : 3,
|
|
46237
46245
|
code : "CODE1",
|
|
46238
46246
|
"@SAP__core.ContentID" : "0.0",
|
|
46239
46247
|
message : "Note is empty",
|
|
46240
46248
|
target : "SalesOrder/Note"
|
|
46249
|
+
}, {
|
|
46250
|
+
"@Common.numericSeverity" : 3,
|
|
46251
|
+
code : "CODE1",
|
|
46252
|
+
"@SAP__core.ContentID" : "0.0",
|
|
46253
|
+
message : "Note is empty",
|
|
46254
|
+
target : "SalesOrder/Note"
|
|
46241
46255
|
}, {
|
|
46242
46256
|
"@Common.numericSeverity" : 2,
|
|
46243
46257
|
code : "CODE2",
|
|
46244
46258
|
"@SAP__core.ContentID" : "0.0",
|
|
46245
46259
|
message : "Some unbound info"
|
|
46246
|
-
}]
|
|
46247
|
-
|
|
46248
|
-
|
|
46260
|
+
}]
|
|
46261
|
+
},
|
|
46262
|
+
oError,
|
|
46249
46263
|
oModel = this.createSalesOrdersModel({autoExpandSelect : true}),
|
|
46250
|
-
|
|
46264
|
+
fnResolve0,
|
|
46265
|
+
fnResolve1,
|
|
46266
|
+
fnResolve2,
|
|
46251
46267
|
sView = '\
|
|
46252
|
-
<
|
|
46268
|
+
<Table id="table" items="{/SalesOrderList}">\
|
|
46253
46269
|
<Text id="status" text="{LifecycleStatus}"/>\
|
|
46254
|
-
|
|
46255
|
-
</FlexBox>',
|
|
46270
|
+
</Table>',
|
|
46256
46271
|
that = this;
|
|
46257
46272
|
|
|
46258
|
-
function
|
|
46259
|
-
assert.strictEqual(aMessages.length, 2);
|
|
46273
|
+
function onStrictHandlingFailed0(aMessages) {
|
|
46260
46274
|
assert.strictEqual(aMessages[0].getMessage(), "Note is empty");
|
|
46261
46275
|
assert.strictEqual(aMessages[0].getCode(), "CODE1");
|
|
46262
|
-
assert.strictEqual(aMessages[0].getTargets()[0], "/SalesOrderList('
|
|
46276
|
+
assert.strictEqual(aMessages[0].getTargets()[0], "/SalesOrderList('0')/Note");
|
|
46263
46277
|
assert.strictEqual(aMessages[0].getType(), "Warning");
|
|
46264
|
-
|
|
46265
|
-
|
|
46266
|
-
|
|
46267
|
-
|
|
46278
|
+
if (bDifferentContentIDs) {
|
|
46279
|
+
assert.strictEqual(aMessages.length, 1);
|
|
46280
|
+
} else {
|
|
46281
|
+
assert.strictEqual(aMessages.length, 3);
|
|
46282
|
+
assert.strictEqual(aMessages[1].getMessage(), "Note is empty");
|
|
46283
|
+
assert.strictEqual(aMessages[1].getCode(), "CODE1");
|
|
46284
|
+
assert.strictEqual(aMessages[1].getTargets()[0], "/SalesOrderList('0')/Note");
|
|
46285
|
+
assert.strictEqual(aMessages[1].getType(), "Warning");
|
|
46286
|
+
assert.strictEqual(aMessages[2].getMessage(), "Some unbound info");
|
|
46287
|
+
assert.strictEqual(aMessages[2].getCode(), "CODE2");
|
|
46288
|
+
assert.strictEqual(aMessages[2].getTargets()[0], "");
|
|
46289
|
+
assert.strictEqual(aMessages[2].getType(), "Information");
|
|
46290
|
+
}
|
|
46291
|
+
return new Promise(function (resolve) {
|
|
46292
|
+
fnResolve0 = resolve;
|
|
46293
|
+
});
|
|
46294
|
+
}
|
|
46268
46295
|
|
|
46296
|
+
function onStrictHandlingFailed1(aMessages) {
|
|
46297
|
+
if (bDifferentContentIDs) {
|
|
46298
|
+
assert.strictEqual(aMessages.length, 2);
|
|
46299
|
+
assert.strictEqual(aMessages[0].getMessage(), "Note is empty");
|
|
46300
|
+
assert.strictEqual(aMessages[0].getCode(), "CODE1");
|
|
46301
|
+
assert.strictEqual(aMessages[0].getTargets()[0], "/SalesOrderList('1')/Note");
|
|
46302
|
+
assert.strictEqual(aMessages[0].getType(), "Warning");
|
|
46303
|
+
assert.strictEqual(aMessages[1].getMessage(), "Some unbound info");
|
|
46304
|
+
assert.strictEqual(aMessages[1].getCode(), "CODE2");
|
|
46305
|
+
assert.strictEqual(aMessages[1].getTargets()[0], "");
|
|
46306
|
+
assert.strictEqual(aMessages[1].getType(), "Information");
|
|
46307
|
+
} else {
|
|
46308
|
+
assert.strictEqual(aMessages.length, 0);
|
|
46309
|
+
}
|
|
46269
46310
|
return new Promise(function (resolve) {
|
|
46270
|
-
|
|
46311
|
+
fnResolve1 = resolve;
|
|
46271
46312
|
});
|
|
46272
46313
|
}
|
|
46273
46314
|
|
|
46274
|
-
|
|
46275
|
-
|
|
46276
|
-
|
|
46315
|
+
function onStrictHandlingFailed2(aMessages) {
|
|
46316
|
+
assert.strictEqual(aMessages.length, 0);
|
|
46317
|
+
return new Promise(function (resolve) {
|
|
46318
|
+
fnResolve2 = resolve;
|
|
46319
|
+
});
|
|
46320
|
+
}
|
|
46321
|
+
|
|
46322
|
+
// change detail ContentID from 0.0 to 1.0 for the second and third message
|
|
46323
|
+
if (bDifferentContentIDs) {
|
|
46324
|
+
oErrorObject.details[1]["@SAP__core.ContentID"] = "1.0";
|
|
46325
|
+
oErrorObject.details[2]["@SAP__core.ContentID"] = "1.0";
|
|
46326
|
+
}
|
|
46327
|
+
oError = createErrorInsideBatch(oErrorObject, 412);
|
|
46328
|
+
|
|
46329
|
+
this.expectRequest("SalesOrderList?$select=LifecycleStatus,SalesOrderID&$skip=0&$top=100", {
|
|
46330
|
+
value : [{
|
|
46331
|
+
LifecycleStatus : "N0",
|
|
46332
|
+
SalesOrderID : "0"
|
|
46333
|
+
}, {
|
|
46334
|
+
LifecycleStatus : "N1",
|
|
46335
|
+
SalesOrderID : "1"
|
|
46336
|
+
}, {
|
|
46337
|
+
LifecycleStatus : "N2",
|
|
46338
|
+
SalesOrderID : "2"
|
|
46339
|
+
}]
|
|
46277
46340
|
})
|
|
46278
|
-
.expectChange("status", "
|
|
46341
|
+
.expectChange("status", ["N0", "N1", "N2"]);
|
|
46279
46342
|
|
|
46280
46343
|
return this.createView(assert, sView, oModel).then(function () {
|
|
46281
|
-
that.oLogMock.expects("error")
|
|
46282
|
-
.withExactArgs("Failed to execute /SalesOrderList('2')/" + sAction1 + "(...)",
|
|
46283
|
-
sinon.match("Strict Handling"), sODCB);
|
|
46284
|
-
|
|
46285
46344
|
that.expectRequest({
|
|
46286
46345
|
headers : {
|
|
46287
46346
|
Prefer : "handling=strict"
|
|
46288
46347
|
},
|
|
46289
46348
|
method : "POST",
|
|
46290
|
-
url : "SalesOrderList('
|
|
46349
|
+
url : "SalesOrderList('0')/" + sAction,
|
|
46291
46350
|
payload : {}
|
|
46292
46351
|
}, oError, {
|
|
46293
46352
|
"Preference-Applied" : "handling=strict"
|
|
@@ -46297,39 +46356,70 @@ make root = ${bMakeRoot}`;
|
|
|
46297
46356
|
Prefer : "handling=strict"
|
|
46298
46357
|
},
|
|
46299
46358
|
method : "POST",
|
|
46300
|
-
url : "SalesOrderList('
|
|
46359
|
+
url : "SalesOrderList('1')/" + sAction,
|
|
46360
|
+
payload : {}
|
|
46361
|
+
}/*response does not matter*/)
|
|
46362
|
+
.expectRequest({
|
|
46363
|
+
headers : {
|
|
46364
|
+
Prefer : "handling=strict"
|
|
46365
|
+
},
|
|
46366
|
+
method : "POST",
|
|
46367
|
+
url : "SalesOrderList('2')/" + sAction,
|
|
46301
46368
|
payload : {}
|
|
46302
46369
|
}/*response does not matter*/);
|
|
46303
46370
|
|
|
46304
|
-
|
|
46305
|
-
|
|
46371
|
+
const oListBinding = that.oView.byId("table").getBinding("items");
|
|
46372
|
+
const aContexts = oListBinding.getCurrentContexts();
|
|
46306
46373
|
|
|
46307
|
-
|
|
46308
|
-
|
|
46309
|
-
.
|
|
46310
|
-
|
|
46311
|
-
|
|
46312
|
-
|
|
46374
|
+
// code under test
|
|
46375
|
+
oAction0Promise = that.oModel.bindContext(sAction + "(...)", aContexts[0])
|
|
46376
|
+
.execute("$auto", false, onStrictHandlingFailed0);
|
|
46377
|
+
oAction1Promise = that.oModel.bindContext(sAction + "(...)", aContexts[1])
|
|
46378
|
+
.execute("$auto", false, onStrictHandlingFailed1);
|
|
46379
|
+
oAction2Promise = that.oModel.bindContext(sAction + "(...)", aContexts[2])
|
|
46380
|
+
.execute("$auto", false, onStrictHandlingFailed2);
|
|
46313
46381
|
|
|
46314
46382
|
return that.waitForChanges(assert);
|
|
46315
46383
|
}).then(function () {
|
|
46316
46384
|
if (bConfirm) {
|
|
46317
46385
|
that.expectRequest({
|
|
46318
46386
|
method : "POST",
|
|
46319
|
-
url : "SalesOrderList('
|
|
46387
|
+
url : "SalesOrderList('0')/" + sAction,
|
|
46388
|
+
payload : {}
|
|
46389
|
+
}, {
|
|
46390
|
+
LifecycleStatus : "C0",
|
|
46391
|
+
SalesOrderID : "0"
|
|
46392
|
+
})
|
|
46393
|
+
.expectRequest({
|
|
46394
|
+
method : "POST",
|
|
46395
|
+
url : "SalesOrderList('1')/" + sAction,
|
|
46320
46396
|
payload : {}
|
|
46321
46397
|
}, {
|
|
46322
|
-
LifecycleStatus : "
|
|
46398
|
+
LifecycleStatus : "C1",
|
|
46323
46399
|
SalesOrderID : "1"
|
|
46324
46400
|
})
|
|
46325
|
-
.
|
|
46401
|
+
.expectRequest({
|
|
46402
|
+
method : "POST",
|
|
46403
|
+
url : "SalesOrderList('2')/" + sAction,
|
|
46404
|
+
payload : {}
|
|
46405
|
+
}, {
|
|
46406
|
+
LifecycleStatus : "C2",
|
|
46407
|
+
SalesOrderID : "2"
|
|
46408
|
+
})
|
|
46409
|
+
.expectChange("status", ["C0", "C1", "C2"]);
|
|
46326
46410
|
} else {
|
|
46327
|
-
that.expectCanceledError("Failed to execute /SalesOrderList('
|
|
46411
|
+
that.expectCanceledError("Failed to execute /SalesOrderList('0')/" + sAction
|
|
46412
|
+
+ "(...)", "Action canceled due to strict handling");
|
|
46413
|
+
that.expectCanceledError("Failed to execute /SalesOrderList('1')/" + sAction
|
|
46414
|
+
+ "(...)", "Action canceled due to strict handling");
|
|
46415
|
+
that.expectCanceledError("Failed to execute /SalesOrderList('2')/" + sAction
|
|
46328
46416
|
+ "(...)", "Action canceled due to strict handling");
|
|
46329
46417
|
}
|
|
46330
46418
|
|
|
46331
|
-
// code under test
|
|
46332
|
-
|
|
46419
|
+
// code under test - resolve call ensures that the handler is actually called
|
|
46420
|
+
fnResolve0(bConfirm);
|
|
46421
|
+
fnResolve1(bConfirm);
|
|
46422
|
+
fnResolve2(bConfirm);
|
|
46333
46423
|
|
|
46334
46424
|
return Promise.all([
|
|
46335
46425
|
oAction0Promise.then(function () {
|
|
@@ -46339,10 +46429,25 @@ make root = ${bMakeRoot}`;
|
|
|
46339
46429
|
assert.strictEqual(oError.message, "Action canceled due to strict handling");
|
|
46340
46430
|
assert.strictEqual(oError.canceled, true);
|
|
46341
46431
|
}),
|
|
46432
|
+
oAction1Promise.then(function () {
|
|
46433
|
+
assert.ok(bConfirm);
|
|
46434
|
+
}, function (oError) {
|
|
46435
|
+
assert.notOk(bConfirm);
|
|
46436
|
+
assert.strictEqual(oError.message, "Action canceled due to strict handling");
|
|
46437
|
+
assert.strictEqual(oError.canceled, true);
|
|
46438
|
+
}),
|
|
46439
|
+
oAction2Promise.then(function () {
|
|
46440
|
+
assert.ok(bConfirm);
|
|
46441
|
+
}, function (oError) {
|
|
46442
|
+
assert.notOk(bConfirm);
|
|
46443
|
+
assert.strictEqual(oError.message, "Action canceled due to strict handling");
|
|
46444
|
+
assert.strictEqual(oError.canceled, true);
|
|
46445
|
+
}),
|
|
46342
46446
|
that.waitForChanges(assert)
|
|
46343
46447
|
]);
|
|
46344
46448
|
});
|
|
46345
46449
|
});
|
|
46450
|
+
});
|
|
46346
46451
|
});
|
|
46347
46452
|
|
|
46348
46453
|
//*********************************************************************************************
|
|
@@ -23,7 +23,8 @@ sap.ui.define([
|
|
|
23
23
|
* @param {object} oExpectedInnerError - The expected inner error
|
|
24
24
|
* @param {string} sUrl - The expected request URL
|
|
25
25
|
* @param {string} sResourcePath - The expected resource path
|
|
26
|
-
* @param {boolean} bStrictHandlingFailed -
|
|
26
|
+
* @param {boolean} [bStrictHandlingFailed] - Whether oClone.strictHandlingFailed is present and
|
|
27
|
+
* is set to <code>true</code>
|
|
27
28
|
*/
|
|
28
29
|
function checkClonedError(assert, oOriginal, oClone, oExpectedInnerError, sUrl, sResourcePath,
|
|
29
30
|
bStrictHandlingFailed) {
|
|
@@ -36,7 +37,11 @@ sap.ui.define([
|
|
|
36
37
|
assert.strictEqual(oClone.statusText, "Internal Server Error");
|
|
37
38
|
assert.notStrictEqual(oClone.error, oOriginal.error);
|
|
38
39
|
assert.deepEqual(oClone.error, oExpectedInnerError);
|
|
39
|
-
|
|
40
|
+
if (bStrictHandlingFailed) {
|
|
41
|
+
assert.strictEqual(oClone.strictHandlingFailed, true);
|
|
42
|
+
} else {
|
|
43
|
+
assert.notOk("strictHandlingFailed" in oClone);
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
/**
|
|
@@ -4141,7 +4146,7 @@ sap.ui.define([
|
|
|
4141
4146
|
oError.error = {message : "Top level message"};
|
|
4142
4147
|
oError.status = 500;
|
|
4143
4148
|
oError.statusText = "Internal Server Error";
|
|
4144
|
-
oError.strictHandlingFailed =
|
|
4149
|
+
oError.strictHandlingFailed = true;
|
|
4145
4150
|
|
|
4146
4151
|
this.mock(_Helper).expects("getContentID").withExactArgs(sinon.match.same(oError.error))
|
|
4147
4152
|
.returns(undefined);
|
|
@@ -4160,11 +4165,11 @@ sap.ui.define([
|
|
|
4160
4165
|
assert.strictEqual(aErrors.length, 2);
|
|
4161
4166
|
checkClonedError(assert, oError, aErrors[0], {
|
|
4162
4167
|
message : "Top level message"
|
|
4163
|
-
}, "~serviceURL~/~url0~", "~path0~",
|
|
4168
|
+
}, "~serviceURL~/~url0~", "~path0~", true);
|
|
4164
4169
|
checkClonedError(assert, oError, aErrors[1], {
|
|
4165
4170
|
message : "Top level message",
|
|
4166
4171
|
$ignoreTopLevel : true
|
|
4167
|
-
}, "~serviceURL~/~url1~", "~path1~",
|
|
4172
|
+
}, "~serviceURL~/~url1~", "~path1~", true);
|
|
4168
4173
|
});
|
|
4169
4174
|
|
|
4170
4175
|
//*********************************************************************************************
|
|
@@ -4264,7 +4269,7 @@ sap.ui.define([
|
|
|
4264
4269
|
};
|
|
4265
4270
|
oError.status = 500;
|
|
4266
4271
|
oError.statusText = "Internal Server Error";
|
|
4267
|
-
oError.strictHandlingFailed =
|
|
4272
|
+
oError.strictHandlingFailed = true;
|
|
4268
4273
|
oHelperMock.expects("getContentID").withExactArgs(sinon.match.same(oError.error))
|
|
4269
4274
|
.callThrough();
|
|
4270
4275
|
oHelperMock.expects("getContentID").withExactArgs(oError.error.details[0])
|
|
@@ -4287,7 +4292,7 @@ sap.ui.define([
|
|
|
4287
4292
|
"@SAP__core.ContentID" : "1.0",
|
|
4288
4293
|
$ignoreTopLevel : true,
|
|
4289
4294
|
details : []
|
|
4290
|
-
}, "~serviceURL~/~url0~", "~path0~");
|
|
4295
|
+
}, "~serviceURL~/~url0~", "~path0~", true);
|
|
4291
4296
|
checkClonedError(assert, oError, aErrors[1], {
|
|
4292
4297
|
message : "Top level message",
|
|
4293
4298
|
"@SAP__core.ContentID" : "1.0",
|
|
@@ -4295,7 +4300,7 @@ sap.ui.define([
|
|
|
4295
4300
|
message : "A message",
|
|
4296
4301
|
"@SAP__core.ContentID" : "1.0"
|
|
4297
4302
|
}]
|
|
4298
|
-
}, "~serviceURL~/~url1~", "~path1~",
|
|
4303
|
+
}, "~serviceURL~/~url1~", "~path1~", true);
|
|
4299
4304
|
});
|
|
4300
4305
|
|
|
4301
4306
|
//*********************************************************************************************
|