@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
|
@@ -57,14 +57,14 @@ sap.ui.define([
|
|
|
57
57
|
* @returns {object}
|
|
58
58
|
* the data
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
// eslint-disable-next-line default-param-last
|
|
61
|
+
function createData(iLength, iStart = 0, bDrillDown, iCount, bKeyPredicates) {
|
|
61
62
|
var oData = {value : []},
|
|
62
63
|
i;
|
|
63
64
|
|
|
64
65
|
if (iCount !== undefined) {
|
|
65
66
|
oData.value.$count = iCount;
|
|
66
67
|
}
|
|
67
|
-
iStart = iStart || 0;
|
|
68
68
|
for (i = 0; i < iLength; i += 1) {
|
|
69
69
|
oData.value[i] = {
|
|
70
70
|
Name : "Name " + (iStart + i),
|
|
@@ -93,7 +93,7 @@ sap.ui.define([
|
|
|
93
93
|
// create ODataModel
|
|
94
94
|
this.oModel = new ODataModel({serviceUrl : "/service/?sap-client=111"});
|
|
95
95
|
this.oModel.setSizeLimit(3);
|
|
96
|
-
// ensure that the requestor does not
|
|
96
|
+
// ensure that the requestor does not invoke requests
|
|
97
97
|
this.mock(this.oModel.oRequestor).expects("request").never();
|
|
98
98
|
// avoid that the cache requests actual metadata for faked responses
|
|
99
99
|
this.mock(this.oModel.oRequestor.oModelInterface).expects("fetchMetadata").atLeast(0)
|
|
@@ -4042,11 +4042,19 @@ sap.ui.define([
|
|
|
4042
4042
|
|
|
4043
4043
|
QUnit.test(sTitle, function (assert) {
|
|
4044
4044
|
var oBinding = this.bindList("/EMPLOYEES", {/*oContext*/}),
|
|
4045
|
-
aContexts = [
|
|
4045
|
+
aContexts = [
|
|
4046
|
+
{setSelected : mustBeMocked},
|
|
4047
|
+
{setSelected : mustBeMocked},
|
|
4048
|
+
{setSelected : mustBeMocked}
|
|
4049
|
+
],
|
|
4046
4050
|
oContextMock = this.mock(Context),
|
|
4047
4051
|
i,
|
|
4048
4052
|
sPath,
|
|
4049
|
-
aResults = [
|
|
4053
|
+
aResults = [
|
|
4054
|
+
{setSelected : mustBeMocked},
|
|
4055
|
+
{setSelected : mustBeMocked},
|
|
4056
|
+
{setSelected : mustBeMocked}
|
|
4057
|
+
],
|
|
4050
4058
|
iServerIndex,
|
|
4051
4059
|
iStart = 2;
|
|
4052
4060
|
|
|
@@ -4070,7 +4078,11 @@ sap.ui.define([
|
|
|
4070
4078
|
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
4071
4079
|
sPath, iServerIndex)
|
|
4072
4080
|
.returns(aContexts[i - iStart]);
|
|
4081
|
+
this.mock(aContexts[i - iStart]).expects("setSelected")
|
|
4082
|
+
.withExactArgs("~selected~");
|
|
4073
4083
|
}
|
|
4084
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected").exactly(aContexts.length)
|
|
4085
|
+
.withExactArgs().returns("~selected~");
|
|
4074
4086
|
|
|
4075
4087
|
// code under test
|
|
4076
4088
|
assert.strictEqual(oBinding.createContexts(iStart, aResults), true);
|
|
@@ -4097,7 +4109,7 @@ sap.ui.define([
|
|
|
4097
4109
|
|
|
4098
4110
|
function result(iLength, iCount) {
|
|
4099
4111
|
// only active created contexts add to $count
|
|
4100
|
-
iCount
|
|
4112
|
+
iCount &&= iCount + (bCreated ? 1 : 0);
|
|
4101
4113
|
return createData(iLength, 0, true, iCount);
|
|
4102
4114
|
}
|
|
4103
4115
|
|
|
@@ -4226,7 +4238,7 @@ sap.ui.define([
|
|
|
4226
4238
|
var oBinding = this.bindList("/EMPLOYEES", {/*oContext*/}),
|
|
4227
4239
|
oContext1 = Context.create(this.oModel, oBinding, "/EMPLOYEES/1", 1),
|
|
4228
4240
|
oContext2 = Context.create(this.oModel, oBinding, "/EMPLOYEES/2", 2),
|
|
4229
|
-
oContext3 = {},
|
|
4241
|
+
oContext3 = {setSelected : mustBeMocked},
|
|
4230
4242
|
oContextMock = this.mock(Context);
|
|
4231
4243
|
|
|
4232
4244
|
oBinding.mPreviousContextsByPath = {
|
|
@@ -4240,6 +4252,9 @@ sap.ui.define([
|
|
|
4240
4252
|
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
4241
4253
|
"/EMPLOYEES/3", 3)
|
|
4242
4254
|
.returns(oContext3);
|
|
4255
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
4256
|
+
.withExactArgs().returns("~selected~");
|
|
4257
|
+
this.mock(oContext3).expects("setSelected").withExactArgs("~selected~");
|
|
4243
4258
|
this.mock(this.oModel).expects("addPrerenderingTask")
|
|
4244
4259
|
.withExactArgs(sinon.match.func).callsArg(0);
|
|
4245
4260
|
this.mock(oBinding).expects("destroyPreviousContexts").withExactArgs(["/EMPLOYEES/0"]);
|
|
@@ -4329,7 +4344,7 @@ sap.ui.define([
|
|
|
4329
4344
|
var oBinding = this.bindList("/EMPLOYEES"),
|
|
4330
4345
|
oCreatedContext = Context.create(this.oModel, oBinding, "/EMPLOYEES('1')", -1,
|
|
4331
4346
|
SyncPromise.resolve()),
|
|
4332
|
-
oNewContext = {};
|
|
4347
|
+
oNewContext = {setSelected : mustBeMocked};
|
|
4333
4348
|
|
|
4334
4349
|
oBinding.mPreviousContextsByPath = {
|
|
4335
4350
|
"/EMPLOYEES('1')" : oCreatedContext
|
|
@@ -4339,6 +4354,9 @@ sap.ui.define([
|
|
|
4339
4354
|
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
4340
4355
|
"/EMPLOYEES('1')", 0)
|
|
4341
4356
|
.returns(oNewContext);
|
|
4357
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
4358
|
+
.withExactArgs().returns("~selected~");
|
|
4359
|
+
this.mock(oNewContext).expects("setSelected").withExactArgs("~selected~");
|
|
4342
4360
|
this.mock(this.oModel).expects("addPrerenderingTask")
|
|
4343
4361
|
.withExactArgs(sinon.match.func).callsArg(0);
|
|
4344
4362
|
this.mock(oCreatedContext).expects("destroy").withExactArgs();
|
|
@@ -4735,25 +4753,6 @@ sap.ui.define([
|
|
|
4735
4753
|
});
|
|
4736
4754
|
});
|
|
4737
4755
|
|
|
4738
|
-
//*********************************************************************************************
|
|
4739
|
-
QUnit.test("_delete: recursive hierarchy, restrictions not met", function (assert) {
|
|
4740
|
-
const oBinding = this.bindList("/EMPLOYEES");
|
|
4741
|
-
|
|
4742
|
-
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
4743
|
-
// too far :-(
|
|
4744
|
-
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
4745
|
-
|
|
4746
|
-
const oContext = {
|
|
4747
|
-
// noIndex
|
|
4748
|
-
toString : function () { return "~toString~"; } // cannot be mocked?
|
|
4749
|
-
};
|
|
4750
|
-
|
|
4751
|
-
assert.throws(function () {
|
|
4752
|
-
// code under test
|
|
4753
|
-
oBinding.delete("~oGroupLock~", "~sEditUrl~", oContext);
|
|
4754
|
-
}, new Error("Unsupported kept-alive context: ~toString~"));
|
|
4755
|
-
});
|
|
4756
|
-
|
|
4757
4756
|
//*********************************************************************************************
|
|
4758
4757
|
QUnit.test("create: callbacks and eventing", function (assert) {
|
|
4759
4758
|
var oBinding = this.bindList("/EMPLOYEES"),
|
|
@@ -5361,12 +5360,14 @@ sap.ui.define([
|
|
|
5361
5360
|
created : function () {},
|
|
5362
5361
|
fetchValue : function () {},
|
|
5363
5362
|
getPath : function () {},
|
|
5363
|
+
setSelected : mustBeMocked,
|
|
5364
5364
|
updateAfterCreate : function () {}
|
|
5365
5365
|
},
|
|
5366
5366
|
oNewContext1 = {
|
|
5367
5367
|
created : function () {},
|
|
5368
5368
|
fetchValue : function () {},
|
|
5369
5369
|
getPath : function () {},
|
|
5370
|
+
setSelected : mustBeMocked,
|
|
5370
5371
|
updateAfterCreate : function () {}
|
|
5371
5372
|
},
|
|
5372
5373
|
bNotAllowed = aAtEnd[0] && !aAtEnd[1],
|
|
@@ -5399,6 +5400,9 @@ sap.ui.define([
|
|
|
5399
5400
|
oNewContext0.oCreatedPromise = Promise.resolve(arguments[4]);
|
|
5400
5401
|
return oNewContext0;
|
|
5401
5402
|
});
|
|
5403
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected").exactly(bNotAllowed ? 1 : 2)
|
|
5404
|
+
.withExactArgs().returns("~selected~");
|
|
5405
|
+
this.mock(oNewContext0).expects("setSelected").withExactArgs("~selected~");
|
|
5402
5406
|
this.mock(oNewContext0).expects("created").exactly(bTransient ? 1 : 0)
|
|
5403
5407
|
.withExactArgs()
|
|
5404
5408
|
.callsFake(function () {
|
|
@@ -5451,6 +5455,7 @@ sap.ui.define([
|
|
|
5451
5455
|
oNewContext1.oCreatedPromise = Promise.resolve(arguments[4]);
|
|
5452
5456
|
return oNewContext1;
|
|
5453
5457
|
});
|
|
5458
|
+
this.mock(oNewContext1).expects("setSelected").withExactArgs("~selected~");
|
|
5454
5459
|
this.mock(oNewContext1).expects("created").exactly(bTransient ? 1 : 0)
|
|
5455
5460
|
.withExactArgs()
|
|
5456
5461
|
.callsFake(function () {
|
|
@@ -5518,6 +5523,7 @@ sap.ui.define([
|
|
|
5518
5523
|
created : function () {},
|
|
5519
5524
|
fetchValue : function () {},
|
|
5520
5525
|
getPath : function () { return ""; },
|
|
5526
|
+
setSelected : mustBeMocked,
|
|
5521
5527
|
refreshDependentBindings : function () {}
|
|
5522
5528
|
};
|
|
5523
5529
|
|
|
@@ -5535,6 +5541,9 @@ sap.ui.define([
|
|
|
5535
5541
|
sinon.match.same(oBinding), sinon.match.string, -oBinding.iCreatedContexts - 1,
|
|
5536
5542
|
sinon.match.instanceOf(SyncPromise), undefined)
|
|
5537
5543
|
.returns(oNewContext);
|
|
5544
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
5545
|
+
.withExactArgs().returns("~selected~");
|
|
5546
|
+
this.mock(oNewContext).expects("setSelected").withExactArgs("~selected~");
|
|
5538
5547
|
this.mock(oNewContext).expects("fetchValue").withExactArgs().resolves(undefined);
|
|
5539
5548
|
this.mock(_Helper).expects("setPrivateAnnotation").never();
|
|
5540
5549
|
|
|
@@ -5704,12 +5713,15 @@ sap.ui.define([
|
|
|
5704
5713
|
.and(sinon.match({"@$ui5.node.parent" : "canonical/path"})),
|
|
5705
5714
|
false, sinon.match.func, sinon.match.func)
|
|
5706
5715
|
.returns(SyncPromise.resolve(Promise.resolve("~oCreatedEntity~")));
|
|
5707
|
-
const oContext = {fetchValue : mustBeMocked};
|
|
5716
|
+
const oContext = {fetchValue : mustBeMocked, setSelected : mustBeMocked};
|
|
5708
5717
|
this.mock(Context).expects("create")
|
|
5709
5718
|
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
5710
5719
|
"~sResolvedPath~($uid=id-1-23)", /*iChildIndex*/3,
|
|
5711
5720
|
sinon.match.instanceOf(SyncPromise), undefined)
|
|
5712
5721
|
.returns(oContext);
|
|
5722
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
5723
|
+
.withExactArgs().returns("~selected~");
|
|
5724
|
+
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5713
5725
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5714
5726
|
.returns(SyncPromise.resolve()); //TODO
|
|
5715
5727
|
this.mock(oBinding).expects("_fireChange")
|
|
@@ -5758,12 +5770,15 @@ sap.ui.define([
|
|
|
5758
5770
|
sinon.match(rTransientPredicate), "~oEntityData~",
|
|
5759
5771
|
false, sinon.match.func, sinon.match.func)
|
|
5760
5772
|
.returns(SyncPromise.resolve(Promise.resolve("~oCreatedEntity~")));
|
|
5761
|
-
const oContext = {fetchValue : mustBeMocked};
|
|
5773
|
+
const oContext = {fetchValue : mustBeMocked, setSelected : mustBeMocked};
|
|
5762
5774
|
this.mock(Context).expects("create")
|
|
5763
5775
|
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
5764
5776
|
"~sResolvedPath~($uid=id-1-23)", /*iChildIndex*/0,
|
|
5765
5777
|
sinon.match.instanceOf(SyncPromise), undefined)
|
|
5766
5778
|
.returns(oContext);
|
|
5779
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
5780
|
+
.withExactArgs().returns("~selected~");
|
|
5781
|
+
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5767
5782
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5768
5783
|
.returns(SyncPromise.resolve()); //TODO
|
|
5769
5784
|
this.mock(oBinding).expects("_fireChange")
|
|
@@ -10223,21 +10238,9 @@ sap.ui.define([
|
|
|
10223
10238
|
//*********************************************************************************************
|
|
10224
10239
|
[false, true].forEach(function (bFireChange) {
|
|
10225
10240
|
QUnit.test("getAllCurrentContexts: bFireChange = " + bFireChange, function (assert) {
|
|
10226
|
-
|
|
10227
|
-
|
|
10228
|
-
|
|
10229
|
-
getAllElements : function () {}
|
|
10230
|
-
},
|
|
10231
|
-
oKeptContext0 = {isEffectivelyKeptAlive : function () {}},
|
|
10232
|
-
oKeptContext1 = {isEffectivelyKeptAlive : function () {}},
|
|
10233
|
-
oNotKeptContext = {isEffectivelyKeptAlive : function () {}}; // BCP 2270081950:
|
|
10234
|
-
// there is a point in time when contexts with keepAlive=false are present in
|
|
10235
|
-
// mPreviousContextsByPath which need be filtered out.
|
|
10236
|
-
|
|
10237
|
-
oBinding.mPreviousContextsByPath = {
|
|
10238
|
-
"~sPath1~" : oKeptContext0,
|
|
10239
|
-
"~sPath2~" : oKeptContext1,
|
|
10240
|
-
"~sPath3~" : oNotKeptContext
|
|
10241
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
10242
|
+
const oCache = {
|
|
10243
|
+
getAllElements : function () {}
|
|
10241
10244
|
};
|
|
10242
10245
|
|
|
10243
10246
|
this.mock(oBinding).expects("withCache").withExactArgs(sinon.match.func, "", true)
|
|
@@ -10245,46 +10248,61 @@ sap.ui.define([
|
|
|
10245
10248
|
this.mock(oCache).expects("getAllElements").withExactArgs("path/to/cache")
|
|
10246
10249
|
.returns("~aElements~");
|
|
10247
10250
|
this.mock(oBinding).expects("createContexts").withExactArgs(0, "~aElements~")
|
|
10248
|
-
.
|
|
10249
|
-
oBinding.aContexts = ["~oContext0~", undefined, "~oContext2~"];
|
|
10250
|
-
return bFireChange;
|
|
10251
|
-
});
|
|
10251
|
+
.returns(bFireChange);
|
|
10252
10252
|
this.mock(oBinding).expects("_fireChange").withExactArgs({reason : ChangeReason.Change})
|
|
10253
10253
|
.exactly(bFireChange ? 1 : 0);
|
|
10254
10254
|
|
|
10255
|
-
this.mock(
|
|
10256
|
-
|
|
10257
|
-
this.mock(oNotKeptContext).expects("isEffectivelyKeptAlive").withExactArgs().returns(false);
|
|
10255
|
+
this.mock(oBinding).expects("_getAllExistingContexts").withExactArgs()
|
|
10256
|
+
.returns("~aContexts~");
|
|
10258
10257
|
|
|
10259
10258
|
// code under test
|
|
10260
|
-
|
|
10261
|
-
|
|
10262
|
-
assert.deepEqual(aAllCurrentContexts,
|
|
10263
|
-
["~oContext0~", "~oContext2~", oKeptContext0, oKeptContext1]);
|
|
10264
|
-
assert.strictEqual(aAllCurrentContexts[2], oKeptContext0);
|
|
10265
|
-
assert.strictEqual(aAllCurrentContexts[3], oKeptContext1);
|
|
10259
|
+
assert.deepEqual(oBinding.getAllCurrentContexts(), "~aContexts~");
|
|
10266
10260
|
});
|
|
10267
10261
|
});
|
|
10268
10262
|
|
|
10269
10263
|
//*********************************************************************************************
|
|
10270
10264
|
QUnit.test("getAllCurrentContexts: currently no cache", function (assert) {
|
|
10271
10265
|
const oBinding = this.bindList("relativePath");
|
|
10272
|
-
oBinding.aContexts = ["~oTransientContext~"];
|
|
10273
|
-
|
|
10274
|
-
const oKeptContext = {isEffectivelyKeptAlive : function () {}};
|
|
10275
|
-
oBinding.mPreviousContextsByPath = {"~sPath~" : oKeptContext};
|
|
10276
10266
|
|
|
10277
10267
|
this.mock(oBinding).expects("withCache").withExactArgs(sinon.match.func, "", true);
|
|
10278
10268
|
this.mock(oBinding).expects("createContexts").never();
|
|
10279
10269
|
this.mock(oBinding).expects("_fireChange").never();
|
|
10280
|
-
this.mock(
|
|
10270
|
+
this.mock(oBinding).expects("_getAllExistingContexts").withExactArgs()
|
|
10271
|
+
.returns("~aResults~");
|
|
10281
10272
|
|
|
10282
10273
|
// code under test
|
|
10283
10274
|
const aContexts = oBinding.getAllCurrentContexts();
|
|
10284
10275
|
|
|
10285
|
-
assert.strictEqual(aContexts
|
|
10276
|
+
assert.strictEqual(aContexts, "~aResults~");
|
|
10277
|
+
});
|
|
10278
|
+
|
|
10279
|
+
//*********************************************************************************************
|
|
10280
|
+
QUnit.test("_getAllExistingContexts", function (assert) {
|
|
10281
|
+
const oBinding = this.bindList("relativePath");
|
|
10282
|
+
oBinding.aContexts = [/*empty*/, undefined, "~oTransientContext~"];
|
|
10283
|
+
const oKeptContext0 = {isEffectivelyKeptAlive : function () {}};
|
|
10284
|
+
const oKeptContext1 = {isEffectivelyKeptAlive : function () {}};
|
|
10285
|
+
const oNotKeptContext = {isEffectivelyKeptAlive : function () {}}; // BCP 2270081950:
|
|
10286
|
+
// there is a point in time when contexts with keepAlive=false are present in
|
|
10287
|
+
// mPreviousContextsByPath which need be filtered out.
|
|
10288
|
+
|
|
10289
|
+
oBinding.mPreviousContextsByPath = {
|
|
10290
|
+
"~sPath1~" : oKeptContext0,
|
|
10291
|
+
"~sPath2~" : oKeptContext1,
|
|
10292
|
+
"~sPath3~" : oNotKeptContext
|
|
10293
|
+
};
|
|
10294
|
+
|
|
10295
|
+
this.mock(oKeptContext0).expects("isEffectivelyKeptAlive").withExactArgs().returns(true);
|
|
10296
|
+
this.mock(oKeptContext1).expects("isEffectivelyKeptAlive").withExactArgs().returns(true);
|
|
10297
|
+
this.mock(oNotKeptContext).expects("isEffectivelyKeptAlive").withExactArgs().returns(false);
|
|
10298
|
+
|
|
10299
|
+
// code under test
|
|
10300
|
+
const aContexts = oBinding._getAllExistingContexts();
|
|
10301
|
+
|
|
10302
|
+
assert.strictEqual(aContexts.length, 3);
|
|
10286
10303
|
assert.strictEqual(aContexts[0], "~oTransientContext~");
|
|
10287
|
-
assert.strictEqual(aContexts[1],
|
|
10304
|
+
assert.strictEqual(aContexts[1], oKeptContext0);
|
|
10305
|
+
assert.strictEqual(aContexts[2], oKeptContext1);
|
|
10288
10306
|
});
|
|
10289
10307
|
|
|
10290
10308
|
//*********************************************************************************************
|
|
@@ -10860,7 +10878,7 @@ sap.ui.define([
|
|
|
10860
10878
|
|
|
10861
10879
|
//*********************************************************************************************
|
|
10862
10880
|
[false, true].forEach((bCreated) => {
|
|
10863
|
-
[-1, +1, 0].forEach((iDirection) => { // child
|
|
10881
|
+
[-1, +1, 0].forEach((iDirection) => { // child starts before or after target (or right in place)
|
|
10864
10882
|
[false, true].forEach((bIsExpanded) => {
|
|
10865
10883
|
[1, 4].forEach((iCount) => {
|
|
10866
10884
|
[1, Number.MAX_SAFE_INTEGER, 1E16].forEach((iExpandTo) => {
|
|
@@ -10868,24 +10886,27 @@ sap.ui.define([
|
|
|
10868
10886
|
const sTitle = `move: created=${bCreated}, direction=${iDirection}, expanded=${bIsExpanded},
|
|
10869
10887
|
child nodes added=${iCount}, expandTo=${iExpandTo}, make root=${bMakeRoot}`;
|
|
10870
10888
|
|
|
10871
|
-
if (bMakeRoot && (iDirection < 0 || iCount > 1)) {
|
|
10889
|
+
if (bMakeRoot && (iDirection < 0 && iExpandTo === 1 || iCount > 1)) {
|
|
10872
10890
|
return;
|
|
10873
10891
|
}
|
|
10874
10892
|
|
|
10875
10893
|
QUnit.test(sTitle, function (assert) {
|
|
10876
10894
|
const iParentIndex = bMakeRoot ? -1 : 42;
|
|
10877
|
-
let
|
|
10895
|
+
let iNewIndex = iExpandTo > 1 ? 42 : iParentIndex + 1;
|
|
10896
|
+
let iOldIndex = iNewIndex;
|
|
10878
10897
|
if (iDirection < 0) {
|
|
10879
|
-
|
|
10898
|
+
iOldIndex = 23;
|
|
10880
10899
|
} else if (iDirection > 0) {
|
|
10881
|
-
|
|
10900
|
+
iOldIndex = 64;
|
|
10882
10901
|
}
|
|
10883
10902
|
const oChildContext = {
|
|
10884
|
-
iIndex :
|
|
10903
|
+
iIndex : iOldIndex,
|
|
10885
10904
|
created : mustBeMocked,
|
|
10886
10905
|
getCanonicalPath : mustBeMocked,
|
|
10906
|
+
getModelIndex : mustBeMocked,
|
|
10887
10907
|
isExpanded : mustBeMocked,
|
|
10888
|
-
setCreatedPersisted : mustBeMocked
|
|
10908
|
+
setCreatedPersisted : mustBeMocked,
|
|
10909
|
+
setPersisted : mustBeMocked
|
|
10889
10910
|
};
|
|
10890
10911
|
this.mock(oChildContext).expects("isExpanded").withExactArgs().returns(bIsExpanded);
|
|
10891
10912
|
this.mock(oChildContext).expects("getCanonicalPath").withExactArgs().returns("/~child~");
|
|
@@ -10916,31 +10937,35 @@ child nodes added=${iCount}, expandTo=${iExpandTo}, make root=${bMakeRoot}`;
|
|
|
10916
10937
|
.returns(new SyncPromise((resolve) => {
|
|
10917
10938
|
setTimeout(() => {
|
|
10918
10939
|
if (oParentContext) {
|
|
10919
|
-
this.mock(oParentContext).expects("getModelIndex")
|
|
10920
|
-
.
|
|
10940
|
+
this.mock(oParentContext).expects("getModelIndex").atLeast(0)
|
|
10941
|
+
.withExactArgs().returns(iParentIndex);
|
|
10921
10942
|
}
|
|
10922
10943
|
this.mock(oBinding).expects("insertGap").exactly(iCount > 1 ? 1 : 0)
|
|
10923
|
-
.withExactArgs(
|
|
10944
|
+
.withExactArgs(iParentIndex, iCount - 1);
|
|
10924
10945
|
for (let i = 0; i < 100; i += 1) {
|
|
10925
10946
|
if (i % 5) {
|
|
10926
10947
|
oBinding.aContexts[i] = {iIndex : i};
|
|
10927
10948
|
} // else: leave some gaps ;-)
|
|
10928
10949
|
}
|
|
10929
|
-
|
|
10930
|
-
|
|
10950
|
+
this.mock(oChildContext).expects("getModelIndex").withExactArgs()
|
|
10951
|
+
.returns(iOldIndex);
|
|
10952
|
+
oBinding.aContexts[iOldIndex] = oChildContext;
|
|
10953
|
+
if (oParentContext && iExpandTo === 1) {
|
|
10931
10954
|
oBinding.aContexts[iParentIndex] = oParentContext;
|
|
10932
10955
|
}
|
|
10933
10956
|
this.mock(oChildContext).expects("created").withExactArgs()
|
|
10934
10957
|
.returns(bCreated ? {/*Promise*/} : undefined);
|
|
10935
10958
|
this.mock(oChildContext).expects("setCreatedPersisted")
|
|
10936
|
-
.exactly(bCreated
|
|
10959
|
+
.exactly(!bCreated && iExpandTo === 1 ? 1 : 0).withExactArgs();
|
|
10960
|
+
this.mock(oChildContext).expects("setPersisted")
|
|
10961
|
+
.exactly(bCreated && iExpandTo > 1 ? 1 : 0).withExactArgs();
|
|
10937
10962
|
this.mock(oBinding).expects("expand").exactly(bIsExpanded ? 1 : 0)
|
|
10938
10963
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
10939
10964
|
.returns(SyncPromise.resolve());
|
|
10940
10965
|
this.mock(oBinding).expects("_fireChange").exactly(bIsExpanded ? 0 : 1)
|
|
10941
10966
|
.withExactArgs({reason : ChangeReason.Change});
|
|
10942
10967
|
|
|
10943
|
-
resolve(iCount);
|
|
10968
|
+
resolve(iExpandTo > 1 ? [iCount, iNewIndex] : [iCount]);
|
|
10944
10969
|
}, 0);
|
|
10945
10970
|
}));
|
|
10946
10971
|
|
|
@@ -10950,12 +10975,15 @@ child nodes added=${iCount}, expandTo=${iExpandTo}, make root=${bMakeRoot}`;
|
|
|
10950
10975
|
assert.strictEqual(oSyncPromise.isPending(), true);
|
|
10951
10976
|
|
|
10952
10977
|
return oSyncPromise.then(function (vResult) {
|
|
10953
|
-
const iNewParentIndex = iDirection < 0 ? iParentIndex - 1 : iParentIndex;
|
|
10954
10978
|
assert.strictEqual(vResult, undefined, "without a defined result");
|
|
10955
|
-
if (
|
|
10956
|
-
|
|
10979
|
+
if (iExpandTo === 1) {
|
|
10980
|
+
const iNewParentIndex = iDirection < 0 ? iParentIndex - 1 : iParentIndex;
|
|
10981
|
+
if (oParentContext) {
|
|
10982
|
+
assert.strictEqual(oBinding.aContexts[iNewParentIndex], oParentContext);
|
|
10983
|
+
}
|
|
10984
|
+
iNewIndex = iNewParentIndex + 1;
|
|
10957
10985
|
}
|
|
10958
|
-
assert.strictEqual(oBinding.aContexts[
|
|
10986
|
+
assert.strictEqual(oBinding.aContexts[iNewIndex], oChildContext);
|
|
10959
10987
|
for (let i = 0; i < 100; i += 1) {
|
|
10960
10988
|
if (oBinding.aContexts[i]) {
|
|
10961
10989
|
assert.strictEqual(oBinding.aContexts[i].iIndex, i, `iIndex @ ${i}`);
|
|
@@ -11030,13 +11058,15 @@ child nodes added=${iCount}, expandTo=${iExpandTo}, make root=${bMakeRoot}`;
|
|
|
11030
11058
|
iIndex : 43,
|
|
11031
11059
|
created : mustBeMocked,
|
|
11032
11060
|
getCanonicalPath : mustBeMocked,
|
|
11061
|
+
getModelIndex : mustBeMocked,
|
|
11033
11062
|
isExpanded : mustBeMocked
|
|
11034
11063
|
};
|
|
11035
11064
|
this.mock(oChildContext).expects("isExpanded").withExactArgs().returns(true);
|
|
11036
11065
|
this.mock(oChildContext).expects("getCanonicalPath").withExactArgs().returns("/~child~");
|
|
11037
11066
|
const oParentContext = {
|
|
11038
11067
|
iIndex : 42,
|
|
11039
|
-
getCanonicalPath : mustBeMocked
|
|
11068
|
+
getCanonicalPath : mustBeMocked,
|
|
11069
|
+
getModelIndex : mustBeMocked
|
|
11040
11070
|
};
|
|
11041
11071
|
this.mock(oParentContext).expects("getCanonicalPath").withExactArgs().returns("/~parent~");
|
|
11042
11072
|
const oBinding = this.bindList("/EMPLOYEES");
|
|
@@ -11053,10 +11083,10 @@ child nodes added=${iCount}, expandTo=${iExpandTo}, make root=${bMakeRoot}`;
|
|
|
11053
11083
|
};
|
|
11054
11084
|
oBinding.oCache = oCache;
|
|
11055
11085
|
this.mock(oCache).expects("move").withExactArgs("~oGroupLock~", "~child~", "~parent~")
|
|
11056
|
-
.returns(SyncPromise.resolve(1));
|
|
11086
|
+
.returns(SyncPromise.resolve([1]));
|
|
11057
11087
|
this.mock(oBinding).expects("insertGap").never();
|
|
11058
|
-
|
|
11059
|
-
|
|
11088
|
+
this.mock(oChildContext).expects("getModelIndex").withExactArgs().returns(43);
|
|
11089
|
+
this.mock(oParentContext).expects("getModelIndex").withExactArgs().returns(42);
|
|
11060
11090
|
this.mock(oChildContext).expects("created").withExactArgs().returns(true);
|
|
11061
11091
|
this.mock(oBinding).expects("expand")
|
|
11062
11092
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
@@ -2676,7 +2676,7 @@ sap.ui.define([
|
|
|
2676
2676
|
assert.strictEqual(that.oMetaModel.getObject("/tea_busi_supplier.v0001."),
|
|
2677
2677
|
mReferencedScope["tea_busi_supplier.v0001."]);
|
|
2678
2678
|
|
|
2679
|
-
// now check that "not.found." does not
|
|
2679
|
+
// now check that "not.found." does not invoke another read(),
|
|
2680
2680
|
// does finish synchronously and logs a warning
|
|
2681
2681
|
that.oLogMock.expects("warning").exactly(bWarn ? 1 : 0)
|
|
2682
2682
|
.withExactArgs("/a/default/iwbep/tea_busi_product/0001/$metadata"
|
|
@@ -2799,7 +2799,7 @@ sap.ui.define([
|
|
|
2799
2799
|
.then(function (vResult) {
|
|
2800
2800
|
assert.strictEqual(vResult, mScopeA["A."]);
|
|
2801
2801
|
|
|
2802
|
-
// Note: must not
|
|
2802
|
+
// Note: must not invoke read() again!
|
|
2803
2803
|
return that.oMetaModel.fetchObject("/B.B.")
|
|
2804
2804
|
.then(function (vResult) {
|
|
2805
2805
|
assert.strictEqual(vResult, mScopeB["B.B."]);
|
|
@@ -2920,7 +2920,7 @@ sap.ui.define([
|
|
|
2920
2920
|
delete oProperty.__constraints;
|
|
2921
2921
|
if (!bNullable) {
|
|
2922
2922
|
oProperty.$Nullable = false;
|
|
2923
|
-
oConstraints
|
|
2923
|
+
oConstraints ??= {};
|
|
2924
2924
|
oConstraints.nullable = false;
|
|
2925
2925
|
}
|
|
2926
2926
|
|