@openui5/sap.ui.core 1.125.0 → 1.126.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 +76 -0
- package/.eslintrc.json +4 -1
- package/.reuse/dep5 +4 -4
- package/THIRDPARTY.txt +6 -6
- 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/Log.js +0 -16
- 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/ObjectPath.js +6 -6
- 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 +35 -10
- package/src/sap/ui/Global.js +6 -6
- 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 +16 -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 -8
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +17 -3
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +14 -5
- 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/Lib.js +2 -2
- 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 +148 -102
- 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 +2 -2
- 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/boot.js +1 -6
- 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/DragAndDrop.js +151 -10
- package/src/sap/ui/core/dnd/DragDropBase.js +13 -2
- 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/{model → core/fieldhelp}/FieldHelp.js +92 -65
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +62 -0
- package/src/sap/ui/core/format/FormatUtils.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 +2 -1
- package/src/sap/ui/core/library.js +49 -9
- 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/ControllerExtension.js +16 -0
- 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/support/trace/E2eTraceLib.js +1 -1
- package/src/sap/ui/core/themes/sap_hcb/base_BlindLayer.less +37 -0
- package/src/sap/ui/core/themes/sap_hcb/base_BrowserScrollbar.less +36 -0
- package/src/sap/ui/core/themes/sap_hcb/base_BusyIndicator.less +19 -0
- package/src/sap/ui/core/themes/sap_hcb/base_CommandShortcutHints.less +20 -0
- package/src/sap/ui/core/themes/sap_hcb/base_DragAndDrop.less +76 -0
- package/src/sap/ui/core/themes/sap_hcb/base_Icon.less +144 -0
- package/src/sap/ui/core/themes/sap_hcb/base_LocalBusyIndicator.less +292 -0
- package/src/sap/ui/core/themes/sap_hcb/base_SAP-icons.less +10 -0
- package/src/sap/ui/core/themes/sap_hcb/base_ScrollBar.less +20 -0
- package/src/sap/ui/core/themes/sap_hcb/base_Shadow.less +3 -0
- package/src/sap/ui/core/themes/sap_hcb/base_TechnicalInfo.less +157 -0
- package/src/sap/ui/core/themes/sap_hcb/base_View.less +12 -0
- package/src/sap/ui/core/themes/sap_hcb/base_media.less +36 -0
- package/src/sap/ui/core/themes/sap_hcb/base_parameterClasses.less +83 -0
- package/src/sap/ui/core/themes/sap_hcb/base_shared.less +340 -0
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +27 -1
- package/src/sap/ui/core/theming/Parameters.js +68 -8
- 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 +2 -2
- package/src/sap/ui/core/util/MockServer.js +1 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +14 -15
- 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/Binding.js +28 -0
- 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/ManagedObjectBindingSupport.js +5 -0
- 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/base/ManagedObjectModel.js +12 -2
- package/src/sap/ui/model/json/JSONModel.js +16 -11
- 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/ODataTreeBindingFlat.js +7 -2
- package/src/sap/ui/model/odata/ODataUtils.js +22 -14
- 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 +92 -43
- package/src/sap/ui/model/odata/v4/ODataBinding.js +20 -20
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -7
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +176 -87
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +9 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +36 -9
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +12 -11
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +176 -75
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +48 -9
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +15 -17
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +49 -14
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +20 -12
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +2 -2
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +3 -3
- 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/performance/trace/FESR.js +2 -2
- package/src/sap/ui/performance/trace/Interaction.js +1 -1
- package/src/sap/ui/performance/trace/Passport.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/test/starter/_utils.js +18 -3
- package/src/sap/ui/util/Mobile.js +7 -4
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +0 -25
- package/test/sap/ui/core/BindableResponseHeaders.html +1 -2
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -5
- package/test/sap/ui/core/ODataV2Messages.html +14 -11
- package/test/sap/ui/core/ODataV2MessagesPerf.html +34 -9
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.html +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.js +2 -12
- package/test/sap/ui/core/demokit/sample/common/Controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +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/v4/GridTable/SandboxModel.js +6 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +110 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +35 -43
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +118 -26
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +99 -90
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +87 -40
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +4 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Main.controller.js +1 -2
- 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/01/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/localService/mockserver.js +4 -4
- 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 +4 -4
- 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 +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +3 -3
- package/test/sap/ui/core/qunit/CommandExecution.qunit.js +96 -92
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +24 -0
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +80 -0
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +1 -0
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +2 -1
- package/test/sap/ui/core/qunit/base/Config.qunit.js +117 -114
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.html +3 -3
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.js +98 -95
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +20 -45
- package/test/sap/ui/core/qunit/base/Config_global.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.js +17 -16
- package/test/sap/ui/core/qunit/base/Config_url.qunit.html +2 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.beforeBootstrap.js +6 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.qunit.js +4 -4
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +30 -10
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +5 -1
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +159 -3
- package/test/sap/ui/core/qunit/{model → fieldhelp}/FieldHelp.qunit.js +306 -24
- package/test/sap/ui/core/qunit/fieldhelp/FieldHelpUtil.qunit.js +55 -0
- package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.html +12 -0
- package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.js +50 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +1 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +1 -1
- package/test/sap/ui/core/qunit/jquery-mobile-custom.beforeBootstrap.js +11 -0
- package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
- package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +21 -0
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -6
- package/test/sap/ui/core/qunit/loader/config.qunit.js +41 -2
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +9 -4
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -12
- package/test/sap/ui/core/qunit/odata/type/testsuite.odata.types.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +202 -73
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +94 -2
- package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +106 -103
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +20 -20
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +370 -109
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +42 -42
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2260 -177
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +39 -7
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +7 -6
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +13 -14
- package/test/sap/ui/core/qunit/odata/v4/_AnnotationHelperExpression.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +592 -169
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +82 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +44 -47
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +80 -20
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +2 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +175 -69
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +1 -1
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +9 -7
- package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/themes/sap_horizon_hcb/library.css +2 -0
- package/test/sap/ui/core/qunit/testsuite.qunit.js +1 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.browser.runtime.qunit.js +5 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +0 -3
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +4 -1
- package/test/sap/ui/core/qunit/ui/Device.qunit.js +68 -25
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectMetadata.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/Mobile.qunit.js +12 -7
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +20 -20
- package/test/sap/ui/core/relnotes/changes-1.125.json +1 -6
- package/test/sap/ui/core/relnotes/changes-1.126.json +63 -0
- package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
- 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
|
@@ -4592,104 +4592,83 @@ sap.ui.define([
|
|
|
4592
4592
|
//*********************************************************************************************
|
|
4593
4593
|
[false, true].forEach(function (bIsHeaderContext) {
|
|
4594
4594
|
[false, true].forEach(function (bHasChangeListeners) {
|
|
4595
|
+
[false, true].forEach(function (bRowsChanged) {
|
|
4596
|
+
[false, true].forEach(function (bSelectionChanged) {
|
|
4595
4597
|
if (!bIsHeaderContext && bHasChangeListeners) {
|
|
4596
4598
|
return; // unrealistic
|
|
4597
4599
|
}
|
|
4600
|
+
if (bRowsChanged && !bSelectionChanged) {
|
|
4601
|
+
return;
|
|
4602
|
+
}
|
|
4598
4603
|
const sTitle = `setSelected: is header context=${bIsHeaderContext},
|
|
4599
|
-
with change listeners=${bHasChangeListeners}
|
|
4604
|
+
with change listeners=${bHasChangeListeners} and rows' selection state
|
|
4605
|
+
has changed=${bRowsChanged}`;
|
|
4600
4606
|
|
|
4601
4607
|
QUnit.test(sTitle, function () {
|
|
4602
|
-
const oBinding = {
|
|
4608
|
+
const oBinding = {
|
|
4609
|
+
fireSelectionChanged : mustBeMocked,
|
|
4610
|
+
getHeaderContext : mustBeMocked,
|
|
4611
|
+
_getAllExistingContexts : mustBeMocked
|
|
4612
|
+
};
|
|
4603
4613
|
// Note: oBinding is optional, it might already be missing in certain cases!
|
|
4604
4614
|
const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
|
|
4605
4615
|
|
|
4606
4616
|
if (bHasChangeListeners) {
|
|
4607
4617
|
oContext.mChangeListeners = "~mChangeListeners~";
|
|
4608
4618
|
}
|
|
4609
|
-
this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
|
|
4610
4619
|
this.mock(oBinding).expects("getHeaderContext").returns(bIsHeaderContext ? oContext : null);
|
|
4620
|
+
this.stub(oContext, "toString"); // called by SinonJS, would call #isDeleted :-(
|
|
4621
|
+
this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
|
|
4611
4622
|
if (bIsHeaderContext) {
|
|
4612
4623
|
const aRowContexts = [
|
|
4613
|
-
{
|
|
4614
|
-
{
|
|
4624
|
+
{doSetSelected : mustBeMocked},
|
|
4625
|
+
{doSetSelected : mustBeMocked}
|
|
4615
4626
|
];
|
|
4616
4627
|
this.mock(oBinding).expects("_getAllExistingContexts").withExactArgs()
|
|
4617
4628
|
.returns(aRowContexts);
|
|
4618
4629
|
aRowContexts.forEach((oRowContext) => {
|
|
4619
|
-
this.mock(oRowContext).expects("
|
|
4630
|
+
this.mock(oRowContext).expects("doSetSelected")
|
|
4631
|
+
.withExactArgs("~selected~")
|
|
4632
|
+
.returns(bRowsChanged);
|
|
4620
4633
|
});
|
|
4621
4634
|
}
|
|
4622
|
-
this.mock(
|
|
4635
|
+
this.mock(oContext).expects("doSetSelected")
|
|
4636
|
+
.withExactArgs("~selected~")
|
|
4637
|
+
.returns(bSelectionChanged);
|
|
4638
|
+
this.mock(_Helper).expects("fireChange")
|
|
4639
|
+
.exactly((bSelectionChanged && bHasChangeListeners) ? 1 : 0)
|
|
4623
4640
|
.withExactArgs("~mChangeListeners~", "", "~selected~");
|
|
4624
|
-
this.mock(oContext).expects("
|
|
4625
|
-
.
|
|
4626
|
-
.
|
|
4627
|
-
const oCache = {setProperty : mustBeMocked};
|
|
4628
|
-
this.mock(oCache).expects("setProperty")
|
|
4629
|
-
.withExactArgs("@$ui5.context.isSelected", "~selected~", "~sPath~");
|
|
4630
|
-
|
|
4631
|
-
return fnProcessor(oCache, "~sPath~");
|
|
4632
|
-
});
|
|
4633
|
-
this.mock(oContext).expects("doSetSelected").withExactArgs("~selected~");
|
|
4641
|
+
this.mock(oContext.oBinding).expects("fireSelectionChanged")
|
|
4642
|
+
.exactly((bSelectionChanged || bRowsChanged) ? 1 : 0)
|
|
4643
|
+
.withExactArgs(sinon.match.same(oContext));
|
|
4634
4644
|
|
|
4635
4645
|
// code under test
|
|
4636
4646
|
oContext.setSelected("~selected~");
|
|
4637
4647
|
});
|
|
4648
|
+
});
|
|
4649
|
+
});
|
|
4638
4650
|
});
|
|
4639
4651
|
});
|
|
4640
4652
|
|
|
4641
4653
|
//*********************************************************************************************
|
|
4642
4654
|
QUnit.test("setSelected: binding destroyed", function () {
|
|
4643
4655
|
const oBinding = {
|
|
4656
|
+
fireSelectionChanged : mustBeMocked,
|
|
4644
4657
|
getHeaderContext : mustBeMocked
|
|
4645
4658
|
};
|
|
4646
4659
|
const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
|
|
4647
4660
|
|
|
4661
|
+
this.stub(oContext, "toString"); // called by SinonJS, would call #isDeleted :-(
|
|
4648
4662
|
this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
|
|
4649
4663
|
this.mock(oBinding).expects("getHeaderContext").returns(undefined);
|
|
4650
|
-
this.mock(oContext).expects("
|
|
4651
|
-
|
|
4652
|
-
.
|
|
4653
|
-
oContext.oBinding = undefined;
|
|
4654
|
-
|
|
4655
|
-
return fnProcessor({}, "~sPath~");
|
|
4656
|
-
});
|
|
4657
|
-
this.mock(oContext).expects("doSetSelected").withExactArgs(true);
|
|
4664
|
+
this.mock(oContext).expects("doSetSelected").withExactArgs(true).returns(true);
|
|
4665
|
+
this.mock(oContext.oBinding).expects("fireSelectionChanged")
|
|
4666
|
+
.withExactArgs(sinon.match.same(oContext));
|
|
4658
4667
|
|
|
4659
4668
|
// code under test - binding destroyed
|
|
4660
4669
|
oContext.setSelected(true);
|
|
4661
4670
|
});
|
|
4662
4671
|
|
|
4663
|
-
//*********************************************************************************************
|
|
4664
|
-
QUnit.test("setSelected: flag already set", function () {
|
|
4665
|
-
const oBinding = {
|
|
4666
|
-
getHeaderContext : mustBeMocked,
|
|
4667
|
-
onKeepAliveChanged : mustBeMocked
|
|
4668
|
-
};
|
|
4669
|
-
const oContext = Context.create({/*oModel*/}, oBinding, "/some/path", 42);
|
|
4670
|
-
|
|
4671
|
-
oContext.mChangeListeners = "~mChangeListeners~";
|
|
4672
|
-
this.mock(oContext).expects("isDeleted").twice().withExactArgs().returns(false);
|
|
4673
|
-
this.mock(oBinding).expects("getHeaderContext").twice().returns(undefined);
|
|
4674
|
-
this.mock(_Helper).expects("fireChange").withExactArgs("~mChangeListeners~", "", true);
|
|
4675
|
-
this.mock(oContext).expects("withCache")
|
|
4676
|
-
.withExactArgs(sinon.match.func, "")
|
|
4677
|
-
.callsFake((fnProcessor) => {
|
|
4678
|
-
const oCache = {setProperty : mustBeMocked};
|
|
4679
|
-
this.mock(oCache).expects("setProperty")
|
|
4680
|
-
.withExactArgs("@$ui5.context.isSelected", true, "~sPath~");
|
|
4681
|
-
|
|
4682
|
-
return fnProcessor(oCache, "~sPath~");
|
|
4683
|
-
});
|
|
4684
|
-
this.mock(oBinding).expects("onKeepAliveChanged").twice().withExactArgs(oContext);
|
|
4685
|
-
|
|
4686
|
-
// code under test
|
|
4687
|
-
oContext.setSelected(true);
|
|
4688
|
-
|
|
4689
|
-
// code under test
|
|
4690
|
-
oContext.setSelected(true);
|
|
4691
|
-
});
|
|
4692
|
-
|
|
4693
4672
|
//*********************************************************************************************
|
|
4694
4673
|
QUnit.test("setSelected: error handling", function (assert) {
|
|
4695
4674
|
const oBinding = {
|
|
@@ -4714,34 +4693,80 @@ sap.ui.define([
|
|
|
4714
4693
|
});
|
|
4715
4694
|
|
|
4716
4695
|
//*********************************************************************************************
|
|
4717
|
-
|
|
4696
|
+
[true, false].forEach(function (bDoNotUpdateAnnotation) {
|
|
4697
|
+
const sTitle = "doSetSelected, binding is missing, update Annotation: "
|
|
4698
|
+
+ !bDoNotUpdateAnnotation;
|
|
4699
|
+
|
|
4700
|
+
QUnit.test(sTitle, function (assert) {
|
|
4718
4701
|
// Note: oBinding is optional, it might already be missing in certain cases!
|
|
4719
|
-
|
|
4702
|
+
const oContext = Context.create({/*oModel*/}, /*oBinding*/undefined, "/some/path", 42);
|
|
4720
4703
|
|
|
4721
4704
|
// code under test
|
|
4722
4705
|
assert.strictEqual(oContext.isSelected(), false);
|
|
4723
4706
|
|
|
4707
|
+
const oContextMock = this.mock(oContext);
|
|
4708
|
+
oContextMock.expects("withCache").exactly(bDoNotUpdateAnnotation ? 0 : 1)
|
|
4709
|
+
.withExactArgs(sinon.match.func, "")
|
|
4710
|
+
.callsFake((fnProcessor) => {
|
|
4711
|
+
const oCache = {setProperty : mustBeMocked};
|
|
4712
|
+
this.mock(oCache).expects("setProperty").never();
|
|
4713
|
+
|
|
4714
|
+
return fnProcessor(oCache, "/some/path");
|
|
4715
|
+
});
|
|
4716
|
+
|
|
4724
4717
|
// code under test
|
|
4725
|
-
oContext.doSetSelected(true);
|
|
4718
|
+
assert.strictEqual(oContext.doSetSelected(true, bDoNotUpdateAnnotation), true);
|
|
4726
4719
|
|
|
4727
4720
|
assert.strictEqual(oContext.isSelected(), true);
|
|
4728
4721
|
|
|
4729
4722
|
// code under test
|
|
4730
4723
|
assert.strictEqual(oContext.toString(), "/some/path[42;selected]");
|
|
4731
4724
|
|
|
4725
|
+
oContextMock.expects("withCache").never();
|
|
4726
|
+
|
|
4732
4727
|
// code under test
|
|
4733
|
-
oContext.doSetSelected(false);
|
|
4728
|
+
assert.strictEqual(oContext.doSetSelected(true, bDoNotUpdateAnnotation), false);
|
|
4729
|
+
|
|
4730
|
+
oContextMock.expects("withCache").exactly(bDoNotUpdateAnnotation ? 0 : 1)
|
|
4731
|
+
.withExactArgs(sinon.match.func, "")
|
|
4732
|
+
.callsFake((fnProcessor) => {
|
|
4733
|
+
const oCache = {setProperty : mustBeMocked};
|
|
4734
|
+
this.mock(oCache).expects("setProperty").never();
|
|
4735
|
+
|
|
4736
|
+
return fnProcessor(oCache, "/some/path");
|
|
4737
|
+
});
|
|
4738
|
+
|
|
4739
|
+
// code under test
|
|
4740
|
+
assert.strictEqual(oContext.doSetSelected(false, bDoNotUpdateAnnotation), true);
|
|
4734
4741
|
|
|
4735
4742
|
assert.strictEqual(oContext.isSelected(), false);
|
|
4736
4743
|
|
|
4737
4744
|
// code under test
|
|
4738
4745
|
assert.strictEqual(oContext.toString(), "/some/path[42]");
|
|
4746
|
+
});
|
|
4747
|
+
});
|
|
4748
|
+
|
|
4749
|
+
//*********************************************************************************************
|
|
4750
|
+
[true, false].forEach(function (bDoNotUpdateAnnotation) {
|
|
4751
|
+
const sTitle = "doSetSelected, context has binding, update Annotation: "
|
|
4752
|
+
+ !bDoNotUpdateAnnotation;
|
|
4739
4753
|
|
|
4740
|
-
|
|
4754
|
+
QUnit.test(sTitle, function (assert) {
|
|
4755
|
+
const oContext = Context.create({/*oModel*/}, {
|
|
4741
4756
|
getHeaderContext : true,
|
|
4742
4757
|
onKeepAliveChanged : function () {}
|
|
4743
4758
|
}, "/some/path", 42);
|
|
4744
4759
|
|
|
4760
|
+
this.mock(oContext).expects("withCache").exactly(bDoNotUpdateAnnotation ? 0 : 1)
|
|
4761
|
+
.withExactArgs(sinon.match.func, "")
|
|
4762
|
+
.callsFake((fnProcessor) => {
|
|
4763
|
+
const oCache = {setProperty : mustBeMocked};
|
|
4764
|
+
this.mock(oCache).expects("setProperty")
|
|
4765
|
+
.withExactArgs("@$ui5.context.isSelected", "~selected~", "/some/path");
|
|
4766
|
+
|
|
4767
|
+
return fnProcessor(oCache, "/some/path");
|
|
4768
|
+
});
|
|
4769
|
+
|
|
4745
4770
|
this.mock(oContext.oBinding).expects("onKeepAliveChanged")
|
|
4746
4771
|
.withExactArgs(sinon.match.same(oContext))
|
|
4747
4772
|
.callsFake(function () {
|
|
@@ -4749,8 +4774,9 @@ sap.ui.define([
|
|
|
4749
4774
|
});
|
|
4750
4775
|
|
|
4751
4776
|
// code under test
|
|
4752
|
-
oContext.doSetSelected("~selected~");
|
|
4777
|
+
assert.strictEqual(oContext.doSetSelected("~selected~", bDoNotUpdateAnnotation), true);
|
|
4753
4778
|
});
|
|
4779
|
+
});
|
|
4754
4780
|
|
|
4755
4781
|
//*********************************************************************************************
|
|
4756
4782
|
QUnit.test("isEffectivelyKeptAlive: explicitly", function (assert) {
|
|
@@ -4965,58 +4991,35 @@ sap.ui.define([
|
|
|
4965
4991
|
});
|
|
4966
4992
|
|
|
4967
4993
|
//*********************************************************************************************
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
});
|
|
4977
|
-
});
|
|
4978
|
-
|
|
4979
|
-
//*********************************************************************************************
|
|
4980
|
-
QUnit.test("requestSibling: deleted/transient", function (assert) {
|
|
4981
|
-
const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
|
|
4982
|
-
// also called by SinonJS, would call #isDeleted etc. :-(
|
|
4983
|
-
oContext.toString = function () { return "~toString~"; };
|
|
4984
|
-
const oContextMock = this.mock(oContext);
|
|
4985
|
-
oContextMock.expects("isDeleted").withExactArgs().returns(true);
|
|
4986
|
-
oContextMock.expects("isTransient").never();
|
|
4987
|
-
|
|
4988
|
-
assert.throws(function () {
|
|
4989
|
-
// code under test
|
|
4990
|
-
oContext.requestSibling();
|
|
4991
|
-
}, new Error("Unsupported context: ~toString~"));
|
|
4992
|
-
|
|
4993
|
-
oContextMock.expects("isDeleted").withExactArgs().returns(false);
|
|
4994
|
-
oContextMock.expects("isTransient").withExactArgs().returns(true);
|
|
4994
|
+
QUnit.test("getSibling", function (assert) {
|
|
4995
|
+
const oBinding = {
|
|
4996
|
+
fetchOrGetSibling : mustBeMocked
|
|
4997
|
+
};
|
|
4998
|
+
const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
|
|
4999
|
+
this.mock(oBinding).expects("fetchOrGetSibling")
|
|
5000
|
+
.withExactArgs(sinon.match.same(oContext), "~offset~")
|
|
5001
|
+
.returns("~result~");
|
|
4995
5002
|
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
oContext.requestSibling();
|
|
4999
|
-
}, new Error("Unsupported context: ~toString~"));
|
|
5003
|
+
// code under test
|
|
5004
|
+
assert.strictEqual(oContext.getSibling("~offset~"), "~result~");
|
|
5000
5005
|
});
|
|
5001
5006
|
|
|
5002
5007
|
//*********************************************************************************************
|
|
5003
|
-
|
|
5004
|
-
QUnit.test("requestSibling: #" + i, function (assert) {
|
|
5008
|
+
QUnit.test("requestSibling", async function (assert) {
|
|
5005
5009
|
const oBinding = {
|
|
5006
|
-
|
|
5010
|
+
fetchOrGetSibling : mustBeMocked
|
|
5007
5011
|
};
|
|
5008
5012
|
const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
this.mock(oContext).expects("isTransient").withExactArgs().returns(false);
|
|
5013
|
-
this.mock(oBinding).expects("requestSibling")
|
|
5014
|
-
.withExactArgs(sinon.match.same(oContext), oFixture.out).returns("~result~");
|
|
5013
|
+
this.mock(oBinding).expects("fetchOrGetSibling")
|
|
5014
|
+
.withExactArgs(sinon.match.same(oContext), "~offset~", true)
|
|
5015
|
+
.returns("~result~");
|
|
5015
5016
|
|
|
5016
5017
|
// code under test
|
|
5017
|
-
|
|
5018
|
+
const oPromise = oContext.requestSibling("~offset~");
|
|
5019
|
+
|
|
5020
|
+
assert.ok(oPromise instanceof Promise);
|
|
5021
|
+
assert.strictEqual(await oPromise, "~result~");
|
|
5018
5022
|
});
|
|
5019
|
-
});
|
|
5020
5023
|
|
|
5021
5024
|
//*********************************************************************************************
|
|
5022
5025
|
[0, 1].forEach(function (iFailureIndex) {
|
|
@@ -3100,7 +3100,7 @@ sap.ui.define([
|
|
|
3100
3100
|
});
|
|
3101
3101
|
|
|
3102
3102
|
//*********************************************************************************************
|
|
3103
|
-
QUnit.test("
|
|
3103
|
+
QUnit.test("checkSameCache", function (assert) {
|
|
3104
3104
|
var oBinding = new ODataBinding({
|
|
3105
3105
|
oCache : {}
|
|
3106
3106
|
}),
|
|
@@ -3108,10 +3108,10 @@ sap.ui.define([
|
|
|
3108
3108
|
toString : function () { return "~"; }
|
|
3109
3109
|
};
|
|
3110
3110
|
|
|
3111
|
-
oBinding.
|
|
3111
|
+
oBinding.checkSameCache(oBinding.oCache);
|
|
3112
3112
|
|
|
3113
3113
|
try {
|
|
3114
|
-
oBinding.
|
|
3114
|
+
oBinding.checkSameCache(oCache);
|
|
3115
3115
|
assert.ok(false);
|
|
3116
3116
|
} catch (oError) {
|
|
3117
3117
|
assert.strictEqual(oError.message,
|
|
@@ -862,7 +862,7 @@ sap.ui.define([
|
|
|
862
862
|
.withExactArgs(sinon.match.same(oGroupLock), "foo", sinon.match.func, undefined)
|
|
863
863
|
.callsArg(2)
|
|
864
864
|
.returns(SyncPromise.resolve(Promise.resolve()).then(function () {
|
|
865
|
-
that.mock(oBinding).expects("
|
|
865
|
+
that.mock(oBinding).expects("checkSameCache")
|
|
866
866
|
.withExactArgs(sinon.match.same(oCache))
|
|
867
867
|
.throws(oError);
|
|
868
868
|
return {};
|
|
@@ -1102,7 +1102,7 @@ sap.ui.define([
|
|
|
1102
1102
|
this.mock(oCache).expects("fetchValue")
|
|
1103
1103
|
.withExactArgs(sinon.match.same(_GroupLock.$cached), "bar", sinon.match.func, null)
|
|
1104
1104
|
.returns(SyncPromise.resolve(42));
|
|
1105
|
-
this.mock(oBinding).expects("
|
|
1105
|
+
this.mock(oBinding).expects("checkSameCache").withExactArgs(oCache);
|
|
1106
1106
|
|
|
1107
1107
|
// code under test
|
|
1108
1108
|
return oBinding.fetchValue("/absolute/bar", null, true).then(function (vResult) {
|
|
@@ -1141,7 +1141,7 @@ sap.ui.define([
|
|
|
1141
1141
|
this.mock(oCache).expects("fetchValue")
|
|
1142
1142
|
.withExactArgs(sinon.match.same(oGroupLock), "bar", sinon.match.func, undefined)
|
|
1143
1143
|
.returns(SyncPromise.resolve(42));
|
|
1144
|
-
this.mock(oBinding).expects("
|
|
1144
|
+
this.mock(oBinding).expects("checkSameCache").withExactArgs(oCache);
|
|
1145
1145
|
|
|
1146
1146
|
// code under test
|
|
1147
1147
|
return oBinding.fetchValue("/absolute/bar").then(function (vResult) {
|
|
@@ -1678,8 +1678,8 @@ sap.ui.define([
|
|
|
1678
1678
|
// code under test: invoke creates a new cache with the new path
|
|
1679
1679
|
return oBinding.setParameter("foo", "bar")
|
|
1680
1680
|
._invoke(oGroupLock1, "~mParameters~", "~bIgnoreETag~")
|
|
1681
|
-
.then(function (
|
|
1682
|
-
assert.strictEqual(
|
|
1681
|
+
.then(function (oReturnValueContext0) {
|
|
1682
|
+
assert.strictEqual(oReturnValueContext0, undefined);
|
|
1683
1683
|
if (oExpectation) {
|
|
1684
1684
|
assert.strictEqual(oExpectation.args[0][4](), oEntity);
|
|
1685
1685
|
}
|
|
@@ -2018,8 +2018,8 @@ sap.ui.define([
|
|
|
2018
2018
|
this.mock(this.oModel).expects("reportError")
|
|
2019
2019
|
.withExactArgs("Failed to invoke /TEAMS('42')/name.space.Operation(...)",
|
|
2020
2020
|
sClassName, sinon.match.same(oError))
|
|
2021
|
-
.callsFake(function (_sLogMessage, _sReportingClassName,
|
|
2022
|
-
assert.strictEqual(
|
|
2021
|
+
.callsFake(function (_sLogMessage, _sReportingClassName, oError0) {
|
|
2022
|
+
assert.strictEqual(oError0.resourcePath, "~"); // unchanged
|
|
2023
2023
|
});
|
|
2024
2024
|
|
|
2025
2025
|
// code under test
|
|
@@ -2071,8 +2071,8 @@ sap.ui.define([
|
|
|
2071
2071
|
this.mock(this.oModel).expects("reportError")
|
|
2072
2072
|
.withExactArgs("Failed to invoke /ActionImport(...)",
|
|
2073
2073
|
sClassName, sinon.match.same(oError))
|
|
2074
|
-
.callsFake(function (_sLogMessage, _sReportingClassName,
|
|
2075
|
-
assert.strictEqual(
|
|
2074
|
+
.callsFake(function (_sLogMessage, _sReportingClassName, oError0) {
|
|
2075
|
+
assert.strictEqual(oError0.resourcePath, "~"); // unchanged
|
|
2076
2076
|
});
|
|
2077
2077
|
|
|
2078
2078
|
// code under test
|
|
@@ -3090,8 +3090,8 @@ sap.ui.define([
|
|
|
3090
3090
|
.withExactArgs(sinon.match.same(oError), sinon.match.same(oOperationMetadata), "~Path~",
|
|
3091
3091
|
bRelative ? "~contextPath~" : undefined);
|
|
3092
3092
|
this.mock(_Helper).expects("extractMessages")
|
|
3093
|
-
.withExactArgs(sinon.match(function (
|
|
3094
|
-
return
|
|
3093
|
+
.withExactArgs(sinon.match(function (oError0) {
|
|
3094
|
+
return oError0.error.$ignoreTopLevel === true;
|
|
3095
3095
|
}))
|
|
3096
3096
|
.returns(aRawMessages);
|
|
3097
3097
|
|
|
@@ -3454,13 +3454,13 @@ sap.ui.define([
|
|
|
3454
3454
|
|
|
3455
3455
|
that.mock(oBinding).expects("createRefreshPromise").never();
|
|
3456
3456
|
oBinding.attachChange(function (oEvent) {
|
|
3457
|
-
var
|
|
3457
|
+
var oElementContext0 = oBinding.getBoundContext();
|
|
3458
3458
|
|
|
3459
3459
|
assert.strictEqual(oEvent.getParameter("reason"), ChangeReason.Refresh);
|
|
3460
|
-
assert.strictEqual(
|
|
3461
|
-
assert.strictEqual(
|
|
3462
|
-
assert.strictEqual(
|
|
3463
|
-
assert.strictEqual(
|
|
3460
|
+
assert.strictEqual(oElementContext0.getBinding(), oBinding);
|
|
3461
|
+
assert.strictEqual(oElementContext0.getModelIndex(), undefined);
|
|
3462
|
+
assert.strictEqual(oElementContext0.getModel(), this.oModel);
|
|
3463
|
+
assert.strictEqual(oElementContext0.getPath(), "/EMPLOYEES('42')");
|
|
3464
3464
|
});
|
|
3465
3465
|
|
|
3466
3466
|
// code under test
|
|
@@ -4790,11 +4790,11 @@ sap.ui.define([
|
|
|
4790
4790
|
that.mock(oBinding).expects("visitSideEffects")
|
|
4791
4791
|
.withExactArgs(sGroupId, sinon.match.same(aPaths),
|
|
4792
4792
|
sinon.match.same(oContext), aPromises)
|
|
4793
|
-
.callsFake(function (_sGroupId, _aPaths, _oContext,
|
|
4794
|
-
|
|
4795
|
-
|
|
4793
|
+
.callsFake(function (_sGroupId, _aPaths, _oContext, aPromises0) {
|
|
4794
|
+
aPromises0.push(Promise.resolve());
|
|
4795
|
+
aPromises0.push(Promise.reject(oCanceledError));
|
|
4796
4796
|
if (bRecursionRejects) {
|
|
4797
|
-
|
|
4797
|
+
aPromises0.push(Promise.reject(oError));
|
|
4798
4798
|
}
|
|
4799
4799
|
});
|
|
4800
4800
|
that.mock(oBinding).expects("refreshDependentListBindingsWithoutCache")
|