@openui5/sap.ui.core 1.124.1 → 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 +6 -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 +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 +23 -16
- 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/theming/Parameters.js +2 -2
- 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 +45 -13
- package/src/sap/ui/model/odata/v4/ODataBinding.js +20 -20
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +68 -68
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +283 -212
- 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 -202
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +90 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +38 -42
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +93 -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 +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/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 +0 -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/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 +148 -1
- 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 +54 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +277 -15
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +580 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +268 -5
- 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 +4 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +61 -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/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 -21
- 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
|
@@ -6552,7 +6552,7 @@ sap.ui.define([
|
|
|
6552
6552
|
//*********************************************************************************************
|
|
6553
6553
|
[false, true].forEach(function (bAll) {
|
|
6554
6554
|
[false, true].forEach(function (bDeleteCreatedEntities) {
|
|
6555
|
-
var sTitle = "
|
|
6555
|
+
var sTitle = "_resetChanges: no paths; bAll=" + bAll + ", bDeleteCreatedEntities="
|
|
6556
6556
|
+ bDeleteCreatedEntities;
|
|
6557
6557
|
|
|
6558
6558
|
QUnit.test(sTitle, function (assert) {
|
|
@@ -6602,7 +6602,7 @@ sap.ui.define([
|
|
|
6602
6602
|
|
|
6603
6603
|
// code under test
|
|
6604
6604
|
assert.strictEqual(
|
|
6605
|
-
ODataModel.prototype.
|
|
6605
|
+
ODataModel.prototype._resetChanges.call(oModel, undefined, bAll, bDeleteCreatedEntities),
|
|
6606
6606
|
oPromise);
|
|
6607
6607
|
|
|
6608
6608
|
oModelMock.expects("abortInternalRequest").withExactArgs("deferred0").exactly(bAll ? 1 : 0);
|
|
@@ -6623,7 +6623,7 @@ sap.ui.define([
|
|
|
6623
6623
|
{bDeleteEntity : undefined, oQuxMetadata : {}},
|
|
6624
6624
|
{bDeleteEntity : bDeleteCreatedEntities, oQuxMetadata : {created : {}}}
|
|
6625
6625
|
].forEach(function (oFixture) {
|
|
6626
|
-
var sTitle = "
|
|
6626
|
+
var sTitle = "_resetChanges: with paths; bAll=" + bAll + ", bDeleteCreatedEntities="
|
|
6627
6627
|
+ bDeleteCreatedEntities + ", oMetadata=" + JSON.stringify(oFixture.oQuxMetadata);
|
|
6628
6628
|
|
|
6629
6629
|
QUnit.test(sTitle, function (assert) {
|
|
@@ -6738,7 +6738,7 @@ sap.ui.define([
|
|
|
6738
6738
|
|
|
6739
6739
|
// code under test
|
|
6740
6740
|
assert.strictEqual(
|
|
6741
|
-
ODataModel.prototype.
|
|
6741
|
+
ODataModel.prototype._resetChanges.call(oModel,
|
|
6742
6742
|
["/Z", "/Z/Y/X", "/Bar/P", "/Baz", "/Bar/Q/X", "/Qux", "/Foo/S"],
|
|
6743
6743
|
bAll, bDeleteCreatedEntities),
|
|
6744
6744
|
oPromise);
|
|
@@ -6778,7 +6778,7 @@ sap.ui.define([
|
|
|
6778
6778
|
});
|
|
6779
6779
|
|
|
6780
6780
|
//*********************************************************************************************
|
|
6781
|
-
QUnit.test("
|
|
6781
|
+
QUnit.test("_resetChanges: calls oBinding._resetChanges", function (assert) {
|
|
6782
6782
|
var oBinding1 = {_resetChanges : function () {}},
|
|
6783
6783
|
oBinding2 = {_resetChanges : function () {}},
|
|
6784
6784
|
oModel = {
|
|
@@ -6797,10 +6797,59 @@ sap.ui.define([
|
|
|
6797
6797
|
this.mock(oModel).expects("checkUpdate").withExactArgs(true);
|
|
6798
6798
|
|
|
6799
6799
|
// code under test
|
|
6800
|
-
assert.strictEqual(ODataModel.prototype.
|
|
6800
|
+
assert.strictEqual(ODataModel.prototype._resetChanges.call(oModel, aPath),
|
|
6801
6801
|
"~pMetaDataLoaded");
|
|
6802
6802
|
});
|
|
6803
6803
|
|
|
6804
|
+
|
|
6805
|
+
//*********************************************************************************************
|
|
6806
|
+
QUnit.test("_resetChanges: with bForceUpdate=false", function (assert) {
|
|
6807
|
+
const oModel = {
|
|
6808
|
+
oMetadata : {loaded() {}},
|
|
6809
|
+
checkUpdate() {},
|
|
6810
|
+
getBindings() {}
|
|
6811
|
+
};
|
|
6812
|
+
|
|
6813
|
+
this.mock(oModel.oMetadata).expects("loaded").withExactArgs().returns("~pMetaDataLoaded");
|
|
6814
|
+
this.mock(oModel).expects("getBindings").withExactArgs().returns([]);
|
|
6815
|
+
this.mock(oModel).expects("checkUpdate").withExactArgs(false);
|
|
6816
|
+
|
|
6817
|
+
// code under test
|
|
6818
|
+
assert.strictEqual(ODataModel.prototype._resetChanges.call(oModel, /*aPath*/ undefined, /*bAll*/ undefined,
|
|
6819
|
+
/*bDeleteCreatedEntities*/ undefined, /*bForceUpdate*/ false), "~pMetaDataLoaded");
|
|
6820
|
+
});
|
|
6821
|
+
|
|
6822
|
+
//*********************************************************************************************
|
|
6823
|
+
QUnit.test("resetChanges delegates to _resetChanges", function (assert) {
|
|
6824
|
+
const oModel = {
|
|
6825
|
+
_resetChanges() {}
|
|
6826
|
+
};
|
|
6827
|
+
|
|
6828
|
+
this.mock(oModel).expects("_resetChanges")
|
|
6829
|
+
.withExactArgs("~aPath", "~bAll", "~bDeleteCreated")
|
|
6830
|
+
.returns("~pReturn");
|
|
6831
|
+
|
|
6832
|
+
// code under test
|
|
6833
|
+
assert.strictEqual(ODataModel.prototype.resetChanges.call(oModel, "~aPath", "~bAll", "~bDeleteCreated"),
|
|
6834
|
+
"~pReturn");
|
|
6835
|
+
});
|
|
6836
|
+
|
|
6837
|
+
//*********************************************************************************************
|
|
6838
|
+
QUnit.test("resetChangesWithoutUpdate delegates to _resetChanges", function (assert) {
|
|
6839
|
+
const oModel = {
|
|
6840
|
+
_resetChanges() {}
|
|
6841
|
+
};
|
|
6842
|
+
|
|
6843
|
+
this.mock(oModel).expects("_resetChanges")
|
|
6844
|
+
.withExactArgs("~aPath", "~bAll", "~bDeleteCreated", false)
|
|
6845
|
+
.returns("~pReturn");
|
|
6846
|
+
|
|
6847
|
+
// code under test
|
|
6848
|
+
assert.strictEqual(
|
|
6849
|
+
ODataModel.prototype.resetChangesWithoutUpdate.call(oModel, "~aPath", "~bAll", "~bDeleteCreated"),
|
|
6850
|
+
"~pReturn");
|
|
6851
|
+
});
|
|
6852
|
+
|
|
6804
6853
|
//*********************************************************************************************
|
|
6805
6854
|
[true, false].forEach(function (bDeleteEntity) {
|
|
6806
6855
|
[
|
|
@@ -1678,6 +1678,20 @@
|
|
|
1678
1678
|
</Annotation>
|
|
1679
1679
|
<Annotation Term="SAP__common.ValueListWithFixedValues" />
|
|
1680
1680
|
</Annotations>
|
|
1681
|
+
<Annotations Target="GWSAMPLE_BASIC.SalesOrder/Note" xmlns="http://docs.oasis-open.org/odata/ns/edm">
|
|
1682
|
+
<!-- Note: parameters are URI encoded, e.g.
|
|
1683
|
+
urn:sap-com:documentation:key?=type=DTEL&id=%2fiwbep%2faccount&origin=G1Y_000-->
|
|
1684
|
+
<Annotation Term="SAP__common.DocumentationRef"
|
|
1685
|
+
String="urn:sap-com:documentation:key?=type=DTEL&id=NOTE&origin=MyOrigin"/>
|
|
1686
|
+
</Annotations>
|
|
1687
|
+
<Annotations Target="GWSAMPLE_BASIC.SalesOrder/GrossAmount" xmlns="http://docs.oasis-open.org/odata/ns/edm">
|
|
1688
|
+
<Annotation Term="SAP__common.DocumentationRef"
|
|
1689
|
+
String="urn:sap-com:documentation:key?=type=DTEL&id=GROSSAMOUNT"/>
|
|
1690
|
+
</Annotations>
|
|
1691
|
+
<Annotations Target="GWSAMPLE_BASIC.SalesOrder/CurrencyCode" xmlns="http://docs.oasis-open.org/odata/ns/edm">
|
|
1692
|
+
<Annotation Term="SAP__common.DocumentationRef"
|
|
1693
|
+
String="urn:sap-com:documentation:key?=type=DTEL&id=%2fFOO%2fCURRENCY"/>
|
|
1694
|
+
</Annotations>
|
|
1681
1695
|
<atom:link rel="self"
|
|
1682
1696
|
href="/sap/opu/odata/sap/ZUI5_GWSAMPLE_BASIC/$metadata"
|
|
1683
1697
|
xmlns:atom="http://www.w3.org/2005/Atom" />
|
|
@@ -4964,6 +4964,60 @@ sap.ui.define([
|
|
|
4964
4964
|
}, "~oError~");
|
|
4965
4965
|
});
|
|
4966
4966
|
|
|
4967
|
+
//*********************************************************************************************
|
|
4968
|
+
[-2, +2, -3, +3, 0].forEach((iOffset) => {
|
|
4969
|
+
QUnit.test(`requestSibling: unsupported offset ${iOffset}`, function (assert) {
|
|
4970
|
+
const oContext = Context.create({/*oModel*/}, {/*oBinding*/}, "/EMPLOYEES('42')", 42);
|
|
4971
|
+
|
|
4972
|
+
assert.throws(function () {
|
|
4973
|
+
// code under test
|
|
4974
|
+
oContext.requestSibling(iOffset);
|
|
4975
|
+
}, new Error("Unsupported offset: " + iOffset));
|
|
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);
|
|
4995
|
+
|
|
4996
|
+
assert.throws(function () {
|
|
4997
|
+
// code under test
|
|
4998
|
+
oContext.requestSibling();
|
|
4999
|
+
}, new Error("Unsupported context: ~toString~"));
|
|
5000
|
+
});
|
|
5001
|
+
|
|
5002
|
+
//*********************************************************************************************
|
|
5003
|
+
[{in : undefined, out : +1}, {in : +1, out : +1}, {in : -1, out : -1}].forEach((oFixture, i) => {
|
|
5004
|
+
QUnit.test("requestSibling: #" + i, function (assert) {
|
|
5005
|
+
const oBinding = {
|
|
5006
|
+
requestSibling : mustBeMocked
|
|
5007
|
+
};
|
|
5008
|
+
const oContext = Context.create({/*oModel*/}, oBinding, "/EMPLOYEES('42')", 42);
|
|
5009
|
+
// also called by SinonJS, would call #isDeleted etc. :-(
|
|
5010
|
+
oContext.toString = function () { return "n/a"; };
|
|
5011
|
+
this.mock(oContext).expects("isDeleted").withExactArgs().returns(false);
|
|
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~");
|
|
5015
|
+
|
|
5016
|
+
// code under test
|
|
5017
|
+
assert.strictEqual(oContext.requestSibling(oFixture.in), "~result~");
|
|
5018
|
+
});
|
|
5019
|
+
});
|
|
5020
|
+
|
|
4967
5021
|
//*********************************************************************************************
|
|
4968
5022
|
[0, 1].forEach(function (iFailureIndex) {
|
|
4969
5023
|
QUnit.test("updateAfterCreate, fail=" + iFailureIndex, function () {
|
|
@@ -5767,7 +5767,6 @@ sap.ui.define([
|
|
|
5767
5767
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
5768
5768
|
// too far :-(
|
|
5769
5769
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
5770
|
-
oBinding.iMaxLength = 42;
|
|
5771
5770
|
this.mock(oBinding).expects("fetchResourcePath").withExactArgs()
|
|
5772
5771
|
.returns("~oCreatePathPromise~");
|
|
5773
5772
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs()
|
|
@@ -5785,7 +5784,7 @@ sap.ui.define([
|
|
|
5785
5784
|
getCanonicalPath : mustBeMocked,
|
|
5786
5785
|
isExpanded : mustBeMocked
|
|
5787
5786
|
};
|
|
5788
|
-
oBinding.aContexts
|
|
5787
|
+
oBinding.aContexts[2] = oParentContext;
|
|
5789
5788
|
const oInitialData = {"@$ui5.node.parent" : oParentContext};
|
|
5790
5789
|
const oEntityData = {};
|
|
5791
5790
|
this.mock(_Helper).expects("publicClone")
|
|
@@ -5813,8 +5812,8 @@ sap.ui.define([
|
|
|
5813
5812
|
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5814
5813
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5815
5814
|
.returns(SyncPromise.resolve()); //TODO
|
|
5816
|
-
this.mock(oBinding).expects("
|
|
5817
|
-
.withExactArgs(
|
|
5815
|
+
this.mock(oBinding).expects("insertContext")
|
|
5816
|
+
.withExactArgs(sinon.match.same(oContext), 3, false);
|
|
5818
5817
|
|
|
5819
5818
|
// code under test
|
|
5820
5819
|
assert.strictEqual(oBinding.create(oInitialData, true), oContext);
|
|
@@ -5822,9 +5821,6 @@ sap.ui.define([
|
|
|
5822
5821
|
assert.strictEqual(oBinding.iActiveContexts, 0, "unchanged");
|
|
5823
5822
|
assert.strictEqual(oBinding.iCreatedContexts, 0, "unchanged");
|
|
5824
5823
|
assert.strictEqual(oBinding.bFirstCreateAtEnd, false);
|
|
5825
|
-
assert.strictEqual(oBinding.iMaxLength, 43);
|
|
5826
|
-
assert.deepEqual(oBinding.aContexts,
|
|
5827
|
-
["0", "1", oParentContext, oContext, {iIndex : 4}, undefined, {iIndex : 6}]);
|
|
5828
5824
|
});
|
|
5829
5825
|
});
|
|
5830
5826
|
|
|
@@ -5835,7 +5831,6 @@ sap.ui.define([
|
|
|
5835
5831
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
5836
5832
|
// too far :-(
|
|
5837
5833
|
oBinding.mParameters.$$aggregation = {expandTo : 2, hierarchyQualifier : "X"};
|
|
5838
|
-
oBinding.iMaxLength = 42;
|
|
5839
5834
|
this.mock(oBinding).expects("fetchResourcePath").withExactArgs()
|
|
5840
5835
|
.returns("~oCreatePathPromise~");
|
|
5841
5836
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs()
|
|
@@ -5849,7 +5844,6 @@ sap.ui.define([
|
|
|
5849
5844
|
this.mock(oBinding).expects("isTransient").twice().withExactArgs().returns(false);
|
|
5850
5845
|
this.mock(oBinding).expects("checkDeepCreate").never();
|
|
5851
5846
|
this.mock(oBinding).expects("isRelative").never();
|
|
5852
|
-
oBinding.aContexts.push({iIndex : 0}, undefined, {iIndex : 2});
|
|
5853
5847
|
this.mock(_Helper).expects("publicClone")
|
|
5854
5848
|
.withExactArgs(sinon.match.same(oInitialData), true).returns("~oEntityData~");
|
|
5855
5849
|
this.mock(oBinding).expects("lockGroup")
|
|
@@ -5870,8 +5864,8 @@ sap.ui.define([
|
|
|
5870
5864
|
this.mock(oContext).expects("setSelected").withExactArgs("~selected~");
|
|
5871
5865
|
this.mock(oContext).expects("fetchValue").withExactArgs()
|
|
5872
5866
|
.returns(SyncPromise.resolve()); //TODO
|
|
5873
|
-
this.mock(oBinding).expects("
|
|
5874
|
-
.withExactArgs(
|
|
5867
|
+
this.mock(oBinding).expects("insertContext")
|
|
5868
|
+
.withExactArgs(sinon.match.same(oContext), 0, false);
|
|
5875
5869
|
|
|
5876
5870
|
// code under test
|
|
5877
5871
|
assert.strictEqual(oBinding.create(oInitialData, true), oContext);
|
|
@@ -5879,9 +5873,94 @@ sap.ui.define([
|
|
|
5879
5873
|
assert.strictEqual(oBinding.iActiveContexts, 0, "unchanged");
|
|
5880
5874
|
assert.strictEqual(oBinding.iCreatedContexts, 0, "unchanged");
|
|
5881
5875
|
assert.strictEqual(oBinding.bFirstCreateAtEnd, false);
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
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;
|
|
5885
5964
|
});
|
|
5886
5965
|
});
|
|
5887
5966
|
|
|
@@ -11040,7 +11119,7 @@ sap.ui.define([
|
|
|
11040
11119
|
[false, true].forEach((bIsExpanded) => {
|
|
11041
11120
|
[1, 4].forEach((iCount) => {
|
|
11042
11121
|
[false, true].forEach((bMakeRoot) => {
|
|
11043
|
-
[23, 42
|
|
11122
|
+
[23, 42].forEach((iNewIndex) => {
|
|
11044
11123
|
const sTitle = `move: expanded=${bIsExpanded}, child nodes added=${iCount},
|
|
11045
11124
|
make root=${bMakeRoot}, new index=${iNewIndex}`;
|
|
11046
11125
|
|
|
@@ -11066,6 +11145,7 @@ sap.ui.define([
|
|
|
11066
11145
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11067
11146
|
// too far :-(
|
|
11068
11147
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11148
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11069
11149
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11070
11150
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11071
11151
|
.returns("~oGroupLock~");
|
|
@@ -11094,6 +11174,10 @@ sap.ui.define([
|
|
|
11094
11174
|
this.mock(oChildContext).expects("getModelIndex").withExactArgs()
|
|
11095
11175
|
.returns(iOldIndex);
|
|
11096
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"
|
|
11097
11181
|
this.mock(oBinding).expects("expand").exactly(bIsExpanded ? 1 : 0)
|
|
11098
11182
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
11099
11183
|
.returns(SyncPromise.resolve());
|
|
@@ -11159,6 +11243,7 @@ sap.ui.define([
|
|
|
11159
11243
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11160
11244
|
this.mock(oBinding).expects("collapse").never();
|
|
11161
11245
|
this.mock(oBinding).expects("expand").never();
|
|
11246
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11162
11247
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11163
11248
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11164
11249
|
.returns("~oGroupLock~");
|
|
@@ -11207,6 +11292,7 @@ sap.ui.define([
|
|
|
11207
11292
|
// too far :-(
|
|
11208
11293
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11209
11294
|
this.mock(oBinding).expects("collapse").never();
|
|
11295
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11210
11296
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11211
11297
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11212
11298
|
.returns("~oGroupLock~");
|
|
@@ -11239,6 +11325,7 @@ sap.ui.define([
|
|
|
11239
11325
|
// Note: autoExpandSelect at model would be required for hierarchyQualifier, but that leads
|
|
11240
11326
|
// too far :-(
|
|
11241
11327
|
oBinding.mParameters.$$aggregation = {hierarchyQualifier : "X"};
|
|
11328
|
+
this.mock(oBinding).expects("checkSuspended").withExactArgs();
|
|
11242
11329
|
this.mock(oBinding).expects("getUpdateGroupId").withExactArgs().returns("~group~");
|
|
11243
11330
|
this.mock(oBinding).expects("lockGroup").withExactArgs("~group~", true, true)
|
|
11244
11331
|
.returns("~oGroupLock~");
|
|
@@ -11255,6 +11342,9 @@ sap.ui.define([
|
|
|
11255
11342
|
this.mock(oBinding).expects("collapse")
|
|
11256
11343
|
.withExactArgs(sinon.match.same(oChildContext), true, "~iCollapseCount~");
|
|
11257
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));
|
|
11258
11348
|
this.mock(oBinding).expects("expand")
|
|
11259
11349
|
.withExactArgs(sinon.match.same(oChildContext))
|
|
11260
11350
|
.returns(SyncPromise.reject("~error~"));
|
|
@@ -11842,6 +11932,95 @@ sap.ui.define([
|
|
|
11842
11932
|
assert.strictEqual(ODataListBinding.isBelowAggregation(oContext), true);
|
|
11843
11933
|
});
|
|
11844
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
|
+
|
|
11845
12024
|
//*********************************************************************************************
|
|
11846
12025
|
QUnit.test("setResetViaSideEffects ", function (assert) {
|
|
11847
12026
|
const oBinding = this.bindList("/SalesOrderList");
|
|
@@ -11860,6 +12039,89 @@ sap.ui.define([
|
|
|
11860
12039
|
oBinding.setResetViaSideEffects(true);
|
|
11861
12040
|
assert.strictEqual(oBinding.bResetViaSideEffects, false, "true must not win over false");
|
|
11862
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
|
+
});
|
|
11863
12125
|
});
|
|
11864
12126
|
|
|
11865
12127
|
//TODO integration: 2 entity sets with same $expand, but different $select
|