@openui5/sap.ui.core 1.124.0 → 1.125.0
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/.reuse/dep5 +5 -0
- package/THIRDPARTY.txt +7 -0
- package/package.json +1 -1
- package/src/jquery.sap.global.js +4 -4
- package/src/jquery.sap.properties.js +2 -2
- 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/jquery.sap.ui.js +6 -2
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +7 -4
- 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 +18 -25
- 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 +4 -3
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +23 -9
- package/src/sap/ui/core/Fragment.js +15 -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 +84 -50
- 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 +66 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +5 -5
- package/src/sap/ui/core/UIComponent.js +24 -17
- 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 +110 -74
- package/src/sap/ui/core/cldr/zh_TW.json +20 -20
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +29 -23
- 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 +6 -3
- package/src/sap/ui/core/format/DateFormat.js +3 -3
- 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 +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/Controller.js +77 -77
- 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 +10 -2
- package/src/sap/ui/core/mvc/XMLProcessingMode.js +4 -1
- package/src/sap/ui/core/mvc/XMLView.js +33 -5
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +40 -7
- 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/routing/async/TargetCache.js +12 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- 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/bootstrapFallback.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +6 -3
- package/src/sap/ui/model/Binding.js +10 -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/FieldHelp.js +362 -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/analytics/AnalyticalBinding.js +8 -12
- package/src/sap/ui/model/json/JSONModel.js +6 -5
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +50 -6
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +46 -32
- package/src/sap/ui/model/odata/v4/ODataBinding.js +47 -57
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +70 -82
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +285 -213
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +41 -39
- package/src/sap/ui/model/odata/v4/ODataModel.js +236 -209
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +202 -203
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -17
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +94 -22
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +41 -61
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +111 -68
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +78 -78
- package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +20 -20
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +60 -60
- package/src/sap/ui/model/resource/ResourceModel.js +7 -2
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +6 -3
- 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 +6 -3
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage-istanbul.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/OpaPlugin.js +36 -12
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/test/sap/ui/core/BindableResponseHeaders.html +4 -4
- package/test/sap/ui/core/ComponentCleanup.html +46 -46
- package/test/sap/ui/core/ComponentManifestFirst.html +26 -20
- package/test/sap/ui/core/ContextMenuSupport.html +9 -10
- package/test/sap/ui/core/DesigntimeOverview.html +1 -1
- package/test/sap/ui/core/EventBroadcaster.html +2 -2
- package/test/sap/ui/core/FieldGroup.html +70 -61
- package/test/sap/ui/core/GenericEventBinding.html +26 -23
- package/test/sap/ui/core/HTMLControl.html +46 -38
- package/test/sap/ui/core/HTMLSanitizer.html +70 -45
- package/test/sap/ui/core/IntervalTrigger.html +22 -21
- package/test/sap/ui/core/InvisibleControls.html +72 -72
- package/test/sap/ui/core/InvisibleText.html +2 -2
- package/test/sap/ui/core/LRUPersistentCache.html +19 -18
- package/test/sap/ui/core/LabelEnablement.html +18 -29
- package/test/sap/ui/core/Localization.html +40 -65
- package/test/sap/ui/core/Localization_HeapUsage.html +11 -12
- package/test/sap/ui/core/ManagedObjectModel.html +6 -7
- package/test/sap/ui/core/ODataAnnotationsPerformance.html +592 -602
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -8
- package/test/sap/ui/core/ODataV2Messages.html +1 -1
- package/test/sap/ui/core/ODataV2MessagesPerf.html +131 -132
- package/test/sap/ui/core/Popup.html +18 -14
- package/test/sap/ui/core/PopupWithUserSelection.html +4 -4
- package/test/sap/ui/core/StashedControlSupport.html +1 -1
- package/test/sap/ui/core/ThemeParameters.html +32 -20
- package/test/sap/ui/core/ValidateURL.html +109 -75
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +1 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Main.controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/Component.js +1 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Component.js +4 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/manifest.json +37 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Component.js +5 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/manifest.json +42 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +6 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Main.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/manifest.json +49 -0
- 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/types/v2/DateTime/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +35 -31
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +71 -68
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +7 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/FieldGroups.view.xml +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +46 -43
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +12 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +21 -18
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/manifest.json +4 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +21 -18
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +25 -22
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +5 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/manifest.json +3 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +60 -57
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/manifest.json +4 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.view.xml +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +81 -69
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +44 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +49 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +14 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +1 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +6 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/manifest.json +3 -11
- 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/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/getComputedStyle.html +2 -1
- package/test/sap/ui/core/getComputedStyleFF.html +1 -1
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Component.js +5 -8
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.controller.js +6 -2
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.view.xml +7 -3
- package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -3
- package/test/sap/ui/core/internal/samples/client/MusicCollection/manifest.json +1 -13
- package/test/sap/ui/core/internal/samples/odata/twoFields/Component.js +3 -45
- package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +37 -1
- package/test/sap/ui/core/internal/samples/odata/twoFields/Main.view.xml +5 -5
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/twoFields/manifest.json +1 -11
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Component.js +3 -22
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.controller.js +16 -22
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/Products/SandboxModel.js +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/v2/Products/manifest.json +2 -13
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +1 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +49 -41
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -4
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/manifest.json +3 -12
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +1 -0
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +4 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/manifest.json +1 -11
- package/test/sap/ui/core/qunit/Fragment.qunit.js +20 -20
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Icon.qunit.js +217 -1
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +18 -5
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +15 -18
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +5 -13
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +2 -2
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +36 -1
- package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +475 -290
- package/test/sap/ui/core/qunit/component/Models.qunit.js +97 -70
- package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +86 -0
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +86 -1
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Cell_Found.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Column.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EPinNestedView.view.xml +51 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/ExtensionPointProvider.js +27 -4
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Main.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Main.view.xml +0 -1
- package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Sub2.view.xml +1 -3
- package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +16 -0
- package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +102 -0
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +72 -2
- package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +14 -2
- package/test/sap/ui/core/qunit/generic/ControlRenderer.qunit.js +4 -1
- package/test/sap/ui/core/qunit/generic/legacy/ControlRenderer.qunit.js +4 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/loader/amd/base_tag/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amd/config_paths/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amd/config_paths_relative/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amdAPIs.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +13 -0
- package/test/sap/ui/core/qunit/model/FieldHelp.qunit.js +864 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +2 -2
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +8 -6
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +7 -7
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +131 -22
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -2
- package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -3
- package/test/sap/ui/core/qunit/mvc/testdata/cache.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/legacy/test.view.xml +32 -0
- package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +2 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +159 -8
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +55 -6
- package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +14 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +48 -21
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +17 -70
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +290 -20
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +613 -25
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +0 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -49
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -8
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +20 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +46 -46
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +91 -13
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +17 -14
- package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
- package/test/sap/ui/core/qunit/test/starter/find/main.js +6 -4
- package/test/sap/ui/core/qunit/testdata/routing/HistoryIFrame.html +2 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +51 -22
- package/test/sap/ui/core/qunit/types/Types.qunit.js +35 -6
- package/test/sap/ui/core/qunit/ui/Device.qunit.js +24 -0
- package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +47 -1
- package/test/sap/ui/core/relnotes/changes-1.124.json +1 -1
- package/test/sap/ui/core/relnotes/changes-1.125.json +37 -0
- package/test/sap/ui/core/samples/ResponsiveDemo.html +97 -103
- package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
- package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
- package/test/sap/ui/core/samples/mvc/Product.html +1 -7
- package/test/sap/ui/core/samples/mvc/ViewPreprocessor.html +20 -12
- package/test/sap/ui/core/samples/mvc/XMLView.html +77 -24
- package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +13 -19
- package/test/sap/ui/core/samples/mvc/controller/Async.controller.js +0 -1
- package/test/sap/ui/core/samples/mvc/controller/Product.controller.js +0 -1
- package/test/sap/ui/core/samples/mvc/views/Async.view.xml +16 -57
- package/test/sap/ui/core/samples/mvc/views/Dummy.fragment.xml +2 -2
- package/test/sap/ui/core/samples/mvc/views/Dummy.view.xml +2 -2
- package/test/sap/ui/core/samples/mvc/views/Product.view.xml +16 -57
- package/test/sap/ui/core/util/PasteHelper.html +148 -147
- 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/settings.js +5 -4
- package/test/testsuite/styles/main.css +5 -0
- package/test/sap/ui/core/ResourceRoots.html +0 -28
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/component.json +0 -17
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/component.json +0 -18
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/component.json +0 -30
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +0 -52
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Component.js +0 -30
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Sandbox.js +0 -51
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L0_top5.json +0 -32
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_A_skip8.json +0 -138
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_B.json +0 -17
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_C.json +0 -17
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_top8.json +0 -93
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/metadata.xml +0 -2322
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/i18n/i18n.properties +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/manifest.json +0 -69
|
@@ -385,8 +385,7 @@ sap.ui.define([
|
|
|
385
385
|
QUnit.test("mixin", function (assert) {
|
|
386
386
|
var oBinding = this.bindContext("/EMPLOYEES('42')"),
|
|
387
387
|
oMixin = {},
|
|
388
|
-
aOverriddenFunctions = ["adjustPredicate", "destroy", "
|
|
389
|
-
"doSetProperty", "doSuspend"];
|
|
388
|
+
aOverriddenFunctions = ["adjustPredicate", "destroy", "doSetProperty", "doSuspend"];
|
|
390
389
|
|
|
391
390
|
asODataParentBinding(oMixin);
|
|
392
391
|
|
|
@@ -703,7 +702,10 @@ sap.ui.define([
|
|
|
703
702
|
});
|
|
704
703
|
|
|
705
704
|
this.mock(oBinding).expects("createReadGroupLock").withExactArgs("group", true)
|
|
706
|
-
.
|
|
705
|
+
.callsFake(function () {
|
|
706
|
+
oBinding.oReadGroupLock = oGroupLock2;
|
|
707
|
+
});
|
|
708
|
+
this.mock(oBinding.oCache).expects("hasChangeListeners").withExactArgs().returns(true);
|
|
707
709
|
|
|
708
710
|
// code under test (as called by ODataBinding#refresh)
|
|
709
711
|
oBinding.refreshInternal("", "group", true);
|
|
@@ -893,8 +895,8 @@ sap.ui.define([
|
|
|
893
895
|
this.mock(oBinding).expects("getRelativePath")
|
|
894
896
|
.withExactArgs("/OperationImport(...)/$Parameter/" + oFixture.path)
|
|
895
897
|
.returns("$Parameter/" + oFixture.path);
|
|
896
|
-
this.mock(_Helper).expects("
|
|
897
|
-
.withExactArgs(sinon.match.same(oBinding.oOperation
|
|
898
|
+
this.mock(_Helper).expects("registerChangeListener")
|
|
899
|
+
.withExactArgs(sinon.match.same(oBinding.oOperation), oFixture.path,
|
|
898
900
|
sinon.match.same(oListener));
|
|
899
901
|
|
|
900
902
|
assert.strictEqual(
|
|
@@ -961,8 +963,8 @@ sap.ui.define([
|
|
|
961
963
|
this.mock(oBinding).expects("getRelativePath")
|
|
962
964
|
.withExactArgs("/OperationImport(...)/$Parameter/address/city")
|
|
963
965
|
.returns("$Parameter/address/city");
|
|
964
|
-
this.mock(_Helper).expects("
|
|
965
|
-
.withExactArgs(sinon.match.same(oBinding.oOperation
|
|
966
|
+
this.mock(_Helper).expects("registerChangeListener")
|
|
967
|
+
.withExactArgs(sinon.match.same(oBinding.oOperation), "address/city",
|
|
966
968
|
sinon.match.same(oListener));
|
|
967
969
|
|
|
968
970
|
assert.strictEqual(
|
|
@@ -3490,7 +3492,9 @@ sap.ui.define([
|
|
|
3490
3492
|
});
|
|
3491
3493
|
}),
|
|
3492
3494
|
fnFetchCache,
|
|
3493
|
-
oGroupLock = {
|
|
3495
|
+
oGroupLock = {
|
|
3496
|
+
unlock : mustBeMocked
|
|
3497
|
+
},
|
|
3494
3498
|
fnHasChangeListeners,
|
|
3495
3499
|
sPath = {/*EMPLOYEES('42')*/},
|
|
3496
3500
|
oRefreshResult;
|
|
@@ -3504,7 +3508,9 @@ sap.ui.define([
|
|
|
3504
3508
|
fnHasChangeListeners = this.mock(oBinding.oCache).expects("hasChangeListeners")
|
|
3505
3509
|
.withExactArgs().returns(bHasChangeListeners);
|
|
3506
3510
|
this.mock(oBinding).expects("createReadGroupLock").withExactArgs("myGroup", false)
|
|
3507
|
-
.
|
|
3511
|
+
.callsFake(function () {
|
|
3512
|
+
oBinding.oReadGroupLock = oGroupLock;
|
|
3513
|
+
});
|
|
3508
3514
|
this.mock(oBinding).expects("removeCachesAndMessages")
|
|
3509
3515
|
.withExactArgs(sinon.match.same(sPath));
|
|
3510
3516
|
fnFetchCache = oBindingMock.expects("fetchCache")
|
|
@@ -3512,6 +3518,8 @@ sap.ui.define([
|
|
|
3512
3518
|
bKeepCacheOnError ? "myGroup" : undefined);
|
|
3513
3519
|
this.mock(oBinding).expects("createRefreshPromise").exactly(bHasChangeListeners ? 1 : 0)
|
|
3514
3520
|
.withExactArgs(bKeepCacheOnError).callThrough();
|
|
3521
|
+
this.mock(oGroupLock).expects("unlock").exactly(bHasChangeListeners ? 0 : 1)
|
|
3522
|
+
.withExactArgs();
|
|
3515
3523
|
this.mock(oBinding).expects("refreshDependentBindings")
|
|
3516
3524
|
.withExactArgs(sinon.match.same(sPath), "myGroup", sinon.match.same(bCheckUpdate),
|
|
3517
3525
|
bKeepCacheOnError)
|
|
@@ -3524,6 +3532,7 @@ sap.ui.define([
|
|
|
3524
3532
|
});
|
|
3525
3533
|
|
|
3526
3534
|
assert.strictEqual(oBinding.bHasFetchedExpandSelectProperties, false);
|
|
3535
|
+
assert.strictEqual(oBinding.oReadGroupLock, bHasChangeListeners ? oGroupLock : undefined);
|
|
3527
3536
|
sinon.assert.callOrder(fnHasChangeListeners, fnFetchCache);
|
|
3528
3537
|
if (bHasChangeListeners) { // simulate fetchValue invoked by a property binding
|
|
3529
3538
|
oBinding.resolveRefreshPromise(Promise.resolve());
|
|
@@ -3591,6 +3600,7 @@ sap.ui.define([
|
|
|
3591
3600
|
.callsFake(function () {
|
|
3592
3601
|
oBinding.oReadGroupLock = oReadGroupLock;
|
|
3593
3602
|
});
|
|
3603
|
+
this.mock(oBinding.oCache).expects("hasChangeListeners").withExactArgs().returns(true);
|
|
3594
3604
|
this.mock(_Cache).expects("createSingle").returns(oCache);
|
|
3595
3605
|
|
|
3596
3606
|
// code under test
|
|
@@ -4502,8 +4512,6 @@ sap.ui.define([
|
|
|
4502
4512
|
this.mock(oBinding).expects("getRelativePath")
|
|
4503
4513
|
.withExactArgs("/Operation(...)/$Parameter/name")
|
|
4504
4514
|
.returns("$Parameter/name");
|
|
4505
|
-
this.mock(_Helper).expects("addByPath")
|
|
4506
|
-
.withExactArgs(sinon.match.same(oBinding.oOperation.mChangeListeners), "name", null);
|
|
4507
4515
|
|
|
4508
4516
|
// code under test value setting
|
|
4509
4517
|
oBinding.setParameter("name", "value");
|
|
@@ -5208,37 +5216,6 @@ sap.ui.define([
|
|
|
5208
5216
|
});
|
|
5209
5217
|
});
|
|
5210
5218
|
|
|
5211
|
-
//*********************************************************************************************
|
|
5212
|
-
QUnit.test("doDeregisterChangeListener: super", function () {
|
|
5213
|
-
const oBinding = this.bindContext("/EMPLOYEES('42')");
|
|
5214
|
-
|
|
5215
|
-
this.mock(asODataParentBinding.prototype).expects("doDeregisterChangeListener")
|
|
5216
|
-
.on(oBinding).withExactArgs("/absolute/path", "~oListener~");
|
|
5217
|
-
|
|
5218
|
-
// code under test
|
|
5219
|
-
oBinding.doDeregisterChangeListener("/absolute/path", "~oListener~");
|
|
5220
|
-
});
|
|
5221
|
-
|
|
5222
|
-
//*********************************************************************************************
|
|
5223
|
-
[undefined, "", "relative/path"].forEach(function (sRelativePath, i) {
|
|
5224
|
-
QUnit.test(`doDeregisterChangeListener: operation binding, ${sRelativePath}`, function () {
|
|
5225
|
-
const oBinding = this.bindContext("/Operation(...)");
|
|
5226
|
-
|
|
5227
|
-
this.mock(_Helper).expects("getRelativePath")
|
|
5228
|
-
.withExactArgs("/absolute/path", "/Operation(...)/$Parameter")
|
|
5229
|
-
.returns(sRelativePath);
|
|
5230
|
-
this.mock(_Helper).expects("removeByPath").exactly(i ? 1 : 0)
|
|
5231
|
-
.withExactArgs(sinon.match.same(oBinding.oOperation.mChangeListeners), sRelativePath,
|
|
5232
|
-
"~oListener~");
|
|
5233
|
-
this.mock(asODataParentBinding.prototype).expects("doDeregisterChangeListener")
|
|
5234
|
-
.exactly(i ? 0 : 1)
|
|
5235
|
-
.on(oBinding).withExactArgs("/absolute/path", sinon.match.same("~oListener~"));
|
|
5236
|
-
|
|
5237
|
-
// code under test
|
|
5238
|
-
oBinding.doDeregisterChangeListener("/absolute/path", "~oListener~");
|
|
5239
|
-
});
|
|
5240
|
-
});
|
|
5241
|
-
|
|
5242
5219
|
//*********************************************************************************************
|
|
5243
5220
|
QUnit.test("doSetProperty: non operational binding", function (assert) {
|
|
5244
5221
|
var oBinding = this.bindContext("/Employee('42')"),
|
|
@@ -2593,10 +2593,10 @@ sap.ui.define([
|
|
|
2593
2593
|
[
|
|
2594
2594
|
{success : true},
|
|
2595
2595
|
{success : true, refreshKeptElementsFails : true},
|
|
2596
|
+
{success : true, destroyedWhileRefreshing : true},
|
|
2596
2597
|
{success : false}
|
|
2597
2598
|
].forEach(function (oFixture) {
|
|
2598
|
-
var sTitle = "refreshInternal: relative with own cache,
|
|
2599
|
-
+ ", refreshKeptElements fails = " + oFixture.refreshKeptElementsFails;
|
|
2599
|
+
var sTitle = "refreshInternal: relative with own cache, " + JSON.stringify(oFixture);
|
|
2600
2600
|
|
|
2601
2601
|
QUnit.test(sTitle, function (assert) {
|
|
2602
2602
|
var oBinding,
|
|
@@ -2639,12 +2639,18 @@ sap.ui.define([
|
|
|
2639
2639
|
this.mock(oBinding).expects("fetchCache")
|
|
2640
2640
|
.withExactArgs(sinon.match.same(oContext), false, /*bKeepQueryOptions*/true, undefined);
|
|
2641
2641
|
this.mock(oBinding).expects("refreshKeptElements").withExactArgs("myGroup", undefined)
|
|
2642
|
-
.
|
|
2642
|
+
.callsFake(function () {
|
|
2643
|
+
if (oFixture.destroyedWhileRefreshing) {
|
|
2644
|
+
oBinding.oHeaderContext = undefined;
|
|
2645
|
+
}
|
|
2646
|
+
return oRefreshKeptElementsPromise;
|
|
2647
|
+
});
|
|
2643
2648
|
this.mock(oBinding).expects("createRefreshPromise").withExactArgs(undefined).callThrough();
|
|
2644
2649
|
this.mock(oBinding).expects("reset")
|
|
2645
2650
|
.withExactArgs(ChangeReason.Refresh, undefined, "myGroup");
|
|
2646
2651
|
this.mock(oBinding.oHeaderContext).expects("checkUpdateInternal")
|
|
2647
|
-
.exactly(oFixture.success && !oFixture.refreshKeptElementsFails
|
|
2652
|
+
.exactly(oFixture.success && !oFixture.refreshKeptElementsFails
|
|
2653
|
+
&& !oFixture.destroyedWhileRefreshing ? 1 : 0)
|
|
2648
2654
|
.withExactArgs()
|
|
2649
2655
|
.returns(oHeaderContextCheckUpdatePromise);
|
|
2650
2656
|
|
|
@@ -2657,7 +2663,9 @@ sap.ui.define([
|
|
|
2657
2663
|
return oRefreshResult.then(function (oResult) {
|
|
2658
2664
|
assert.ok(oFixture.success);
|
|
2659
2665
|
assert.notOk(oFixture.refreshKeptElementsFails);
|
|
2660
|
-
|
|
2666
|
+
if (!oFixture.destroyedWhileRefreshing) {
|
|
2667
|
+
assert.strictEqual(oResult, oHeaderContextCheckUpdatePromise.getResult());
|
|
2668
|
+
}
|
|
2661
2669
|
}, function (oError0) {
|
|
2662
2670
|
assert.strictEqual(oError0, oError);
|
|
2663
2671
|
assert.ok(!oFixture.success || oFixture.refreshKeptElementsFails);
|
|
@@ -5759,7 +5767,6 @@ sap.ui.define([
|
|
|
5759
5767
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
5760
5768
|
// too far :-(
|
|
5761
5769
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
5762
|
-
oBinding.iMaxLength = 42;
|
|
5763
5770
|
this.mock(oBinding).expects("fetchResourcePath").withExactArgs()
|
|
5764
5771
|
.returns("~oCreatePathPromise~");
|
|
5765
5772
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs()
|
|
@@ -5777,7 +5784,7 @@ sap.ui.define([
|
|
|
5777
5784
|
getCanonicalPath : mustBeMocked,
|
|
5778
5785
|
isExpanded : mustBeMocked
|
|
5779
5786
|
};
|
|
5780
|
-
oBinding.aContexts
|
|
5787
|
+
oBinding.aContexts[2] = oParentContext;
|
|
5781
5788
|
const oInitialData = {"@$ui5.node.parent" : oParentContext};
|
|
5782
5789
|
const oEntityData = {};
|
|
5783
5790
|
this.mock(_Helper).expects("publicClone")
|
|
@@ -5805,8 +5812,8 @@ sap.ui.define([
|
|
|
5805
5812
|
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5806
5813
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5807
5814
|
.returns(SyncPromise.resolve()); //TODO
|
|
5808
|
-
this.mock(oBinding).expects("
|
|
5809
|
-
.withExactArgs(
|
|
5815
|
+
this.mock(oBinding).expects("insertContext")
|
|
5816
|
+
.withExactArgs(sinon.match.same(oContext), 3, false);
|
|
5810
5817
|
|
|
5811
5818
|
// code under test
|
|
5812
5819
|
assert.strictEqual(oBinding.create(oInitialData, true), oContext);
|
|
@@ -5814,9 +5821,6 @@ sap.ui.define([
|
|
|
5814
5821
|
assert.strictEqual(oBinding.iActiveContexts, 0, "unchanged");
|
|
5815
5822
|
assert.strictEqual(oBinding.iCreatedContexts, 0, "unchanged");
|
|
5816
5823
|
assert.strictEqual(oBinding.bFirstCreateAtEnd, false);
|
|
5817
|
-
assert.strictEqual(oBinding.iMaxLength, 43);
|
|
5818
|
-
assert.deepEqual(oBinding.aContexts,
|
|
5819
|
-
["0", "1", oParentContext, oContext, {iIndex : 4}, undefined, {iIndex : 6}]);
|
|
5820
5824
|
});
|
|
5821
5825
|
});
|
|
5822
5826
|
|
|
@@ -5827,7 +5831,6 @@ sap.ui.define([
|
|
|
5827
5831
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
5828
5832
|
// too far :-(
|
|
5829
5833
|
oBinding.mParameters.$$aggregation = {expandTo : 2, hierarchyQualifier : "X"};
|
|
5830
|
-
oBinding.iMaxLength = 42;
|
|
5831
5834
|
this.mock(oBinding).expects("fetchResourcePath").withExactArgs()
|
|
5832
5835
|
.returns("~oCreatePathPromise~");
|
|
5833
5836
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs()
|
|
@@ -5841,7 +5844,6 @@ sap.ui.define([
|
|
|
5841
5844
|
this.mock(oBinding).expects("isTransient").twice().withExactArgs().returns(false);
|
|
5842
5845
|
this.mock(oBinding).expects("checkDeepCreate").never();
|
|
5843
5846
|
this.mock(oBinding).expects("isRelative").never();
|
|
5844
|
-
oBinding.aContexts.push({iIndex : 0}, undefined, {iIndex : 2});
|
|
5845
5847
|
this.mock(_Helper).expects("publicClone")
|
|
5846
5848
|
.withExactArgs(sinon.match.same(oInitialData), true).returns("~oEntityData~");
|
|
5847
5849
|
this.mock(oBinding).expects("lockGroup")
|
|
@@ -5862,8 +5864,8 @@ sap.ui.define([
|
|
|
5862
5864
|
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5863
5865
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5864
5866
|
.returns(SyncPromise.resolve()); //TODO
|
|
5865
|
-
this.mock(oBinding).expects("
|
|
5866
|
-
.withExactArgs(
|
|
5867
|
+
this.mock(oBinding).expects("insertContext")
|
|
5868
|
+
.withExactArgs(sinon.match.same(oContext), 0, false);
|
|
5867
5869
|
|
|
5868
5870
|
// code under test
|
|
5869
5871
|
assert.strictEqual(oBinding.create(oInitialData, true), oContext);
|
|
@@ -5871,9 +5873,94 @@ sap.ui.define([
|
|
|
5871
5873
|
assert.strictEqual(oBinding.iActiveContexts, 0, "unchanged");
|
|
5872
5874
|
assert.strictEqual(oBinding.iCreatedContexts, 0, "unchanged");
|
|
5873
5875
|
assert.strictEqual(oBinding.bFirstCreateAtEnd, false);
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5876
|
+
});
|
|
5877
|
+
});
|
|
5878
|
+
|
|
5879
|
+
//*********************************************************************************************
|
|
5880
|
+
[undefined, 42].forEach(function (iRank) {
|
|
5881
|
+
QUnit.test("create: recursive hierarchy, createInPlace, rank=" + iRank, function (assert) {
|
|
5882
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
5883
|
+
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
5884
|
+
// too far :-(
|
|
5885
|
+
oBinding.mParameters.$$aggregation = {createInPlace : true, hierarchyQualifier : "X"};
|
|
5886
|
+
this.mock(oBinding).expects("fetchResourcePath").withExactArgs()
|
|
5887
|
+
.returns("~oCreatePathPromise~");
|
|
5888
|
+
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs()
|
|
5889
|
+
.returns("~sGroupId~");
|
|
5890
|
+
this.mock(oBinding).expects("getResolvedPath").withExactArgs()
|
|
5891
|
+
.returns("~sResolvedPath~");
|
|
5892
|
+
const oHelperMock = this.mock(_Helper);
|
|
5893
|
+
oHelperMock.expects("uid").withExactArgs().returns("id-1-23");
|
|
5894
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
5895
|
+
oHelperMock.expects("isDataAggregation")
|
|
5896
|
+
.withExactArgs(sinon.match.same(oBinding.mParameters)).returns(false);
|
|
5897
|
+
this.mock(oBinding).expects("isTransient").twice().withExactArgs().returns(false);
|
|
5898
|
+
this.mock(oBinding).expects("checkDeepCreate").never();
|
|
5899
|
+
this.mock(oBinding).expects("isRelative").never();
|
|
5900
|
+
oHelperMock.expects("publicClone")
|
|
5901
|
+
.withExactArgs(undefined, true).returns("~oEntityData~");
|
|
5902
|
+
this.mock(oBinding).expects("lockGroup")
|
|
5903
|
+
.withExactArgs("~sGroupId~", true, true, sinon.match.func).returns("~oGroupLock~");
|
|
5904
|
+
const oContext = {
|
|
5905
|
+
destroy : mustBeMocked,
|
|
5906
|
+
fetchValue : mustBeMocked,
|
|
5907
|
+
setSelected : mustBeMocked,
|
|
5908
|
+
updateAfterCreate : mustBeMocked
|
|
5909
|
+
};
|
|
5910
|
+
const oCreatePromise = new SyncPromise((resolve) => {
|
|
5911
|
+
setTimeout(() => {
|
|
5912
|
+
oHelperMock.expects("getPrivateAnnotation")
|
|
5913
|
+
.withExactArgs("~oCreatedEntity~", "predicate")
|
|
5914
|
+
.returns("~sPredicate~");
|
|
5915
|
+
this.mock(oBinding).expects("adjustPredicate")
|
|
5916
|
+
.withExactArgs("($uid=id-1-23)", "~sPredicate~", sinon.match.same(oContext));
|
|
5917
|
+
this.mock(oBinding).expects("fireEvent")
|
|
5918
|
+
.withExactArgs("createCompleted",
|
|
5919
|
+
{context : sinon.match.same(oContext), success : true});
|
|
5920
|
+
oHelperMock.expects("getPrivateAnnotation")
|
|
5921
|
+
.withExactArgs("~oCreatedEntity~", "rank")
|
|
5922
|
+
.returns(iRank);
|
|
5923
|
+
this.mock(oContext).expects("destroy").exactly(iRank ? 0 : 1).withExactArgs();
|
|
5924
|
+
this.mock(oBinding).expects("insertContext").exactly(iRank ? 1 : 0)
|
|
5925
|
+
.withExactArgs(sinon.match.same(oContext), 42);
|
|
5926
|
+
oHelperMock.expects("getPrivateAnnotation").exactly(iRank ? 1 : 0)
|
|
5927
|
+
.withExactArgs("~oCreatedEntity~", "deepCreate").returns(false);
|
|
5928
|
+
oHelperMock.expects("deletePrivateAnnotation").exactly(iRank ? 1 : 0)
|
|
5929
|
+
.withExactArgs("~oCreatedEntity~", "deepCreate");
|
|
5930
|
+
this.mock(oBinding).expects("getGroupId").exactly(iRank ? 1 : 0)
|
|
5931
|
+
.withExactArgs().returns("~sGroupId~");
|
|
5932
|
+
this.mock(this.oModel).expects("isApiGroup").exactly(iRank ? 1 : 0)
|
|
5933
|
+
.withExactArgs("~sGroupId~").returns(false);
|
|
5934
|
+
this.mock(oContext).expects("updateAfterCreate").exactly(iRank ? 1 : 0)
|
|
5935
|
+
.withExactArgs(true, "~sGroupId~");
|
|
5936
|
+
|
|
5937
|
+
resolve("~oCreatedEntity~");
|
|
5938
|
+
}, 0);
|
|
5939
|
+
});
|
|
5940
|
+
this.mock(oBinding).expects("createInCache")
|
|
5941
|
+
.withExactArgs("~oGroupLock~", "~oCreatePathPromise~", "~sResolvedPath~",
|
|
5942
|
+
sinon.match(rTransientPredicate), "~oEntityData~",
|
|
5943
|
+
false, sinon.match.func, sinon.match.func)
|
|
5944
|
+
.returns(oCreatePromise);
|
|
5945
|
+
this.mock(Context).expects("create")
|
|
5946
|
+
.withExactArgs(sinon.match.same(this.oModel), sinon.match.same(oBinding),
|
|
5947
|
+
"~sResolvedPath~($uid=id-1-23)", /*iIndex*/undefined,
|
|
5948
|
+
sinon.match.instanceOf(SyncPromise), undefined)
|
|
5949
|
+
.returns(oContext);
|
|
5950
|
+
this.mock(oBinding.oHeaderContext).expects("isSelected")
|
|
5951
|
+
.withExactArgs().returns("~selected~");
|
|
5952
|
+
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5953
|
+
this.mock(oContext).expects("fetchValue").never();
|
|
5954
|
+
this.mock(oBinding).expects("_fireChange").never();
|
|
5955
|
+
|
|
5956
|
+
// code under test
|
|
5957
|
+
assert.strictEqual(oBinding.create(/*oInitialData*/ undefined, true), oContext);
|
|
5958
|
+
|
|
5959
|
+
assert.strictEqual(oBinding.iActiveContexts, 0, "unchanged");
|
|
5960
|
+
assert.strictEqual(oBinding.iCreatedContexts, 0, "unchanged");
|
|
5961
|
+
assert.strictEqual(oBinding.bFirstCreateAtEnd, false);
|
|
5962
|
+
|
|
5963
|
+
return oCreatePromise;
|
|
5877
5964
|
});
|
|
5878
5965
|
});
|
|
5879
5966
|
|
|
@@ -11032,7 +11119,7 @@ sap.ui.define([
|
|
|
11032
11119
|
[false, true].forEach((bIsExpanded) => {
|
|
11033
11120
|
[1, 4].forEach((iCount) => {
|
|
11034
11121
|
[false, true].forEach((bMakeRoot) => {
|
|
11035
|
-
[23, 42
|
|
11122
|
+
[23, 42].forEach((iNewIndex) => {
|
|
11036
11123
|
const sTitle = `move: expanded=${bIsExpanded}, child nodes added=${iCount},
|
|
11037
11124
|
make root=${bMakeRoot}, new index=${iNewIndex}`;
|
|
11038
11125
|
|
|
@@ -11058,6 +11145,7 @@ sap.ui.define([
|
|
|
11058
11145
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11059
11146
|
// too far :-(
|
|
11060
11147
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11148
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11061
11149
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11062
11150
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11063
11151
|
.returns("~oGroupLock~");
|
|
@@ -11086,6 +11174,10 @@ sap.ui.define([
|
|
|
11086
11174
|
this.mock(oChildContext).expects("getModelIndex").withExactArgs()
|
|
11087
11175
|
.returns(iOldIndex);
|
|
11088
11176
|
oBinding.aContexts[iOldIndex] = oChildContext;
|
|
11177
|
+
this.mock(_Helper).expects("insert")
|
|
11178
|
+
.withExactArgs(sinon.match.same(oBinding.aContexts), iNewIndex,
|
|
11179
|
+
sinon.match.same(oChildContext))
|
|
11180
|
+
.callThrough(); // needed for "setIndices"
|
|
11089
11181
|
this.mock(oBinding).expects("expand").exactly(bIsExpanded ? 1 : 0)
|
|
11090
11182
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
11091
11183
|
.returns(SyncPromise.resolve());
|
|
@@ -11151,6 +11243,7 @@ sap.ui.define([
|
|
|
11151
11243
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11152
11244
|
this.mock(oBinding).expects("collapse").never();
|
|
11153
11245
|
this.mock(oBinding).expects("expand").never();
|
|
11246
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11154
11247
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11155
11248
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11156
11249
|
.returns("~oGroupLock~");
|
|
@@ -11199,6 +11292,7 @@ sap.ui.define([
|
|
|
11199
11292
|
// too far :-(
|
|
11200
11293
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11201
11294
|
this.mock(oBinding).expects("collapse").never();
|
|
11295
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11202
11296
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11203
11297
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11204
11298
|
.returns("~oGroupLock~");
|
|
@@ -11231,6 +11325,7 @@ sap.ui.define([
|
|
|
11231
11325
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11232
11326
|
// too far :-(
|
|
11233
11327
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11328
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11234
11329
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11235
11330
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11236
11331
|
.returns("~oGroupLock~");
|
|
@@ -11247,6 +11342,9 @@ sap.ui.define([
|
|
|
11247
11342
|
this.mock(oBinding).expects("collapse")
|
|
11248
11343
|
.withExactArgs(sinon.match.same(oChildContext), true, "~iCollapseCount~");
|
|
11249
11344
|
this.mock(oChildContext).expects("getModelIndex").withExactArgs().returns(43);
|
|
11345
|
+
this.mock(_Helper).expects("insert")
|
|
11346
|
+
.withExactArgs(sinon.match.same(oBinding.aContexts), 43,
|
|
11347
|
+
sinon.match.same(oChildContext));
|
|
11250
11348
|
this.mock(oBinding).expects("expand")
|
|
11251
11349
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
11252
11350
|
.returns(SyncPromise.reject("~error~"));
|
|
@@ -11834,6 +11932,95 @@ sap.ui.define([
|
|
|
11834
11932
|
assert.strictEqual(ODataListBinding.isBelowAggregation(oContext), true);
|
|
11835
11933
|
});
|
|
11836
11934
|
|
|
11935
|
+
//*********************************************************************************************
|
|
11936
|
+
QUnit.test("requestSibling: Missing recursive hierarchy", function (assert) {
|
|
11937
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
11938
|
+
this.mock(oBinding).expects("checkSuspended").never();
|
|
11939
|
+
|
|
11940
|
+
assert.throws(function () {
|
|
11941
|
+
// code under test
|
|
11942
|
+
oBinding.requestSibling();
|
|
11943
|
+
}, new Error("Missing recursive hierarchy"));
|
|
11944
|
+
|
|
11945
|
+
oBinding.mParameters = {$$aggregation : {}};
|
|
11946
|
+
|
|
11947
|
+
assert.throws(function () {
|
|
11948
|
+
// code under test
|
|
11949
|
+
oBinding.requestSibling();
|
|
11950
|
+
}, new Error("Missing recursive hierarchy"));
|
|
11951
|
+
});
|
|
11952
|
+
|
|
11953
|
+
//*********************************************************************************************
|
|
11954
|
+
QUnit.test("requestSibling: Unsupported context", function (assert) {
|
|
11955
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
11956
|
+
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11957
|
+
// too far :-(
|
|
11958
|
+
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11959
|
+
const oNode = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
|
|
11960
|
+
oBinding.aContexts[41] = oNode; // wrong index
|
|
11961
|
+
this.mock(oBinding).expects("checkSuspended").never();
|
|
11962
|
+
|
|
11963
|
+
assert.throws(function () {
|
|
11964
|
+
// code under test
|
|
11965
|
+
oBinding.requestSibling(oNode);
|
|
11966
|
+
}, new Error("Unsupported context: " + oNode));
|
|
11967
|
+
});
|
|
11968
|
+
|
|
11969
|
+
//*********************************************************************************************
|
|
11970
|
+
QUnit.test("requestSibling: null", async function (assert) {
|
|
11971
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
11972
|
+
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11973
|
+
// too far :-(
|
|
11974
|
+
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11975
|
+
const oNode = {iIndex : "~iIndex~"};
|
|
11976
|
+
oBinding.aContexts["~iIndex~"] = oNode;
|
|
11977
|
+
const oCheckSuspendedExpectation
|
|
11978
|
+
= this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11979
|
+
const oCache = {
|
|
11980
|
+
getSiblingIndex : mustBeMocked
|
|
11981
|
+
};
|
|
11982
|
+
oBinding.oCache = oCache;
|
|
11983
|
+
const oGetSiblingIndexExpectation = this.mock(oCache).expects("getSiblingIndex")
|
|
11984
|
+
.withExactArgs("~iIndex~", "~iOffset~").returns(-1);
|
|
11985
|
+
this.mock(oBinding).expects("requestContexts").never();
|
|
11986
|
+
|
|
11987
|
+
// code under test
|
|
11988
|
+
const oPromise = oBinding.requestSibling(oNode, "~iOffset~");
|
|
11989
|
+
|
|
11990
|
+
sinon.assert.callOrder(oCheckSuspendedExpectation, oGetSiblingIndexExpectation);
|
|
11991
|
+
assert.ok(oPromise instanceof Promise);
|
|
11992
|
+
assert.strictEqual(await oPromise, null);
|
|
11993
|
+
});
|
|
11994
|
+
|
|
11995
|
+
//*********************************************************************************************
|
|
11996
|
+
[0, 1, 42].forEach((iIndex) => {
|
|
11997
|
+
QUnit.test(`requestSibling: non-null, index = ${iIndex}`, async function (assert) {
|
|
11998
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
11999
|
+
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
12000
|
+
// too far :-(
|
|
12001
|
+
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
12002
|
+
const oNode = {iIndex : "~iIndex~"};
|
|
12003
|
+
oBinding.aContexts["~iIndex~"] = oNode;
|
|
12004
|
+
const oCheckSuspendedExpectation
|
|
12005
|
+
= this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
12006
|
+
const oCache = {
|
|
12007
|
+
getSiblingIndex : mustBeMocked
|
|
12008
|
+
};
|
|
12009
|
+
oBinding.oCache = oCache;
|
|
12010
|
+
const oGetSiblingIndexExpectation = this.mock(oCache).expects("getSiblingIndex")
|
|
12011
|
+
.withExactArgs("~iIndex~", "~iOffset~").returns(iIndex);
|
|
12012
|
+
this.mock(oBinding).expects("requestContexts").withExactArgs(iIndex, 1)
|
|
12013
|
+
.resolves(["~oSiblingContext~"]);
|
|
12014
|
+
|
|
12015
|
+
// code under test
|
|
12016
|
+
const oPromise = oBinding.requestSibling(oNode, "~iOffset~");
|
|
12017
|
+
|
|
12018
|
+
sinon.assert.callOrder(oCheckSuspendedExpectation, oGetSiblingIndexExpectation);
|
|
12019
|
+
assert.ok(oPromise instanceof Promise);
|
|
12020
|
+
assert.strictEqual(await oPromise, "~oSiblingContext~");
|
|
12021
|
+
});
|
|
12022
|
+
});
|
|
12023
|
+
|
|
11837
12024
|
//*********************************************************************************************
|
|
11838
12025
|
QUnit.test("setResetViaSideEffects ", function (assert) {
|
|
11839
12026
|
const oBinding = this.bindList("/SalesOrderList");
|
|
@@ -11852,6 +12039,89 @@ sap.ui.define([
|
|
|
11852
12039
|
oBinding.setResetViaSideEffects(true);
|
|
11853
12040
|
assert.strictEqual(oBinding.bResetViaSideEffects, false, "true must not win over false");
|
|
11854
12041
|
});
|
|
12042
|
+
|
|
12043
|
+
//*********************************************************************************************
|
|
12044
|
+
QUnit.test("insertContext: use index", function (assert) {
|
|
12045
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
12046
|
+
oBinding.aContexts = [
|
|
12047
|
+
{iIndex : 0, sName : "foo"},
|
|
12048
|
+
{iIndex : 1, sName : "bar"},
|
|
12049
|
+
undefined,
|
|
12050
|
+
{iIndex : 2, sName : "baz"}
|
|
12051
|
+
];
|
|
12052
|
+
oBinding.iMaxLength = 42;
|
|
12053
|
+
|
|
12054
|
+
this.mock(oBinding).expects("_fireChange").twice()
|
|
12055
|
+
.withExactArgs({reason : ChangeReason.Add});
|
|
12056
|
+
|
|
12057
|
+
// code under test
|
|
12058
|
+
oBinding.insertContext({sName : "created0"}, 1);
|
|
12059
|
+
|
|
12060
|
+
assert.strictEqual(oBinding.iMaxLength, 43);
|
|
12061
|
+
assert.deepEqual(oBinding.aContexts, [
|
|
12062
|
+
{iIndex : 0, sName : "foo"},
|
|
12063
|
+
{sName : "created0"},
|
|
12064
|
+
{iIndex : 2, sName : "bar"},
|
|
12065
|
+
undefined,
|
|
12066
|
+
{iIndex : 3, sName : "baz"}
|
|
12067
|
+
]);
|
|
12068
|
+
|
|
12069
|
+
// code under test
|
|
12070
|
+
oBinding.insertContext({sName : "created1"}, 6);
|
|
12071
|
+
|
|
12072
|
+
assert.strictEqual(oBinding.iMaxLength, 44);
|
|
12073
|
+
assert.deepEqual(oBinding.aContexts, [
|
|
12074
|
+
{iIndex : 0, sName : "foo"},
|
|
12075
|
+
{sName : "created0"},
|
|
12076
|
+
{iIndex : 2, sName : "bar"},
|
|
12077
|
+
undefined,
|
|
12078
|
+
{iIndex : 3, sName : "baz"},
|
|
12079
|
+
undefined,
|
|
12080
|
+
{sName : "created1"}
|
|
12081
|
+
]);
|
|
12082
|
+
});
|
|
12083
|
+
|
|
12084
|
+
//*********************************************************************************************
|
|
12085
|
+
[false, true].forEach(function (bAtEnd, i) {
|
|
12086
|
+
QUnit.test("insertContext: add to creation area #" + i, function (assert) {
|
|
12087
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
12088
|
+
oBinding.aContexts = [
|
|
12089
|
+
{iIndex : -1, sName : "created0"},
|
|
12090
|
+
{iIndex : 0, sName : "foo"},
|
|
12091
|
+
{iIndex : 1, sName : "bar"}
|
|
12092
|
+
];
|
|
12093
|
+
oBinding.bFirstCreateAtEnd = bAtEnd;
|
|
12094
|
+
oBinding.iMaxLength = 23;
|
|
12095
|
+
|
|
12096
|
+
this.mock(oBinding).expects("_fireChange").twice()
|
|
12097
|
+
.withExactArgs({reason : ChangeReason.Add});
|
|
12098
|
+
|
|
12099
|
+
// code under test: insert at beginning of aContexts
|
|
12100
|
+
oBinding.insertContext({iIndex : -2, sName : "created1"}, /*iIndex*/undefined, bAtEnd);
|
|
12101
|
+
|
|
12102
|
+
assert.strictEqual(oBinding.iMaxLength, 23, "unchanged");
|
|
12103
|
+
assert.deepEqual(oBinding.aContexts, [
|
|
12104
|
+
{iIndex : -2, sName : "created1"},
|
|
12105
|
+
{iIndex : -1, sName : "created0"},
|
|
12106
|
+
{iIndex : 0, sName : "foo"},
|
|
12107
|
+
{iIndex : 1, sName : "bar"}
|
|
12108
|
+
]);
|
|
12109
|
+
|
|
12110
|
+
oBinding.iCreatedContexts = 3; // creation area increases to a third item
|
|
12111
|
+
|
|
12112
|
+
// code under test: insert at end of creation area; adjusting indices
|
|
12113
|
+
oBinding.insertContext({iIndex : -3, sName : "created2"}, /*iIndex*/undefined, !bAtEnd);
|
|
12114
|
+
|
|
12115
|
+
assert.strictEqual(oBinding.iMaxLength, 23, "unchanged");
|
|
12116
|
+
assert.deepEqual(oBinding.aContexts, [
|
|
12117
|
+
{iIndex : -3, sName : "created1"},
|
|
12118
|
+
{iIndex : -2, sName : "created0"},
|
|
12119
|
+
{iIndex : -1, sName : "created2"},
|
|
12120
|
+
{iIndex : 0, sName : "foo"},
|
|
12121
|
+
{iIndex : 1, sName : "bar"}
|
|
12122
|
+
]);
|
|
12123
|
+
});
|
|
12124
|
+
});
|
|
11855
12125
|
});
|
|
11856
12126
|
|
|
11857
12127
|
//TODO integration: 2 entity sets with same $expand, but different $select
|